source: branches/feature-module-update/data/module/SOAP/example/wsdl_client.php @ 16957

Revision 16957, 3.4 KB checked in by naka, 15 years ago (diff)

PEAR::SOAPモジュールアップ

Line 
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//
21include("SOAP/Client.php");
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");
29$soapclient = $wsdl->getProxy();
30
31$ret = $soapclient->echoStringSimple("this is a test string");
32//print $soapclient->getWire();
33print_r($ret);echo "<br>\n";
34
35$ret = $soapclient->echoString("this is a test string");
36print_r($ret);echo "<br>\n";
37
38$ret = $soapclient->divide(22,7);
39// print $soapclient->getWire();
40if (PEAR::isError($ret))
41    print("Error: " . $ret->getMessage() . "<br>\n");
42else
43    print("Quotient is " . $ret . "<br>\n");
44
45$ret = $soapclient->divide(22,0);
46if (PEAR::isError($ret))
47    print("Error: " . $ret->getMessage() . "<br>\n");
48else
49    print("Quotient is " . $ret . "<br>\n");
50
51
52// SOAPStruct is defined in the following file
53require_once 'example_types.php';
54
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 to
62 * be used as a data type, and may not be desireable.  both can be used on
63 * client or server. */
64$soapclient->setTypeTranslation('{http://soapinterop.org/xsd}SOAPStruct',
65                                'SOAPStruct');
66$ret = $soapclient->echoStruct($struct->__to_soap());
67//print $soapclient->getWire();
68print_r($ret);
69
70/**
71 * PHP doesn't support multiple OUT parameters in function calls, so we must
72 * 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 */
75$ret = $soapclient->echoStructAsSimpleTypes($struct->__to_soap());
76if (PEAR::isError($ret)) {
77    print("Error: " . $ret->getMessage() . "<br>\n");
78} else {
79    list($string, $int, $float) = array_values($ret);
80}
81echo "varString: $string<br>\nvarInt: $int<br>\nvarFloat: $float<br>\n";
82
83?>
Note: See TracBrowser for help on using the repository browser.