1

我需要调试一个肥皂网络服务,但我不知道从哪里开始。这是返回错误的数据,我需要找出原因。它在http://localhost:18385上运行,我可以控制我发送但不知道端点文件的参数。如果我在浏览器上写http://localhost:18385我得到

 <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:IDSP="http://ns.adobe.com/InDesign/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>HTTP GET method not implemented</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

提前致谢

4

2 回答 2

3

最简单的调试方法是使用 Postman 或 SoapUI 等应用程序,这样您就可以设置发布的内容并详细查看响应。

您收到错误是因为您在脚本中使用 GET,InDesign Server 需要 POST 请求,其中 Content-Type 为 xml/text 并且 Body 设置为 Soap 调用,例如

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://ns.adobe.com/InDesign/soap/">
    <soapenv:Body>
                         <soap:RunScript>
                             <runScriptParameters>
                                 <scriptLanguage>javascript</scriptLanguage>
                                 <scriptFile>C:\InDesign\scriptfile.jsx</scriptFile>
                                 <scriptArgs>
                                    <name>myParameter</name>
                                    <value>305</value>
                                 </scriptArgs>
                             </runScriptParameters>
                         </soap:RunScript>
     </soapenv:Body>
</soapenv:Envelope>

于 2017-07-11T11:35:40.280 回答
2

您没有详细说明您到底需要什么。

如果你问什么是 WSDL 路径,它应该是:http://localhost:18385/service?wsdl

如果您需要调试 SOAP Web 服务响应,您可以使用SoapClient或使用 SoapUI 创建 PHP 测试脚本。

于 2017-06-15T08:28:08.740 回答