从结构上讲,您将需要在WSDL文档中添加对SOAP 1.2的支持。您的“抽象” WSDL部分定义了类型,消息和端口类型。(我在这里假设您要更新WSDL1.1文档以为现有服务添加SOAP1.2支持)
为了支持SOAP1.2,您将需要添加符合SOAP1.2的绑定和服务定义。例如,我们有以下端口定义:
<wsdl:portType name="ServerSoap">
<wsdl:operation name="SomeOperation"> ...
Run Code Online (Sandbox Code Playgroud)
您将需要为操作添加SOAP1.2绑定部分:
<wsdl:binding name="ServerSoap12" type="tns:ServerSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="SomeOperation">
<soap12:operation soapAction="..." style="document" /> ...
Run Code Online (Sandbox Code Playgroud)
和服务:
<wsdl:service name="Server">
<!-- SOAP1.1 Service -->
<wsdl:port name="ServerSoap" binding="tns:ServerSoap">
<soap:address location="http://localhost:8080/Server" />
</wsdl:port>
<!-- SOAP1.2 Service -->
<wsdl:port name="ServerSoap12" binding="tns:ServerSoap12">
<soap12:address location="http://localhost:8080/Server" />
</wsdl:port>
</wsdl:service>
Run Code Online (Sandbox Code Playgroud)
请注意,这两个定义可以共存,并且您的服务可以与SOAP1.1向后兼容。客户端将不得不选择使用SOAP1.1或SOAP1.2。
实际上,您可以尝试从已有的代码生成WSDL,以指示Axis为SOAP1.2生成绑定。我不是AXIS用户,因此可以使用RTM java2wsdl来实现。
归档时间: |
|
查看次数: |
12463 次 |
最近记录: |