为什么会出现“ SOAP错误:解析WSDL:找不到<definitions>”?
我正在尝试在一台服务器上设置SOAP客户端,以便与测试服务器上的Magento通信。两台服务器均已安装,配置并显示了PHP的SOAP扩展phpinfo()。 尝试使用v2和v1 API以及我能想到的所有其他功能关闭缓存。无论如何,我总是遇到同样的问题。 要么: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring> Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't find <definitions> in 'http://myserver.com/api/v2_soap?wsdl=1' in dispatch.php:39 Stack trace: #0 dispatch.php(39): SoapClient->SoapClient('http://myserver.com/...', Array) #1 {main} thrown </faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 有时是另一个错误 SOAP doesn't allow DTD.... 我现在只使用这里的普通Magento示例代码,而不是运行任何重要的代码,直到我弄清楚这是怎么回事。 如果file_get_contents对服务URL进行操作,则会得到: <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns:typens="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" …