首页 > 技术文章 > spring下使用webservice调用版本设置问题

wulm 2020-09-29 14:30 原文

soap版本有1.1和1.2,比较常见的是1.1版本

 

而spring的new WebServiceTemplate()方法,默认会强制指定webservice的版本为1.1。那么1.2版本的接口将不能请求

未指定webservice版本时,默认会调用MessageFactory.newInstance();
其中会强制指定SOAPConstants.SOAP_1_1_PROTOCOL。

 

要想访问soap 1.2协议的接口需要指定版本,如下

MessageFactory messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
return new WebServiceTemplate(new SaajSoapMessageFactory(messageFactory));


要想兼用1.1和1.2,则可以构造两个WebServiceTemplate来动态获取即可

推荐阅读