我正在学习WSDL from online documentation,在那里提到:
绑定必须指定一个协议。
绑定绝不能指定地址信息。
给出的示例示例是:
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
protocol
的含义是什么?在这个例子中如何映射?另外address
WSDL
一定不能指定什么?
答案 0 :(得分:3)
所以SOAP是您通过网络发送的xml消息。您可以通过多种方式在网络上发送此SOAP消息。这种机制称为传输协议。
传统上你会使用HTTP作为传输协议,但是没有什么可以阻止你通过JMS(Java消息队列),SMTP(简单邮件传输协议)甚至普通套接字发送SOAP消息。
基本上,当您在WSDL中定义协议时,它表示我将使用WSDL中定义的协议发送此消息。在您的示例中,WSDL明确声明它将使用HTTP协议,此部分此处包含以下信息:transport="http://schemas.xmlsoap.org/soap/http"
SOAP上的Wikipedia Entry有一个传输部分,其中包含更多详细信息。
绑定处理XML如何通过网络传输以及它将使用哪种样式。发送SOAP消息的方式有多种,例如document,literal和RPC。这与如何不在哪里有关。 WSDL中的服务和端口元素处理我可以在哪里找到服务等。这就是为什么你不在绑定部分但在端口和服务部分中指定Web服务地址。
阅读不同的风格也会很好。请参阅this article以深入了解RPC,Literal和Document术语。