Я пытаюсь добавить пользовательские заголовки HTTP на веб-серверы Axis 1.4.Добавление собственных HTTP-заголовков в ответы веб-службы Axis 1.4
Я создал обработчик, который проходит BasicHandler:
public class HttpHeaderHandler extends BasicHandler {
.
.
.
@Override
public void invoke(org.apache.axis.MessageContext arg0) throws AxisFault {
LOG.trace("invoke called");
Hashtable ht = (Hashtable)ctx.getProperty(HTTPConstants.RESPONSE_HEADERS);
if(ht == null) {
ht = new Hashtable();
}
ht.put("custom-header", "Hello");
ctx.setProperty(HTTPConstants.RESPONSE_HEADERS, ht);
}
.
.
.
}
Я добавил следующий серверный config.wsdd:
.
.
.
<transport name="http">
<requestFlow>
<handler type="URLMapper" />
<handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
</requestFlow>
<responseFlow>
<handler type="java:com.my.package.HttpHeaderHandler" />
</responseFlow>
</transport>
.
.
.
Я могу видеть, что метод Invoke в настоящее время вызванный, как ведение журнала появляется в файле журнала, но пользовательский заголовок не добавляется в ответ.
Любые предложения оценены.
Нашел решение здесь, в конце http://stackoverflow.com/questions/3925272/handler-to-add-http-headers-to-http-request-not-invoked-when- с помощью оси-клиент-а. – mip
Я дал вам ответ. – Khush