WSDL是WEB服务体系中以XML描述的WEB服务语言, WSDL对操作和消息的描述是抽象的. WSDL文档可以分为两个部分,每个部分有若干节, 第一部分为抽象定义包含类型,消息,端口类型的定义,第二部分为具体说明,包含绑定,服务的定义.
下面为一个WSDL的文件例子.
<?xml version="1.0" encoding="UTF-8" ?>
<definitions name="FooSample">
<!-- 类型节 -->
<types>
<schema targetNameSpace="http://tempuri.org/xsd"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schema.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wadl/"
elementFrormDefault="qualified">
</schema>
</types>
<!-- 消息节 -->
<message name="Simple.foo">
<part name="arg" type="xsd:int" />
</message>
<message name="Simple.fooResponse">
<part name="result" type="xsd:int" />
</message>
<!-- 端口类型定义-->
<portType name="SimplePortType">
` <operation name="foo" parameterOder="arg">
<input message="wsdlns:Simple.foo"/>
<output message="wsdlns:Simple.fooResponse"/>
</operation>
</portType>
<binding name="SimpleBinding" type=wsdlns:SimplePortType">
<stk:binding preferredEncoding="UTF-8" />
<!-- 绑定风格与传输协议 -->
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="foo">
<!-- 响应端点 -->
<soap:operation soapAction="http://tempuri.org/action/Simple.foo"/>
<input>
<soap:body use="encode"
namespace="http://tempuri.org/message"
encodingSytle="http://schemas.xmlsoap.org/soap/encoding" />
</input>
<output>
<soap:body use="encode"
namespace="http://tempuri.org/message"
encodingSytle="http://schemas.xmlsoap.org/soap/encoding" />
</output>
</operation>
</binding>
<!-- 应用绑定节 -->
<service name="FOOSAMPLESSService">
<port name="SimplePort" binding="wsdlns:SimpleBinding">
<!-- 服务的响应地址 -->
<soap:address location="http://carlos:8080/FooSmaple/FooSample.jsp"/>
</port>
</service>
</definitions>