summaryrefslogtreecommitdiff
path: root/ext/soap/interop/server_round2_groupB.php
blob: eaae5ba89b9da051d8dea1e259b1b5576ac8ecf3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?
//
// +----------------------------------------------------------------------+
// | PHP Version 4                                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.02 of the PHP license,      |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/2_02.txt.                                 |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Shane Caraveo <Shane@Caraveo.com>   Port to PEAR and more   |
// | Authors: Dietrich Ayala <dietrich@ganx4.com> Original Author         |
// +----------------------------------------------------------------------+
//
// $Id$
//

class SOAP_Interop_GroupB {
    var $method_namespace = 'http://soapinterop.org/';
    var $dispatch_map = array();

    function SOAP_Interop_GroupB() {
      $this->dispatch_map['echoStructAsSimpleTypes'] =
        array('in' => array('inputStruct' => 'SOAPStruct'),
              'out' => array('outputString' => 'string', 'outputInteger' => 'int', 'outputFloat' => 'float')
             );

    }

    function echoStructAsSimpleTypes ($struct)
    {
      return array('outputString'  => $struct->varString,
                   'outputInteger' => $struct->varInt,
                   'outputFloat'   => $struct->varFloat);
    }

    function echoSimpleTypesAsStruct($string, $int, $float)
    {
      return (object)array("varString" => $string,
      										 "varInt"    => $int,
      										 "varFloat"  => $float);
    }

    function echoNestedStruct($struct)
    {
     return $struct;
    }

    function echo2DStringArray($ary)
    {
//      $ret->options['flatten'] = TRUE;
      return $ary;
    }

    function echoNestedArray($ary)
    {
      return $ary;
    }
}

$server = new SoapServer("http://test-uri");
$server->bind((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php");
$server->setClass("SOAP_Interop_GroupB");
$server->handle();
?>