use*_*859 6 soap wsdl web-services
我有一个一般的网络服务问题,我希望你能帮我澄清我对这个问题的困惑.
我正在使用主机调用"XML over HTTP服务"的Web服务.他们声称此服务不是SOAP服务,但响应是SOAP信封响应.该服务目前通过HTML表单发布; 这是HTML表单和响应:
HTML:
<FORM name=TestForm action=http://intranet/TheWSMethod enctype="text/plain" method="POST">
<TEXTAREA name=Data rows=22 cols=91 type="text" style="position: absolute; left: 78; top: 69; width:752px; height:330px"></TEXTAREA>
<INPUT type=xml>
<INPUT type=submit value="Transmit">
</FORM>
Run Code Online (Sandbox Code Playgroud)
响应 - 基于SOAP?
<?xml version="1.0" encoding="UTF-8" ?>
<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soap-env:Server</faultcode>
<faultstring>9001</faultstring>
<faultactor>/TheWSMethod</faultactor>
<detail> ... </detail>
</soapenv:Fault>
Run Code Online (Sandbox Code Playgroud)
主持人告诉我这个过程没有WSDL,这就是我的困惑开始的地方.
所以我的问题是,是否存在/应该是现有的WSDL?(即他们拉我的腿还是他们不明白我的要求)或者是否有可能没有这种服务的WSDL?
Bog*_*dan 15
SOAP只是基于HTTP的XML的一种特殊化,而您发布的响应确实看起来像SOAP响应(实际上是SOAP错误).
这看起来像是一个很大的误解,所以不要以为他们会拉你的腿.尝试以不同的方式提问.
对于WSDL,如果这确实是一个100%SOAP Web服务,请注意,为SOAP Web服务提供WSDL并不是必需的.
Web服务只是一个通过网络公开一组操作的应用程序.为了调用这些操作,您需要知道它们的名称,它们期望的参数,参数的类型等,以便您知道如何构建客户机存根.
这意味着需要记录Web服务,否则您将不知道如何编写与Web服务交互的代码.此文档可以是Word文档或PDF,您可以从中手动构建客户端(这涉及为您的客户端存根编写大量管道代码)或文档可能是WSDL文件,与PDF或Word文档不同可以输入到工具中自动生成存根管道代码.
WSDL描述了Web服务 - 提供Web服务是一种很好的做法 - 但Web服务与WSDL分开存在.