Sto tentando di accedere a un servizio Web utilizzando nuSOAP (perché sono legato a PHP4 qui) che utilizza più di uno spazio dei nomi in un messaggio. È possibile?Come utilizzare nuSOAP per i messaggi con più spazi dei nomi
Un esempio messaggio di richiesta sarebbe simile a questa:
<soapenv:Envelope ...
xmlns:ns1="http://domain.tld/namespace1"
xmlns:ns2="http://domain.tld/namespace2">
<soapenv:Header/>
<soapenv:Body>
<ns1:myOperation>
<ns2:Person>
<ns2:Firstname>..</ns2:Firstname>
..
</ns2:Person>
<ns1:Attribute>..</ns1:Attribute>
</ns1:myOperation>
</soapenv:Body>
</soapenv:Envelope>
ho cercato di seguito:
$client = new nusoap_client("my.wsdl", true);
$params = array(
'Person' => array(
'FirstName' => 'Thomas',
..
),
'Attribute' => 'foo'
);
$result = $client->call('myOperation', $params, '', 'soapAction');
nella speranza che nusoap avrebbe cercato di abbinare questi nomi per gli spazi dei nomi e nodi corretti. Poi ho cercato di usare soapval() per generare gli elementi e il loro spazio dei nomi - ma se chiamo un intervento, NuSOAP crea la seguente richiesta:
<SOAP-ENV:Envelope ...>
<SOAP-ENV:Body>
<queryCCApplicationDataRequest xmlns="http://domain.tld/namespace1"/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Quindi, qualcosa va storto durante la fase di "matching".
Ho appena provato la tua soluzione e funziona .... grazie amico. –