`

WSDL说明

 
阅读更多

在浏览器中输入:http://localhost:9999/server?wsdl,内容如下:

<?xml version="1.0" encoding="UTF-8" ?> 
<!--  Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. 
  --> 
<!--  Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. 
  --> 
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://service.test.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://service.test.com/" name="MyServiceImplService">
<types>
<xsd:schema>
<xsd:import namespace="http://service.test.com/" schemaLocation="http://localhost:9999/server?xsd=1" /> 
</xsd:schema>
</types>
<message name="add"> 
<part name="parameters" element="tns:add" /> 
</message>
<message name="addResponse">
<part name="parameters" element="tns:addResponse" /> 
</message>
<portType name="IMyService">
<operation name="add">
<input message="tns:add" /> 
<output message="tns:addResponse" /> 
</operation>
</portType>
<binding name="MyServiceImplPortBinding" type="tns:IMyService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> 
<operation name="add">
<soap:operation soapAction="" /> 
<input>
<soap:body use="literal" /> 
</input>
<output>
<soap:body use="literal" /> 
</output>
</operation>
</binding>
<service name="MyServiceImplService">
<port name="MyServiceImplPort" binding="tns:MyServiceImplPortBinding">
<soap:address location="http://localhost:9999/server" /> 
</port>
</service>
</definitions>

 

1. types:是用来定义访问的类型

在浏览器中输入:http://localhost:9999/server?xsd=1,内容如下:

<?xml version="1.0" encoding="UTF-8" ?> 
<!--  Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. 
  --> 
<xs:schema xmlns:tns="http://service.test.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://service.test.com/">
<xs:element name="add" type="tns:add" /> 
<xs:element name="addResponse" type="tns:addResponse" /> 
<xs:complexType name="add">
<xs:sequence>
<xs:element name="a" type="xs:int" /> 
<xs:element name="b" type="xs:int" /> 
</xs:sequence>
</xs:complexType>
<xs:complexType name="addResponse">
<xs:sequence>
<xs:element name="addResult" type="xs:int" /> 
</xs:sequence>
</xs:complexType>
</xs:schema>

 

说明:

(1)add元素表示客户端要向服务端提供哪些信息,它有两个输入参数ab,都是int类型,它们会转换成xml,存储这个信息的叫做SOAP(simple object access protocol),简单对象访问协议,它通过xml传输协议。

(2)addResponse元素表示响应参数addResult,也是int类型的。

(3)addaddResponse元素是对应的。

(4)wsimport导出后,就会生成Add.javaAddResponse.java两个类。

2.message:用SOAPMessage来传递SOAP协议

用方法两倍个数的消息来传递,比如:add消息用的是add元素,addResponse消息用的是addResponse元素。

3.portType:指明服务端用哪一个接口对它进行操作

(1)指明接口中有哪些服务(也就是些方法),是用operation来指明的。

(2)这个服务需要输入add消息,输出addResponse消息。

4.binding:对消息进行绑定,以literal(xml)的形式传递并以document的形式呈现给客户。

5.service:指定服务所发布的名称。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics