webservice应用程序如何知道soap对特定方法的调用,而不在soap消息中使用操作名称?
Posted
技术标签:
【中文标题】webservice应用程序如何知道soap对特定方法的调用,而不在soap消息中使用操作名称?【英文标题】:How does webservice application know soap call for a particular method,without using operation name in soap message? 【发布时间】:2012-04-23 19:41:15 【问题描述】:文档/文字 WSDL for myMethod
<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>
<binding .../>
用于 myMethod 的文档/文字 SOAP 消息
<soap:envelope>
<soap:body>
<xElement>5</xElement>
<yElement>5.0</yElement>
</soap:body>
</soap:envelope>
Web 服务引擎如何知道特定方法的上述肥皂消息?
服务器应用程序如何知道soap消息正在调用哪个方法?
http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/链接供参考
【问题讨论】:
websphere 应用服务器或 .net 等中的 webservice 引擎等通用 不同的引擎可能会以不同的方式做到这一点。 请告诉我服务器应用程序如何知道soap消息正在调用哪个方法? 仅供参考,我认为这不是有效的文档/文字服务。它只能有一个消息部分用于输入,一个用于输出。此外,它必须在消息部分使用type=
,而不是element=
。
@john 这是我复制ibm.com/developerworks/webservices/library/ws-whichwsdl的 ibm 站点的链接@
【参考方案1】:
服务器将根据参数类型识别方法并使用@Webmethod 进行注释。 如果有两个相似的方法,服务器将调用wsdl中指定的最后一个方法。
【讨论】:
以上是关于webservice应用程序如何知道soap对特定方法的调用,而不在soap消息中使用操作名称?的主要内容,如果未能解决你的问题,请参考以下文章
java webservice 如何在服务端设置相应的soapheader
java如何打印webservice 发送的soap报文协议
php 如何利用 soap调用.Net的WebService asmx文件
如何使用 AFNetworking 3.x 在 ios、objective-C 中使用来自 SOAP webservice 的数据