- Timestamp:
- 2011/10/25 00:02:55 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_11-dev/data/module/SOAP/example/wsdl_client.php
r20119 r21299 1 1 <?php 2 / /3 // +----------------------------------------------------------------------+ 4 // | PHP Version 4 | 5 // +----------------------------------------------------------------------+ 6 // | Copyright (c) 1997-2003 The PHP Group | 7 // +----------------------------------------------------------------------+ 8 // | This source file is subject to version 2.02 of the PHP license, | 9 // | that is bundled with this package in the file LICENSE, and is | 10 // | available at through the world-wide-web at | 11 // | http://www.php.net/license/2_02.txt. | 12 // | If you did not receive a copy of the PHP license and are unable to | 13 // | obtain it through the world-wide-web, please send a note to | 14 // | license@php.net so we can mail you a copy immediately. | 15 // +----------------------------------------------------------------------+ 16 // | Authors: Shane Caraveo <Shane@Caraveo.com> | 17 // +----------------------------------------------------------------------+ 18 // 19 // $Id: wsdl_client.php,v 1.5 2007/01/22 11:33:27 yunosh Exp $ 20 // 21 include("SOAP/Client.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 22 23 /** 24 * this client runs against the example server in SOAP/example/server.php 25 * it does not use WSDL to run these requests, but that can be changed easily by simply 26 * adding '?wsdl' to the end of the url.27 * /28 $wsdl = new SOAP_WSDL( "http://localhost/SOAP/example/server.php?wsdl");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 29 $soapclient = $wsdl->getProxy(); 30 30 31 $ret = $soapclient->echoStringSimple( "this is a test string");32 // print$soapclient->getWire();33 print_r($ret); echo "<br>\n";31 $ret = $soapclient->echoStringSimple('this is a test string'); 32 // echo $soapclient->getWire(); 33 print_r($ret); 34 34 35 $ret = $soapclient->echoString( "this is a test string");36 print_r($ret); echo "<br>\n";35 $ret = $soapclient->echoString('this is a test string'); 36 print_r($ret); 37 37 38 $ret = $soapclient->divide(22,7); 39 // print $soapclient->getWire(); 40 if (PEAR::isError($ret)) 41 print("Error: " . $ret->getMessage() . "<br>\n"); 42 else 43 print("Quotient is " . $ret . "<br>\n"); 38 $ret = $soapclient->divide(22, 7); 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 } 44 45 45 $ret = $soapclient->divide(22,0); 46 if (PEAR::isError($ret)) 47 print("Error: " . $ret->getMessage() . "<br>\n"); 48 else 49 print("Quotient is " . $ret . "<br>\n"); 46 $ret = $soapclient->divide(22, 0); 47 if (is_a($ret, 'PEAR_Error')) { 48 echo 'Error: ' . $ret->getMessage() . "\n"; 49 } else { 50 echo 'Quotient is ' . $ret . "\n"; 51 } 50 52 53 /* SOAPStruct is defined in the following file. */ 54 require_once './example_types.php'; 55 $struct = new SOAPStruct('test string', 123, 123.123); 51 56 52 // SOAPStruct is defined in the following file 53 require_once 'example_types.php'; 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; 54 63 55 $struct = new SOAPStruct('test string',123,123.123);56 57 /* Send an object, get an object back.58 * Tell the client to translate to classes we provide if possible. */59 $soapclient->_auto_translation = true;60 /* Or you can explicitly set the translation for a specific class.61 * auto_translation works for all cases, but opens ANY class in the script to62 * be used as a data type, and may not be desireable. both can be used on63 * client or server. */64 64 $soapclient->setTypeTranslation('{http://soapinterop.org/xsd}SOAPStruct', 65 65 'SOAPStruct'); 66 66 $ret = $soapclient->echoStruct($struct->__to_soap()); 67 // print$soapclient->getWire();67 // echo $soapclient->getWire(); 68 68 print_r($ret); 69 69 70 /** 71 * PHP doesn't support multiple OUT parameters in function calls, so we must 70 /* PHP doesn't support multiple OUT parameters in function calls, so we must 72 71 * do a little work to make it happen here. This requires knowledge on the 73 * developers part to figure out how they want to deal with it. 74 */ 72 * developers part to figure out how they want to deal with it. */ 75 73 $ret = $soapclient->echoStructAsSimpleTypes($struct->__to_soap()); 76 if ( PEAR::isError($ret)) {77 print("Error: " . $ret->getMessage() . "<br>\n");74 if (is_a($ret, 'PEAR_Error')) { 75 echo 'Error: ' . $ret->getMessage() . "\n"; 78 76 } else { 79 77 list($string, $int, $float) = array_values($ret); 80 78 } 81 echo "varString: $string<br>\nvarInt: $int<br>\nvarFloat: $float<br>\n"; 82 83 ?> 79 echo "varString: $string\nvarInt: $int\nvarFloat: $float\n";
Note: See TracChangeset
for help on using the changeset viewer.