Sending Multidimensional Array using php
gilbertsavier
Status: Interested
Joined: 28 Jun 2009
Posts: 12
Reply Quote
Hi,
For anybody facing troubles with sending complex array to KF webservice, this might help.
After considerable hairpulling i managed to solve the riddle.
This is for the function InsertInvoice. Note: you have to provide explicit type for <anytype> element.
You are free to thank me anytime
<?
require_once('nusoap.php');
//$client = new soapclient('https://secure.kashflow.co.uk/api/service.asmx?WSDL','wsdl');
$soapaction = "KashFlow/InsertInvoice";
$wsdl = "https://secure.kashflow.co.uk/api/service.asmx";
$namespace = "KashFlow";
$client = new soapclient($wsdl);
$mysoapmsg = $client->serializeEnvelope('
<InsertInvoice xmlns="KashFlow"><UserName>yourusername</UserName><Password>yourpassword</Password><Inv><InvoiceDate>2009-01-20T11:11:04+00:00</InvoiceDate><DueDate>2009-01-20T11:11:04+00:00</DueDate><CustomerID>525434</CustomerID><Lines><anyType xsi:type="InvoiceLine"><Quantity>150</Quantity><Description>Bindaas baby</Description><Rate>30</Rate><ChargeType>812270</ChargeType><VatRate>21</VatRate></anyType></Lines></Inv></InsertInvoice>
','',array(),'document', 'literal');

$response = $client->send($mysoapmsg, $soapaction);

if ($client->fault) {
echo '<h3>Fault</h3><pre>';
print_r($response);
echo '</pre>';
}

echo "<p>SOAP query</p>";
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo "<p>SOAP response</p>";
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
?>
Back to top
Display posts from previous:   

All times are GMT - 8 Hours