文章目录
-
第七十七章 方法关键字 - SoapBindingStyle - 用法
- 详解
- 默认
- 与WSDL的关系
- 与 %XML.DataSet 一起使用
指定此方法用作web方法
时使用的绑定样式或SOAP
调用机制。仅适用于定义为web服务
或web客户端
的类。
若要重写方法使用的默认绑定样式(当它用作web方法
时),请使用以下语法:
Method name(formal_spec) As returnclass [ WebMethod, SoapBindingStyle = soapbindingstyle ]
{ //implementation }
其中soapbindingstyle
是下列之一:
-
document
文档(默认)—此web方法
使用文档样式的调用。
使用这种绑定风格,SOAP消息
被格式化为文档,并且通常只有一个部分。
在SOAP消息
中,<Body>
元素通常包含一个子元素。<Body>
元素的每个子元素对应于一个消息部分。
-
rpc
—这个web方法
使用rpc
(远程过程调用)风格的调用。
使用这种绑定风格,SOAP消息
被格式化为具有多个部分的消息。
在SOAP消息
中,<Body>
元素包含一个子元素,其名称取自相应的操作名称。这个元素是一个生成的包装元素,它为方法的参数列表中的每个参数包含一个子元素。
重要提示:对于手动创建的web服务
,该关键字的默认值通常是合适的。当使用SOAP
向导从WSDL
生成web客户端
或服务
时,InterSystems IRIS会将此关键字设置为适合该WSDL
;如果修改该值,web客户端
或服务可能不再工作。
此关键字允许指定web方法
使用的绑定样式。它影响SOAP
主体的格式(但不影响任何SOAP
头)。
如果省略此关键字,则<soap:operation>
元素的样式属性将改为由SoapBindingStyle
类关键字的值确定。
SoapBindingStyle方法关键字指定了WSDL的部分中< soap:operation >元素的样式属性的值。例如,如果SoapBindingStyle方法关键字是document,则WSDL可能如下所示:
...
<binding ...>
...
<operation ...>
<soap:operation ... style="document"/>
...
相比之下,如果SoapBindingStyle
是rpc
,则WSDL
可以改为如下所示:
...
<binding ...>
...
<operation ...>
<soap:operation ... style="rpc"/>
...
绑定样式还会影响web方法
的请求和响应<message>
元素,如下所示:
= 如果绑定样式是文档,默认情况下,每条消息只有一个部分。例如:
<message name="AddSoapIn">
<part name="parameters" .../>
</message>
如果ARGUMENTSTYLE
参数是message
,那么一条消息可以有多个部分。例如:
<message name="AddSoapIn">
<part name="a" .../>
<part name="b" .../>
</message>
- 如果绑定样式是
rpc
,消息可以有多个部分。例如:
<message name="AddSoapIn">
<part name="a" .../>
<part name="b" .../>
</message>
与 %XML.DataSet 一起使用
如果将此关键字与使用 %XML.DataSet
类型的对象作为输入或输出的方法一起使用,则存在一些限制。