note 114787 added to soapclient.call
| From: | philipp dot gruber at catchoftheday dot com dot au | Date: | Mon, 07 Apr 2014 00:27:12 +0000 |
| Subject: | note 114787 added to soapclient.call | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-199202@lists.php.net to get a copy of this message | ||
If you are using a WSDL, the library will strip out anything from your parameters that is not
defined in WSDL, without giving you any notice about this.
So if your parameters are not fully matching the WSDL, it will simply send no parameters at all.
This can be a bit hard to debug if you don't have access to the target server.
__soapCall() expects parameters in an array called 'parameters' as opposed to calling the
function via it's WSDL name, where it accepts the parameters as a plain array.
I.e. if a function called sendOrder expects a parameter (array) called orderDetails, you can call it
like this:
$orderDetails = array(/* your data */);
$soap->sendOrder(array('orderDetails' => $orderDetails));
Which is equivalent to:
$client->__soapCall('sendOrder', array('parameters' =>
array('orderDetails' => $orderDetails)));
Note the additional 'parameters' key used in __soapCall().
----
Server IP: 72.52.91.14
Probable Submitter: 203.161.148.102
----
Manual Page -- http://php.net/manual/en/soapclient.call.php
Edit -- https://master.php.net/note/edit/114787
Del: integrated -- https://master.php.net/note/delete/114787/integrated
Del: useless -- https://master.php.net/note/delete/114787/useless
Del: bad code -- https://master.php.net/note/delete/114787/bad+code
Del: spam -- https://master.php.net/note/delete/114787/spam
Del: non-english -- https://master.php.net/note/delete/114787/non-english
Del: in docs -- https://master.php.net/note/delete/114787/in+docs
Del: other reasons-- https://master.php.net/note/delete/114787
Reject -- https://master.php.net/note/reject/114787
Search -- https://master.php.net/manage/user-notes.php