我有点理解我正在使用 Apache Axis 1.4 来查询 Web 服务。
我得到了一个 WSDL 文件,它生成了一个XXXXImplServiceLocator
类,该类扩展org.apache.axis.client.Service
并实现了一个生成的扩展接口javax.xml.rpc.Service
。
我的“业务代码”getXXXXImplPort(URL)
在新XXXXImplServiceLocator
实例上调用该方法,然后调用:
((Stub) port).setTimeout(timeout);
((Stub) port).setUsername(username);
((Stub) port).setPassword(password);
Stub
是org.apache.axis.client.Stub
。
设置这些参数后,我只需调用一些getYYY()
方法,该方法表示对远程服务公开的服务之一的查询,并将结果返回给我一个“域”对象。
问题是我必须对这项服务使用抢先式身份验证。我已经尝试通过soapUI进行查询,除非我设置了抢占式身份验证模式,否则我不会有任何结果。
我试过谷歌搜索如何设置该模式,但一无所获。他们所说的只是使用 Apache HttpClient 的抢先式身份验证,它可以很好地“嵌入”或由 Axis 使用,但我真的不知道如何混合使用。
我拥有的唯一与之交互的代码ServiceLocator
是初始设置,然后只是查询。
如何设置该抢先式身份验证模式?我错过了什么吗?我不明白什么以至于我无法解决这个问题?
闻起来像一个非常微不足道的问题,但也许我不太了解这一点的事实阻止了我解决这个问题。
提前谢谢,是的:)