SOAP
[ class tree: SOAP ] [ index: SOAP ] [ all elements ]

Source for file wsdl_client.php

Documentation is available at wsdl_client.php

  1. <?php
  2. /**
  3.  * WSDL client.
  4.  *
  5.  * PHP versions 4 and 5
  6.  *
  7.  * LICENSE: This source file is subject to version 2.02 of the PHP license,
  8.  * that is bundled with this package in the file LICENSE, and is available at
  9.  * through the world-wide-web at http://www.php.net/license/2_02.txt.  If you
  10.  * did not receive a copy of the PHP license and are unable to obtain it
  11.  * through the world-wide-web, please send a note to license@php.net so we can
  12.  * mail you a copy immediately.
  13.  *
  14.  * @category   Web Services
  15.  * @package    SOAP
  16.  * @author     Shane Caraveo <Shane@Caraveo.com>   Port to PEAR and more
  17.  * @author     Jan Schneider <jan@horde.org>       Maintenance
  18.  * @copyright  2003-2007 The PHP Group
  19.  * @license    http://www.php.net/license/2_02.txt  PHP License 2.02
  20.  * @link       http://pear.php.net/package/SOAP
  21.  */
  22.  
  23. require_once 'SOAP/Client.php';
  24.  
  25. /* This client runs against the example server in SOAP/example/server.php.  It
  26.  * does not use WSDL to run these requests, but that can be changed easily by
  27.  * simply adding '?wsdl' to the end of the url. */
  28. $wsdl = new SOAP_WSDL('http://localhost/SOAP/example/server.php?wsdl');
  29. $soapclient $wsdl->getProxy();
  30.  
  31. $ret $soapclient->echoStringSimple('this is a test string');
  32. // echo $soapclient->getWire();
  33. print_r($ret);
  34.  
  35. $ret $soapclient->echoString('this is a test string');
  36. print_r($ret);
  37.  
  38. $ret $soapclient->divide(227);
  39. // echo $soapclient->getWire();
  40. if (is_a($ret'PEAR_Error')) {
  41.     echo 'Error: ' $ret->getMessage("\n";
  42. else {
  43.     echo 'Quotient is ' $ret "\n";
  44. }
  45.  
  46. $ret $soapclient->divide(220);
  47. if (is_a($ret'PEAR_Error')) {
  48.     echo 'Error: ' $ret->getMessage("\n";
  49. else {
  50.     echo 'Quotient is ' $ret "\n";
  51. }
  52.  
  53. /* SOAPStruct is defined in the following file. */
  54. require_once './example_types.php';
  55. $struct = new SOAPStruct('test string'123123.123);
  56.  
  57. /* Tell the client to translate to classes we provide if possible.
  58.  * You can explicitly set the translation for a specific class.
  59.  * auto_translation works for all cases, but opens ANY class in the script to
  60.  * be used as a data type, and may not be desireable.  Both can be used on
  61.  * client or server. */
  62. $soapclient->_auto_translation = true;
  63.  
  64. $soapclient->setTypeTranslation('{http://soapinterop.org/xsd}SOAPStruct',
  65.                                 'SOAPStruct');
  66. $ret $soapclient->echoStruct($struct->__to_soap());
  67. // echo $soapclient->getWire();
  68. print_r($ret);
  69.  
  70. /* PHP doesn't support multiple OUT parameters in function calls, so we must
  71.  * do a little work to make it happen here.  This requires knowledge on the
  72.  * developers part to figure out how they want to deal with it. */
  73. $ret $soapclient->echoStructAsSimpleTypes($struct->__to_soap());
  74. if (is_a($ret'PEAR_Error')) {
  75.     echo 'Error: ' $ret->getMessage("\n";
  76. else {
  77.     list($string$int$floatarray_values($ret);
  78. }
  79. echo "varString: $string\nvarInt: $int\nvarFloat: $float\n";

Documentation generated on Mon, 04 Aug 2008 20:00:40 -0400 by phpDocumentor 1.4.0. PEAR Logo Copyright © PHP Group 2004.