我正在开发一个SOAP Web服务。其中一个函数是isAlive()。它没有输入参数。 WSDL的最佳实践是什么?我试过......
<wsdl:operation name="isAlive">
<wsdl:output message="tns1:isAliveMessage"/>
</wsdl:operation>
...但由于缺少输入,我的一个工具中出现了解析错误。我找到了几个示例,其中定义了输入和消息,并且相应的类型定义为空,即<xsd:complexType name="somename"/>
。这样更好吗?
谢谢!
答案 0 :(得分:6)
您肯定需要输入消息 - 服务器还能告诉您要调用的操作。
如果您使用文档样式(您应该使用),则输入消息应该是没有内容的单个元素。
答案 1 :(得分:1)
最好为每个操作定义输入和输出文档,即使它们是空的。从长远来看,这些“空”操作习惯会变得不那么空,预先定义占位符文档类型可以省去麻烦。
例如,请考虑isAlive请求最终可能包含您正在询问的内容的一些指示。它使您的选项保持打开状态,并且副作用生成有效的WSDL:)