当前位置 : 主页 > 网页制作 > Nodejs >

WebService WSDL

来源:互联网 收集:自由互联 发布时间:2021-06-24
1、http://localhost:9001/Service/ServiceHello?wsdl 地址栏中的地址 【Service为固定的】【ServiceHello为项目的名称】 【?wsdl为固定的页面】 进入wdsl页面,看到该XML内容则说明发布成功! 2、webServi

1、http://localhost:9001/Service/ServiceHello?wsdl

地址栏中的地址 【Service为固定的 】【ServiceHello为项目的名称】 【?wsdl为固定的页面】

进入wdsl页面,看到该XML内容则说明发布成功!

2、webService:是基于Web的服务,它使用Web(HTTP)方式,接收和相应外部系统的某种请求,从而实现远程调用。

3、Web Service使用XML来编解码数据,并使用SOAP来传输数据。

4、WSDL(Web Services Description Language网络服务描述语言)是一门基于XML 的语言,用于描述Web Service以及如何对它们进行访问。

5、WSDL是一种使用XML编写的文档。这种文档可描述某个Web  Service。它可规定服务的位置,以及次服务提供的操作(或方法)。

WSDL文档结构:wsdl文档是利用这些主要的元素来描述某个web service的:

<portType> 是最重要的WSDL元素,描述web service可被执行的操作,以及相关的消息。可把<portType>元素比作一个函数库。

<portType name="ServiceHello"> 	<!--ServiceHello 是某个端口的名称-->
   <operation name="getValue">	<!--getValue为某个操作的名称-->
      <input wsam:Action="http://service.hyan.com/ServiceHello/getValueRequest" message="tns:getValue"/> 
      <output wsam:Action="http://service.hyan.com/ServiceHello/getValueResponse" message="tns:getValueResponse"/>
   </operation>
</portType>

<!--操作getValue有一个名为tns:getValue的输入消息,以及一个名为tns:getValueResponse的输出消息-->

<message>元素,定义一个操作的数据元素。web service使用的消息

<message>可以定义每个消息的部件,以及相关联的数据类型。比如此处的getValue getValueResponse

<message name="getValue">
   <part name="parameters" element="tns:getValue"/>
</message>
<message name="getValueResponse">
   <part name="parameters" element="tns:getValueResponse"/>
</message>

<types>元素定义web service使用的数据类型,WSDL使用XML Schema语法定义数据类型。

<types>
   <xsd:schema>
      <xsd:import namespace="http://service.hyan.com/" schemaLocation="http://localhost:9001/Service/ServiceHello?xsd=1"/>
   </xsd:schema>
</types>

<binding>元素,为每个端口定义消息格式和协议细节。web service使用的通信协议。

<binding name="ServiceHelloPortBinding" type="tns:ServiceHello">
   <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
   <operation name="getValue">
      <soap:operation soapAction=""/>
      <input>
         <soap:body use="literal"/>
      </input>
      <output>
         <soap:body use="literal"/>
      </output>
   </operation>
</binding>
binding元素有两个属性name和type。name属性定义binding的名称,而type属性指向用于binding的端口。

soap:binding元素有两个属性transport属性和style属性。style属性可取值rpc或者document。transport属性定义了要使用的SOAP协议,本例使用HTTP。

operation元素定义了每个端口提供的操作符。对于每个操作,相应的SOAP行为都需要被定义,同时必须对如何对输入和输出进行编码,本例使用literal

6、wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

-s 生成客户端执行类的源文件存放目录,即:"src"目录

-p 定义生成类的包名

-keep 在生成class文件或者jar包时,同时保留Java源文件。

-verbose表示详细信息

7、wsimport是JDK的bin目录下自带的一个工具,用来导出Webservice的东东。

网友评论