我正在尝试在JBoss 5.1.0 GA中实现客户端Web服务(AXIS 2 1.6.1)。
我生成了存根,第一次调用(到mockService)工作正常。
现在我想调用我的Web服务(没有mockService),我需要实现基本身份验证。
我已经实现了基本的身份验证代码,我几乎可以肯定代码中没有错误。
HttpTransportProperties.Authenticator basicAuth = new HttpTransportProperties.Authenticator();
basicAuth.setUsername("userName");
basicAuth.setPassword("password");
basicAuth.setPreemptiveAuthentication(true);
stub._getServiceClient().getOptions().setProperty(HTTPConstants.AUTHENTICATE, basicAuth);
因为我可以使用SOAP UI进行调用,所以我坚信我的问题是我没有设置我的 “WWS-Password Type”和“WWS TimeToLive”(当我在SOAP-UI上禁用这些属性时,我有相同的错误消息)。
我认为我可能需要在服务器中放置一个axis2.xml来放置这些属性,但是...... 我什么时候把我的配置文件(在JBoss中)?或者我在哪里定义此文件的路径? 或者还有其他什么?
谢谢大家。
注意:我尝试了这个解决方案: Adding User/Password to SOAPHeader for WebService client call with AXIS2
我的错误是:
Exception in thread "main" org.apache.axis2.AxisFault: Internal Error (from server)
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at myPackage.process(MyStub.java:187)
P.S-请注意,服务器Web服务通过https进行通信。
P.S.2 - Tks Edward
答案 0 :(得分:0)
仅供记录,我已使用Adding User/Password to SOAPHeader for WebService client call with AXIS2中的解决方案解决了问题。
我有一个拼写错误的标签(在这种情况下是用户标签)。
非常感谢。