如何将JAVAX-WS Endpoint绑定更改为SOAP 1.2?

时间:2011-04-28 16:15:52

标签: java eclipse web-services soap java-metro-framework

我正在使用Endpoint.publish()发布测试WS实现,以便在Visual Studio中使用。根据{{​​3}},默认的SOAP绑定是1.1,并且可以更改绑定,但我无法具体说明如何将绑定更改为1.2

任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:8)

使用JAX-WS 2.x,您可以通过配置文件或Java 5注释启用SOAP 1.2。有关详细信息,请参阅hereoriginal, now broken link)。

答案 1 :(得分:0)

由于当前答案无效且链接断开

通过类注释

@BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)

通过代码配置

JaxWsClientFactoryBean factory = new JaxWsClientFactoryBean();
...
factory.setBindingId(SOAPBinding.SOAP12HTTP_BINDING);

通过xml配置

<binding name="headwig">
  <wsoap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="weave">
      <wsoap12:operation soapAction="" style="documment"/>
      <input name="grain">
        <wsoap12:body .../>
        <wsoap12:header message="QName" part="partName"
                       use="literal|encoded"
                        encodingStyle="encodingURI"
                        namespace="namespaceURI" />
      </input>
...
</binding>