WSDL概念模型
1.服务接口(抽象定义)
{
1.消息(Message)
2.操作(Operation)
3.端口类型(Port Type)
}
2.服务实现(具体定义)
{
1.绑定(binding)
2.端口(Port)
3.服务(Service)
4中不同的SOAP消息模型:RPC/编码,RPC/文字,文档/编码,文档/文字
public void myMethod(int x,float y);
1.PRC/编码
<message name="myMethodRequest">
<part name="x" type="xsd:int"/>
<part name="y" type="xsd:int"/>
</message>
<message name="empty"/>
<portType name="PT">
<operation name="myMethod">
<input message="myMethodRequest"/>
<output message="empty"/>
</operation>
</portType>
使用myMethod的PRC/编码的SOAP消息示例
<soap:envelop>
<soap:body>
<myMethod>
<x xsi:type="xsd:int">5</x>
<y xsi:type="xsd:float">4.6</y>
</myMethod>
</soap:body>
</soap:envelop>
RPC/文字方式
RPC/文字方式提供的WSDL中在use属性中指定"literal"他的SOAP的消息如下:
<soap:envelope>
<soap:body>
<x>5</x>
<y>4.6</y>
</soap:body>
</soap:envelope>
文档文字格式
<types>
<schema>
<element name="xElement" type="xsd:int"/>
<element name="yElement" type="xsd:float"/>
</schema>
</types>
<message name="myMethodRequest">
<part name="x" element="xElement"/>
<part name="y" element="yElement">
</message>
<message name="empty"/>
<portType name="PT">
<operation name="myMethod">
<input message="myMethodRequest"/>
<output message="empty">
</operation>
</portType>
}
UUID协议
1.服务接口(抽象定义)
{
1.消息(Message)
2.操作(Operation)
3.端口类型(Port Type)
}
2.服务实现(具体定义)
{
1.绑定(binding)
2.端口(Port)
3.服务(Service)
4中不同的SOAP消息模型:RPC/编码,RPC/文字,文档/编码,文档/文字
public void myMethod(int x,float y);
1.PRC/编码
<message name="myMethodRequest">
<part name="x" type="xsd:int"/>
<part name="y" type="xsd:int"/>
</message>
<message name="empty"/>
<portType name="PT">
<operation name="myMethod">
<input message="myMethodRequest"/>
<output message="empty"/>
</operation>
</portType>
使用myMethod的PRC/编码的SOAP消息示例
<soap:envelop>
<soap:body>
<myMethod>
<x xsi:type="xsd:int">5</x>
<y xsi:type="xsd:float">4.6</y>
</myMethod>
</soap:body>
</soap:envelop>
RPC/文字方式
RPC/文字方式提供的WSDL中在use属性中指定"literal"他的SOAP的消息如下:
<soap:envelope>
<soap:body>
<x>5</x>
<y>4.6</y>
</soap:body>
</soap:envelope>
文档文字格式
<types>
<schema>
<element name="xElement" type="xsd:int"/>
<element name="yElement" type="xsd:float"/>
</schema>
</types>
<message name="myMethodRequest">
<part name="x" element="xElement"/>
<part name="y" element="yElement">
</message>
<message name="empty"/>
<portType name="PT">
<operation name="myMethod">
<input message="myMethodRequest"/>
<output message="empty">
</operation>
</portType>
}
UUID协议