轴2(1.6.1)客户端Web服务基本身份验证

问题描述 投票:2回答:1

我正在尝试在JBoss 5.1.0 GA中实现客户端Web服务(AXIS 2 1.6.1)。

我已经生成了存根,并且第一次调用(对模拟服务)效果很好。

现在,我想调用我的Web服务(不带模拟服务),并且需要增加基本身份验证。

我已经实现了基本的身份验证代码,并且几乎可以确定代码中没有bug。

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中)? 或在哪里定义此文件的路径? 还是还有别的?

谢谢大家

注意:我未成功尝试此解决方案: 使用AXIS2将用户/密码添加到SOAPHeader中以进行WebService客户端调用

我的错误是:

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)

PS-请注意,服务器Web服务通过https进行通信。

PS2-特克斯爱德华

java axis2 basic-authentication
1个回答
0
投票

仅作记录,我已使用将用户/密码添加到AXIS2的WebService客户端调用的SOAPHeader中的解决方案解决了该问题。

我有一个拼写错误的标签(在这种情况下,是用户标签)。

非常感谢。

© www.soinside.com 2019 - 2024. All rights reserved.