网学网ASP.net编辑为广大网友搜集整理了:WebService初探(2)绩等信息,祝愿广大网友取得需要的信息,参考学习。
vision. As the worldwide leader in software for personal<br>
and business computing, we strive to produce innovative <br>
products and services that meet our customer’s<br>
</description><br>
<serviceInfos><br>
<serviceInfo<br>
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" <br>
serviceKey="1FFE1F71-2AF3-45FB-B788-09AF7FF151A4"><br>
<name>Web services for smart searching</name><br>
</serviceInfo><br>
<serviceInfo<br>
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"<br>
serviceKey="8BF2F51F-8ED4-43FE-B665-38D8205D1333"><br>
<name>Electronic Business Integration Services</name><br>
</serviceInfo><br>
<serviceInfo<br>
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"<br>
serviceKey="611C5867-384E-4FFD-B49C-28F93A7B4F9B"> <br>
<name>Volume Licensing Select Program</name> <br>
</serviceInfo><br>
<serviceInfo<br>
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"<br>
serviceKey="A8E4999A-21A3-47FA-802E-EE50A88B266F"><br>
<name>UDDI Web Sites</name><br>
</serviceInfo> <br>
</serviceInfos><br>
</businessInfo><br>
</businessInfos><br>
</businessList><br>
<br>
WSDL :Web服务定义语言<br>
<br>
WSDL为服务提供者提供了描述构建在不同协议或编码方式之上的web <br>
<br>
service请求基本格式的方法。WSDL用来描述一个web <br>
<br>
service能做什么,它的位置在哪里,如何调用它等等。在假定以SOAP/HTTP/MIME <br>
<br>
作为远程对象调用机制的情况下,WSDL会发挥最大作用。UDDI注册描述了web <br>
<br>
service的绝大多数方面,包括服务的绑定细节。WSDL可以看作是UDDI服务描述的子集。<br>
<br>
<br>
<br>
WSDL将服务定义为一个网络端点的集合,或者说端口的集合。在WSDL里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端口类型,操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的联接,端口的集合定义为服务。因此一个WSDL文档在定义网络服务的时候使用如下的元素:<br>
类型-- <br>
<br>
使用某种的类型系统(比如XSD)定义数据类型的容器 <br>
消息-- 通讯数据抽象的有类型的定义 <br>
操作-- <br>
<br>
服务支持的动作的抽象描述 <br>
端口类型-- 一个操作的抽象集合,该操作由一个或多个端点支持 <br>
绑定-- <br>
<br>
针对一个特定端口类型的具体的协议规范和数据格式规范 <br>
端口-- 一个单一的端点,定义成一个绑定和一个网络地址的联接 <br>
<br>
<br>
服务-- 相关的端点的集合 <br>
<br>
<br>
<br>
所以,可以这样说,WSDL给客户提供了一个模板,方便他们描述和绑定服务。<br>
<br>
<br>
<br>
下面是一个简单的例子,例子中的服务用来查找Motorala股票的价格。<br>
<br>
服务描述:<br>
<br>
<?xml version="1.0"?><br>
<definitions name="StockQuote"<br>
targetNamespace="http://example.com/stockquote.wsdl"<br>
xmlns:tns="http://example.com/stockquote.wsdl"<br>
xmlns:xsd1="http://example.com/stockquote.xsd"<br>
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"<br>
xmlns="http://schemas.xmlsoap.org/wsdl/"><br>
<types><br>
<schema targetNamespace="http://example.com/stockquote.xsd"<br>
xmlns="http://www.w3.org/1999/XMLSchema"> <br>
<element name="TradePriceRequest"><br>
<complexType><br>
<all><br>
<element name="tickerSymbol" type="string"/><br>
</all> <br>
</complexType> <br>
</element><br>
<element name="TradePrice"> <br>
<complexType> <br>
<all><br>
<element name="price" type="float"/> <br>
</all> <br>
</complexType> <br>
</element> <br>
</schema><br>
</types><br>
<br>
<message name="GetLastTradePriceInput"><br>
<part name="body" element="xsd1:TradePrice"/><br>
</message><br>
<message name="GetLastTradePriceOutput"><br>
<part name="body" element="xsd1:TradePriceResult"/><br>
</message><br>
<br>
<portType name="StockQuotePortType"><br>
<operation name="GetLastTradePrice"><br>
<input message="tns:GetLastTradePriceInput"/><br>
<output message="tns:GetLastTradePriceOutput"/><br>
</operation><br>
</portType><br>
<br>
<binding name="StockQuoteSoapBinding"<br>
type="tns:StockQuotePortType"><br>
<soap:binding style="document"<br>
transport="http://schemas.xmlsoap.org/soap/http"/><br>