curl改写 java WebServiceTemplate xml SOAP_1_1_PROTOCOL 方式请求接口

curl改写的请求:


curl -X POST -H "Content-Type: text/xml" -H "Cache-Control: no-cache"  -d '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
<SMSRequest xmlns="http://aaaaaaaa/">
<USERNAME>test</USERNAME> 
<PASSWORD>test</PASSWORD>  
</SMSRequest>
  </soap:Body>
</soap:Envelope>' "http://bbbbbbbbbbbbbbbbbbbbbb.wsdl"

返回参数
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
	<SMSResponse>command=MT_RESPONSE&amp;mterrcode=000
</SMSResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Spring主要代码:
Document doc=DocumentHelper.createDocument(); 
//根节点
Element eleSMSRequest = doc.addElement("SMSRequest","http://aaaaaaaa/");
eleSMSRequest.addElement("USERNAME").setText("test");
eleSMSRequest.addElement("PASSWORD").setText("test");

//从Spring中获取 WebServiceTemplate 协议 SOAP_1_1_PROTOCOL
WebServiceTemplate wst = (WebServiceTemplate)DoradoContext.getCurrent().getWebApplicationContext().getBean("webServiceTemplate");
MessageFactory messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
SaajSoapMessageFactory newSoapMessageFactory = new SaajSoapMessageFactory(messageFactory);
wst.setMessageFactory(newSoapMessageFactory);

//执行发送动作
StreamSource source = new StreamSource(new StringReader(doc.asXML()));
StringResult result = new StringResult();
wst.sendSourceAndReceiveToResult(source, result);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值