1<?php
2class SOAP_Interop_GroupH {
3
4  function echoSOAPStructFault($input) {
5    return new SoapFault("Server", "Fault in response to 'echoSOAPStructFault'.", null, array("soapStruct"=>$input), "ComplexFault");
6  }
7
8  function echoBaseStructFault($input) {
9    return new SoapFault("Server", "Fault in response to 'echoBaseStructFault'.", null, $input, "ComplexFault");
10  }
11
12  function echoExtendedStructFault($input) {
13    return new SoapFault("Server", "Fault in response to 'echoExtendedStructFault'.", null, $input, "ComplexFault");
14  }
15
16  function echoMultipleFaults1($input) {
17    if ($input->whichFault == 2) {
18        return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, $input->param2, "ComplexFault2");
19      } else {
20        return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, array("soapStruct"=>$input->param1), "ComplexFault1");
21      }
22  }
23
24  function echoMultipleFaults2($input) {
25    if ($input->whichFault == 2) {
26        return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param2, "ComplexFault2");
27    } else if ($input->whichFault == 3) {
28        return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param3, "ComplexFault3");
29      } else {
30        return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param1, "ComplexFault1");
31      }
32  }
33}
34
35$server = new SoapServer(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl");
36$server->setClass("SOAP_Interop_GroupH");
37$server->handle($HTTP_RAW_POST_DATA);
38?>
39