标签:
Wsdl文件读取方式
WSDL文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成。抽象部分以独立于平台和语言的方式定义SOAP消息,它们并不包含任何随机器或语言而变的元素。
WSDL文档包含下列元素
Types?
????抽象定义?,独立与机器和语言的类型定义?
Messages?
包括函数参数(输入与输出分开)或文档描述?,可以看做是对函数参数和输出结果的封装。输入参数以Request结尾,输出结果以Response结尾。Element中指向的是在?Types?中定义的
PortTypes?
引用消息部分中消息定义来描述函数签名(操作名、输入参数、输出参数)。??Operation中定义的是方法,input中定义的是输入参数,output中的是输出结果。message指向的是Messages?中定义的。例如
<wsdl:portType name="GateWayNewServicePortType">
<wsdl:operation name="queryPart">
<wsdl:input name="queryPartRequest" message="tns:queryPartRequest" />
<wsdl:output name="queryPartResponse" message="tns:queryPartResponse" />
</wsdl:operation>
</wsdl:portType>
?Bindings?
具体定义?,PortTypes部分的每一操作在此绑定实现?, 可以有零个、一个或者多个<binding>元素. Binding中的operation元素定义的是方法名称,Binding的作用就是使每个定义的operation方法可以通过网络调用和回应。而在PortType中定义的operation只是和客户端的方法绑定,相当于java中的方法声明,Binding中的operation相当于实现。
Services?
确定每一绑定的端口地址,可以有零个、一个、多个<service>元素。它还包含了<port>元素,每个<port>元素引用一个Bindings栏里的<binding>元素.
各Messages栏使用Types栏的定义,PortTypes栏使用Messages栏的定义;Bindings栏引用了PortTypes栏,Services栏引用Bindings栏,PortTypes和Bindings栏包含了operation元素,而Services栏包含了port元素。PortTypes栏里的operation元素由Bindings栏里的operation元素进一步修改或描述。
正因为这种原因,读wsdl文档的时候,是从下往上读的。wsdl文档可以反向生成语言无关的客户端。
标签:
原文地址:http://blog.csdn.net/g1248019684/article/details/51363480