eclipse自带插件生成的webservice 客户端认证及soapenv:Header信息添加

本文介绍如何在Eclipse中实现SOAP WebService接口的基本认证和SOAP头标签认证。包括生成WebService客户端代码、配置代理类及设置认证信息等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近对接一个soap webservice 接口,需要basic 认证和soap头标签认证:

1.eclipse生成webservice client代码。

2.找到XXXXXProxy.java 接口的代理类。

3.找到_initXXXXXProxy方法

 

//添加认证
javax.xml.rpc.Stub stub = (javax.xml.rpc.Stub)XXXXX;//stub 提取出来
stub._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "username");//用户名
stub._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "password");//密码
//添加Header
/**<soapenv:Header>
*     <cis:Authentification>
*        <cis:user>?</cis:user>
*        <cis:signature>?</cis:signature>
*     </cis:Authentification>
*  </soapenv:Header>
*/
SOAPFactory soapFactory = SOAPFactory.newInstance();
SOAPElement wsSecHeaderElm = soapFactory.createElement("Authentification", AUTH_PREFIX, AUTH_NS);
SOAPElement userEle = soapFactory.createElement("user",AUTH_PREFIX, AUTH_NS);    
SOAPElement passwdElm = soapFactory.createElement("signature",AUTH_PREFIX, AUTH_NS);    
          
userEle.addTextNode("user");  
passwdElm.addTextNode("signature");
          
wsSecHeaderElm.addChildElement(userEle);
wsSecHeaderElm.addChildElement(passwdElm);
          
SOAPHeaderElement soapHeaderElement =  new SOAPHeaderElement(wsSecHeaderElm);
soapHeaderElement.setMustUnderstand(false);
stub.setHeader(soapHeaderElement);


if (_endpoint != null)
 stub._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
else
      _endpoint = (String)(stub)._getProperty("javax.xml.rpc.service.endpoint.address");
4.这样就可以调用webservice的方法了
XXXXX poxy = new XXXXXProxy(URL);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值