Hallo,
ich beschäftige mich seit kurzem mit nusoap, dabei stehe ich vor folgender Problematik:
Erwartet wird vom Server folgender Request
Da mittels nusoap das Array assoziativ an nusoap übergeben wird ist es mir nicht gelungen
in der transactionList zwei separate transaction Inhalte zu generieren. Mein assoziatives
Array überschreibt wie in PHP zu erwarten ist das nächste transaction Element.
Mein generierter Request sieht wie folgt aus
Der Client sieht dabei wie folgt aus:
Ich bezweifle das nusoap hier an seine grenzen stößt es müsste sicherlich eine Lösung geben?
tuxnisi
ich beschäftige mich seit kurzem mit nusoap, dabei stehe ich vor folgender Problematik:
Erwartet wird vom Server folgender Request
Code:
<?xml version="1.0" encoding="UTF-8"?> <ns2:sRequest xmlns:ns2="http://www.irgendwas.com/types"> <details> <transactionList> <transaction>123</transactionID> <transaction>345</transactionID> </transactionList> </details> </ns2:sRequest>
in der transactionList zwei separate transaction Inhalte zu generieren. Mein assoziatives
Array überschreibt wie in PHP zu erwarten ist das nächste transaction Element.
Mein generierter Request sieht wie folgt aus
Code:
<?xml version="1.0" encoding="UTF-8"?> <ns2:sRequest xmlns:ns2="http://www.irgendwas.com/types"> <details> <transactionList> <transaction>12323</transactionID> </transactionList> </details> </ns2:sRequest>
PHP-Code:
$transactionArr = array(
'transaction' => $transaction1,
'transaction' => $transaction2
);
$detailsArr = array(
'transactionList' => $transactionArr
);
$reqParam = array (
'details' => $detailsArr
);
$client = new nusoap_client(SOAP_ENDPOINT);
$client->soap_defencoding = "UTF-8";
$result = $client->call("sRequest", $reqParam, SOAP_URI, SOAP_URI, false,null, "rpc", "literal");
if ($fault = $client->fault) {
echo '<h2>Fault</h2><pre>';
print_r($result);
} elseif ($error = $client->getError()) {
/* Display the error => Array */
echo '<h2>Error</h2><pre>' . $error . '</pre>';
} else {
/* Display the result => Array */
echo '<h2>Result</h2><pre>';
print_r($result);
echo '</pre>';
}
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
tuxnisi
Kommentar