source: branches/version-2_11-dev/data/module/SOAP/example/wsdl_client.php @ 21299

Revision 21299, 2.9 KB checked in by Seasoft, 12 years ago (diff)

#1521 (PEAR::SOAP 配布と異なる部分がある)

  • 新しいバージョンの配布ファイルを上書きすることで解決

#1522 (PEAR::SOAP をバージョンアップ)

  • 0.11.0 -> 0.12.0
  • Property svn:mime-type set to text/x-httpd-php; charset=UTF-8
Line 
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
23require_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();
33print_r($ret);
34
35$ret = $soapclient->echoString('this is a test string');
36print_r($ret);
37
38$ret = $soapclient->divide(22, 7);
39// echo $soapclient->getWire();
40if (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(22, 0);
47if (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. */
54require_once './example_types.php';
55$struct = new SOAPStruct('test string', 123, 123.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();
68print_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());
74if (is_a($ret, 'PEAR_Error')) {
75    echo 'Error: ' . $ret->getMessage() . "\n";
76} else {
77    list($string, $int, $float) = array_values($ret);
78}
79echo "varString: $string\nvarInt: $int\nvarFloat: $float\n";
Note: See TracBrowser for help on using the repository browser.