1<?php
2class SOAP_Interop_GroupI {
3
4    function echoString($inputString)
5    {
6    	if (isset($inputString->inputString)) {
7	      return array("return"=>$inputString->inputString);
8	    } else {
9	      return $inputString;
10	    }
11    }
12
13    function echoInteger($inputInteger)
14    {
15      return array("return"=>$inputInteger->inputInteger);
16    }
17
18    function echoFloat($inputFloat)
19    {
20      return array("return"=>$inputFloat->inputFloat);
21    }
22
23    function echoVoid()
24    {
25    }
26
27    function echoBase64($inputBase64)
28    {
29    	if (isset($inputBase64->inputBase64)) {
30	      return array("return"=>$inputBase64->inputBase64);
31	    } else {
32	      return $inputBase64;
33	    }
34    }
35
36    function echoDate($timeInstant)
37    {
38      return array("return"=>$timeInstant->inputDate);
39    }
40
41    function echoComplexType($inputComplexType)
42    {
43    	if (isset($inputComplexType->inputComplexType)) {
44	      return array("return"=>$inputComplexType->inputComplexType);
45	    } else {
46	      return $inputComplexType;
47	    }
48    }
49
50    function echoIntegerMultiOccurs($input)
51    {
52    	if (isset($input->inputIntegerMultiOccurs->int)) {
53	      return array("return"=>$input->inputIntegerMultiOccurs->int);
54	    } else {
55	      return array();
56	    }
57    }
58
59    function echoFloatMultiOccurs($input)
60    {
61    	if (isset($input->inputFloatMultiOccurs->float)) {
62	      return array("return"=>$input->inputFloatMultiOccurs->float);
63	    } else {
64	      return array();
65	    }
66    }
67
68    function echoStringMultiOccurs($input)
69    {
70    	if (isset($input->inputStringMultiOccurs->string)) {
71	      return array("return"=>$input->inputStringMultiOccurs->string);
72	    } else {
73	      return array();
74	    }
75    }
76
77    function echoComplexTypeMultiOccurs($input)
78    {
79    	if (isset($input->inputComplexTypeMultiOccurs->SOAPComplexType)) {
80	      return array("return"=>$input->inputComplexTypeMultiOccurs->SOAPComplexType);
81	    } else {
82	      return array();
83	    }
84    }
85
86    function echoHexBinary($hb)
87    {
88    	if (isset($hb->inputHexBinary)) {
89	      return array("return"=>$hb->inputHexBinary);
90	    } else {
91	      return $hb;
92	    }
93    }
94
95    function echoDecimal($dec)
96    {
97      return array("return"=>$dec->inputDecimal);
98    }
99
100    function echoBoolean($boolean)
101    {
102      return array("return"=>$boolean->inputBoolean);
103    }
104
105    function echoComplexTypeAsSimpleTypes($input)
106    {
107    	if (isset($input->inputComplexType)) {
108    	  $ret = array("outputInteger" => $input->inputComplexType->varInt,
109    	               "outputFloat"   => $input->inputComplexType->varFloat);
110    	  if (isset($input->inputComplexType->varString)) {
111    	    $ret["outputString"] = $input->inputComplexType->varString;
112    	  }
113	      return $ret;
114	    } else {
115	      return array();
116	    }
117	  }
118
119    function echoSimpleTypesAsComplexType($input)
120    {
121   	  $ret = array("varInt"   => $input->inputInteger,
122   	               "varFloat" => $input->inputFloat);
123   	  if (isset($input->inputString)) {
124   	    $ret["varString"] = $input->inputString;
125   	  }
126   	  return array("return"=>$ret);
127    }
128
129    function echoNestedComplexType($inputComplexType)
130    {
131    	if (isset($inputComplexType->inputComplexType)) {
132	      return array("return"=>$inputComplexType->inputComplexType);
133	    } else {
134	      return $inputComplexType;
135	    }
136    }
137
138    function echoNestedMultiOccurs($inputComplexType)
139    {
140    	if (isset($inputComplexType->inputComplexType)) {
141	      return array("return"=>$inputComplexType->inputComplexType);
142	    } else {
143	      return $inputComplexType;
144	    }
145    }
146
147    function echoChoice($input)
148    {
149    	if (isset($input->inputChoice)) {
150	      return array("return"=>$input->inputChoice);
151	    } else {
152	      return $input;
153	    }
154    }
155
156    function echoEnum($input)
157    {
158      return array("return"=>$input->inputEnum);
159    }
160
161    function echoAnyType($input)
162    {
163    	if (isset($input->inputAnyType)) {
164	      return array("return"=>$input->inputAnyType);
165	    } else {
166	      return $input;
167	    }
168    }
169
170    function echoAnyElement($input)
171    {
172    	if (isset($input->inputAny)) {
173	      return array("return"=>$input->inputAny);
174	    } else {
175	      return $input;
176	    }
177    }
178
179    function echoVoidSoapHeader()
180    {
181    }
182
183    function echoMeStringRequest($input)
184    {
185      return new SoapHeader("http://soapinterop.org/","echoMeStringResponse",$input);
186    }
187
188    function echoMeComplexTypeRequest($input)
189    {
190      return new SoapHeader("http://soapinterop.org/","echoMeComplexTypeResponse",$input);
191    }
192
193}
194
195$server = new SoapServer(dirname(__FILE__)."/round4_groupI_xsd.wsdl");
196$server->setClass("SOAP_Interop_GroupI");
197$server->handle($HTTP_RAW_POST_DATA);
198?>
199