webService--wsdl查看


WebService顧名思義就是web服務,web服務主要有兩種,一種是基於soap類型的服務,一種是基於rest類型的服務,

其中soap類型的服務有兩種版本,一種是soap1.1版本,一種是soap1.2版本,soap服務類型的數據是xml數據格式的,

rest服務的數據類型是json格式的

wsdl查看是從下往上的

 

 


根據wsdl寫客戶端

HelloWorldService hws = new HelloWorldService; //service的name
HelloWorld hw = hws.getHelloWorld()//service下port的name

String s1 = hw.sayHelloWorldFrom("lhw");

 

 

1.wsdl:service 

   <wsdl:service name="HelloWorldService">
      <wsdl:port binding="impl:HelloWorldSoapBinding" name="HelloWorld">
         <wsdlsoap:address location="http://localhost:8080//services/example/HelloWorld"/>
      </wsdl:port>
   </wsdl:service>
wsdl:service 是表明這個服務的名稱:HelloWorldService         服務的地址:http://localhost:8080//services/example/HelloWorld
service的binding綁定了 2.wsdl:binding 的name

 

2.wsdl:binding

簡單代碼說明:

   <wsdl:binding name="HelloWorldSoapBinding" type="impl:HelloWorld">

   </wsdl:binding>

詳細代碼:

   <wsdl:binding name="HelloWorldSoapBinding" type="impl:HelloWorld">

      <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="sayHelloToYou">
         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="sayHelloToYouRequest">
            <wsdlsoap:body use="literal"/>
         </wsdl:input>

         <wsdl:output name="sayHelloToYouResponse">
            <wsdlsoap:body use="literal"/>
         </wsdl:output>
      </wsdl:operation>

      <wsdl:operation name="sayHelloWorldFrom">
         <wsdlsoap:operation soapAction=""/>
         
         <wsdl:input name="sayHelloWorldFromRequest">
            <wsdlsoap:body use="literal"/>
         </wsdl:input>
         
         <wsdl:output name="sayHelloWorldFromResponse">
            <wsdlsoap:body use="literal"/>
         </wsdl:output>
      </wsdl:operation>

   </wsdl:binding>
View Code

binding的type 是3wsdl:portType的的name

 

3.wsdl:portType

   <wsdl:portType name="HelloWorld">

      <wsdl:operation name="sayHelloToYou" parameterOrder="name sex address">
         <wsdl:input message="impl:sayHelloToYouRequest" name="sayHelloToYouRequest"/>
         <wsdl:output message="impl:sayHelloToYouResponse" name="sayHelloToYouResponse"/>
      </wsdl:operation>

      <wsdl:operation name="sayHelloWorldFrom" parameterOrder="from">
         <wsdl:input message="impl:sayHelloWorldFromRequest" name="sayHelloWorldFromRequest"/>
         <wsdl:output message="impl:sayHelloWorldFromResponse" name="sayHelloWorldFromResponse"/>
      </wsdl:operation>

   </wsdl:portType>
wsdl:operation的name即代表着是接口名稱
          parameterOrder代表着參數名稱

四個message對應wsdl:message的name

 

4.wsdl:message

   <wsdl:message name="sayHelloWorldFromResponse">
      <wsdl:part element="impl:sayHelloWorldFromReturn" name="sayHelloWorldFromReturn"/>
   </wsdl:message>

   <wsdl:message name="sayHelloToYouResponse">
      <wsdl:part element="impl:sayHelloToYouReturn" name="sayHelloToYouReturn"/>
   </wsdl:message>

   <wsdl:message name="sayHelloWorldFromRequest">
      <wsdl:part element="impl:from" name="from"/>
   </wsdl:message>

   <wsdl:message name="sayHelloToYouRequest">
      <wsdl:part element="impl:name" name="name"/>
      <wsdl:part element="impl:sex" name="sex"/>
      <wsdl:part element="impl:address" name="address"/>
   </wsdl:message>
wsdl:part對應wsdl:types的name

5.wsdl:types(在服務正式發布后的wsdl中,無具體的element節點

 <wsdl:types>
  <schema elementFormDefault="qualified" targetNamespace="http://example" xmlns="http://www.w3.org/2001/XMLSchema">
   <element name="name" type="xsd:string"/>
   <element name="sex" type="xsd:string"/>
   <element name="address" type="xsd:string"/>
   <element name="sayHelloToYouReturn" type="xsd:string"/>
   <element name="from" type="xsd:string"/>
   <element name="sayHelloWorldFromReturn" type="xsd:string"/>
  </schema>
 </wsdl:types>

最終在每個element的type處 就可以知道每個參數和返回值的類型

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM