我正在实现客户端Web服务,我需要使用Apache CXF从Apache Axis2转换代码。 下面是Apache Axis2中需要转换为CXF身份验证方式的代码:
_service = "http://mysite.custhelp.com/cgi-bin/myinterface.cfg/services/soap";
org.apache.axis2.client.ServiceClient serviceClient = ((org.apache.axis2.client.Stub)_service)._getServiceClient();
serviceClient.addHeader(createSecurityHeader("Username", "Password"));
createSecurityHeader将创建的地方负责以securityHeader的形式进行身份验证和提供响应。
任何帮助将不胜感激。 谢谢, Jineet
答案 0 :(得分:1)
Jineet,我知道现在能够为您提供帮助可能为时已晚,但是回答这个问题是为了使其他可能像您和我一样苦于从Axis迁移到CXF的人受益。
您需要执行两个步骤,以描述此stackoverflow问题的前2个解决方案:Java Web Service client basic authentication
根据我的理解和经验,第一种方法(BindingProvider)是SOAP协议级别的身份验证起作用所必需的。要访问SOAP服务端点URL(HTTP / s级别),需要第二个(Authenticator)进行授权。
完成这两项更改后,我的迁移成功。