Example #1
0
    echo 'Error: ' . $ret->getMessage();
} else {
    echo 'Quotient is ' . $ret;
}
echo "\n";
/* The SOAPStruct class is defined in example_types.php. */
require_once 'example_types.php';
$struct = new SOAPStruct('test string', 123, 123.123);
/* Send an object, get an object back. Tell the client to translate to classes
 * we provide if possible. */
$soapclient->_auto_translation = true;
/* You can explicitly set the translation for a specific
 * class. auto_translation works for all cases, but opens ANY class in the
 * script to be used as a data type, and may not be desireable. Both can be
 * used on client or server. */
$soapclient->setTypeTranslation('{http://soapinterop.org/xsd}SOAPStruct', 'SOAPStruct');
/* Calling echoStruct. */
$ret = $soapclient->call('echoStruct', array('inputStruct' => $struct->__to_soap()), $options);
// echo $soapclient->getWire();
print_r($ret);
/* Calling echoStructAsSimpleTypes.
 * PHP doesn't support multiple return values in function calls, so we must do
 * a little work to make it happen here, for example returning an array
 * instead.  This requires knowledge on the developers part to figure out how
 * they want to deal with it. */
$ret = $soapclient->call('echoStructAsSimpleTypes', array('inputStruct' => $struct->__to_soap()), $options);
// echo $soapclient->getWire();
if (PEAR::isError($ret)) {
    echo 'Error: ' . $ret->getMessage();
} else {
    list($string, $int, $float) = array_values($ret);