Hallo,
habe ein Problem mit WSDL.
Würde gern eine Funktin aufrufen. An sich keine große Sache.
PHP-Code:
$client = new MySoapClient('https://my.wsdl', ['trace'=>1,'cache_wsdl'=>0]);
$client->test(['test']);
Das funktioniert aber nicht und erzeugt als Request folgendes:
Code:
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns1="http://my_soap_service.de"
xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<SOAP-ENV:Body>
<ns1:Request>
<ns2:test/>
</ns1:Request>
</SOAP-ENV:Body>
Diese
Code:
xmlns:xsi ; xmlns:ns1 ; xmlns:ns2
machen meiner Ansicht nach die ganze Struktur kaputt. Funktion wird nicht aufgerufen.
Erwartet wird
Code:
<SOAP-ENV:Body>
<Request>
<test/>
<Request>
</SOAP-ENV:Body>
bzw.
Code:
<SOAP-ENV:Body>
<ns1:Request>
<ns1:test/>
<ns1:Request>
</SOAP-ENV:Body>
Wenn ich das als reine XML-Struktur übergebe funktioniert alles.
XML selbst erzeugen kommt nicht in Frage, will das Rad nicht neu erfinden.
Hier sind meine Fragen:
Was machen
Code:
xmlns:xsi ; xmlns:ns1 ; xmlns:ns2
?
Wie kann ich das steuern und alles auf
umbigen?
Vielen Dank