mittels nusoap greife ich auf die Amazon SOAP API zu um den Bestellimport in unserem POS zu automatisieren.
Klappt soweit gut, hänge jetzt aber an einer Stelle fest und hoffe auf kreativen Input:
Das Runterladen von XML Bestellinformationen (sog. "Dokumenten") muss bestätigt werden damit diese gelöscht werden können.
Die Dokument verfügen über eine eindeutige ID welche als Array an den Service übergeben werden müssen:
PHP-Code:
....
$ack_array=array('123456','123457'));
$params=array(
'merchant' => $merchant,
'documentIdentifierArray' => $ack_array
);
$result=$client->call('postDocumentDownloadAck',$params);
Beim debugging zeigt sich dass der von nusoap generierte Envelope so aussieht:
Code:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4445="http://tempuri.org"> <SOAP-ENV:Body> <merchant xmlns="http://systinet.com/xsd/SchemaTypes/"> <merchantIdentifier>M_********</merchantIdentifier> <merchantName>*******</merchantName> </merchant> <documentIdentifierArray xmlns="http://systinet.com/xsd/SchemaTypes/"></documentIdentifierArray> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Irgendjemand eine Idee ob dies ein Bug in nusoap ist?
[Version: NuSOAP/0.9.5 (1.123) ]
Für jeden Denkanstoß dankbar!
PS: Eine Übergabe der DokID als String geht nicht da die WDSL ein Array vorschreibt.
Einen Kommentar schreiben: