span style="font-size:14px;"WSDL文档案例?xml version='1.0' encoding='UTF-8'?wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://inter.server.cxf.com/" xmlns:soap=
<span style="font-size:14px;">WSDL文档案例 <?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://inter.server.cxf.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="CXFServerDemoImplService" targetNamespace="http://inter.server.cxf.com/"> <wsdl:types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://inter.server.cxf.com/" elementFormDefault="unqualified" targetNamespace="http://inter.server.cxf.com/" version="1.0"> <xs:element name="sayHello" type="tns:sayHello"/> <xs:element name="sayHelloResponse" type="tns:sayHelloResponse"/> <xs:complexType name="sayHello"> <xs:sequence> <xs:element minOccurs="0" name="arg0" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="sayHelloResponse"> <xs:sequence> <xs:element minOccurs="0" name="return" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="sayHelloResponse"> <wsdl:part element="tns:sayHelloResponse" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:message name="sayHello"> <wsdl:part element="tns:sayHello" name="parameters"> </wsdl:part> </wsdl:message> <wsdl:portType name="CXFServerDemo"> <wsdl:operation name="sayHello"> <wsdl:input message="tns:sayHello" name="sayHello"> </wsdl:input> <wsdl:output message="tns:sayHelloResponse" name="sayHelloResponse"> </wsdl:output> </wsdl:operation> </wsdl:portType> <wsdl:binding name="CXFServerDemoImplServiceSoapBinding" type="tns:CXFServerDemo"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="sayHello"> <soap:operation soapAction="" style="document"/> <wsdl:input name="sayHello"> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="sayHelloResponse"> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="CXFServerDemoImplService"> <wsdl:port binding="tns:CXFServerDemoImplServiceSoapBinding" name="CXFServerDemoImplPort"> <soap:address location="http://localhost:8088/CXFNoSpring/CXFServer"/> </wsdl:port> </wsdl:service> </wsdl:definitions> 来自 <http://localhost:8088/CXFNoSpring/CXFServer?wsdl> </span><span style="font-size: 20pt;"> </span>
WSDL文档结构
a. portType :
i. 它可描述一个 web service、可被执行的操作,以及相关的消息。
ii. 可以把 <portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。
iii. 实际就是 WebService 服务端(Server) 的接口.(当然了,WSDL端口似乎更高大上一点..)
b. message : 这里我的理解是 , message 是 对外开放的方法.(那个..Response 我还不知道是干嘛用的..)
c. type : 定义了一些 Server 端发布接口的数据类型
d. 在上面的例子中,仔细看,可以发现,在<wsdl:type>中,有两组<xs:complexType>节点,他们之间就定义了,对外开放接口的入参类型.
e. binding : 定义了通信协议.