Saya mencoba mengatur klien SOAP pada satu server untuk berkomunikasi dengan Magento pada server pengujian. Kedua server memiliki ekstensi SOAP PHP diinstal, dikonfigurasi dan muncul di phpinfo().
Mencoba mematikan caching, menggunakan API v2 dan v1 dan semua hal lain yang bisa saya pikirkan. Bagaimanapun, saya tetap mendapatkan masalah yang sama.
Entah itu:
<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>
atau terkadang kesalahan lain SOAP doesn't allow DTD....
Saya sekarang menggunakan hanya kode contoh Magento sederhana dari sini , daripada menjalankan sesuatu yang signifikan, sampai saya bisa mencari tahu apa yang terjadi dengan ini.
Jika saya lakukan file_get_contentske URL layanan, saya mendapatkan:
<?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>
Jadi sepertinya tidak ada masalah untuk menguraikan ini .. idk.