1. 程式人生 > >webservice的wsdl檔案的結構分析

webservice的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://ws.web.sunsharing.com/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
    name="ImplClassService"
targetNamespace="http://ws.web.sunsharing.com/">
<!-- types,資料型別定義的容器,它使用某種型別系統(一般地使用XML Schema中的型別系統)。 --> <wsdl:types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ws.web.sunsharing.com/" elementFormDefault="unqualified" targetNamespace
="http://ws.web.sunsharing.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> <!-- message:用來定義訊息的結構 part:指定引用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> <!-- portype:用來定義伺服器端的SEI operation:用來指定SEI中的處理請求的方法 input:制定客戶端應用傳過來的資料,會引用上面定義的message標籤 output:指定伺服器端返回給客戶端應用的資料,會引用上面定義的message標籤 --> <wsdl:portType name="ServiceSide"> <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> <!-- binding:用於定義SEI的實現類 type:用來應用上面的portype標籤 <soap:binding style="document">繫結的資料是一個document(xml) operation:用來定義實現的方法 <soap:operation soapAction="" style="document"/>:傳輸的是document(xml) input:指定客戶端應用傳過來的資料 <soap:body use="literal"/>:文字資料 output:指定伺服器返回給客戶端的資料 <soap:body use="literal"/>:文字資料 --> <wsdl:binding name="ImplClassServiceSoapBinding" type="tns:ServiceSide"> <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> <!-- service:相當於一個webservice的容器,name屬性用來指定客戶端的容器類(生成客戶端的時候會生成一個類) port:用來指定一個伺服器處理請求的入口(就是SEI的實現) binding:引用上面的<binding> address:當前webservice的請求地址 --> <wsdl:service name="ImplClassService"> <wsdl:port binding="tns:ImplClassServiceSoapBinding" name="ImplClassPort"> <soap:address location="http://192.168.1.125:8888/webservice01" /> </wsdl:port> </wsdl:service> </wsdl:definitions>