テストサーバー上のMagentoと通信するために、1つのサーバー上にSOAPクライアントをセットアップしようとしています。どちらのサーバーにも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" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" name="Magento" targetNamespace="urn:Magento">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="associativeEntity">
<all>
<element name="key" type="xsd:string"/>
<element name="value" type="xsd:string"/>
</all>
</complexType>
.
.
.
</definitions>
だから、これを解析するのに問題はないはずです.. idk。