第五十八章 生成的 WSDL 的详细信息 - 由方法签名变化引起的WSDL变化
由方法签名变化引起的WSDL变化
本节展示了由方法签名中的变化引起的一些WSDL
变化。
通过引用或作为输出参数返回值
要通过引用或作为输出参数返回值,请在web
方法的签名中酌情使用ByRef
或output
关键字。此更改影响模式和SOAP
响应消息。
例如,考虑以下web
方法签名,来自两个不同web
服务中的方法:
//from web service 1
Method HelloWorld() As %String [ WebMethod ]
//from web service 2
Method HelloWorld(ByRef myarg As %String) [ WebMethod ]
对于第一个web
服务,<types>
部分如下所示:
<types>
<s:schema elementFormDefault="qualified" targetNamespace="https://www.helloworld.org">
<s:element name="HelloWorld1">
<s:complexType>
<s:sequence/>
</s:complexType>
</s:element>
<s:element name="HelloWorld1Response">
<s:complexType>
<s:sequence>
<s:element name="HelloWorld1Result" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
对于第二个web
服务,它通过引用返回值,<types>
部分有一个对应于响应消息的类型的变体:
<types>
...
<s:element name="HelloWorld2Response">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" name="myarg" type="s:string"/>
...
这表明<HelloWorld2Response>
消息中包含的元素是<myarg>
,它对应于消息签名中参数的名称。相反,这个元素通常是<methodnameResult>
。
如果使用ByRef
关键字而不是Output
,则对WSDL
具有相同的效果。
网友评论