java如何在websphere(WAS)上向所有jaxws客户端请求添加HttpHeader?
我希望websphere WAS 8.0.0.5将我的“Authorization:blabla”http头添加到服务的所有jax ws客户端请求中。我读过很多话题,但都不管用。我在websphere上部署了一个jax ws客户端。我已经创建了自己的应用程序策略集,并将其附加到我的服务上,还创建了与HTTP传输的自定义属性中的授权HTTP头绑定的通用客户端策略集。我将我的策略和绑定附加到我的客户服务,但它不起作用。每次我都会遇到以下异常:
00000023 SOAPOverHTTPS E WSWS7263E: The following exception occured: org.apache.axis2.AxisFault: HTTP ( 401 ) Unauthorized address : http://192.168.32.120:8280/hello/1/1
at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.processStatusCode(SOAPOverHTTPSender.java:3659)
at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.send(SOAPOverHTTPSender.java:595)
at com.ibm.ws.websvcs.transport.http.HTTPTransportSender.invoke(HTTPTransportSender.java:366)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:544)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:578)
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:127)
at org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:93)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:390)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:188)
at $Proxy60.sayHello(Unknown Source)
at com.lexa.HelloClient.doTest(HelloClient.java:36)
at com.lexa.HelloClient.init(HelloClient.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
我的问题是,我无法修改客户端以编程方式插入标题。有人能解释为什么websphere绑定不起作用吗
谢谢
# 1 楼答案
你可以使用
BindingProvider
添加你需要的内容您也可以使用
com.ibm.websphere.webservices.Constants.REQUEST_TRANSPORT_PROPERTIES
作为键,它也应该可以正常工作查看更多信息: How request transport headers are sent by a JAX-WS Web services client application