Reply to topic
Sending Multidimensional Array using php
gilbertsavier


Joined: 25 Jun 2009
Posts: 9
Reply with 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
Code:
<?
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>';
?>
Sending Multidimensional Array using php
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT  
Page 1 of 1  

  
  
 Reply to topic