1--TEST--
2SOAP Interop Round4 GroupH Complex Doc Lit 006 (php/wsdl): echoMultipleFaults1(3)
3--EXTENSIONS--
4soap
5--INI--
6precision=14
7soap.wsdl_cache_enabled=0
8--FILE--
9<?php
10class SOAPStruct {
11    function __construct(public $varString, public $varInt, public $varFloat) {}
12}
13class BaseStruct {
14    function __construct(public $structMessage, public $shortMessage) {}
15}
16$s1 = new SOAPStruct('arg1',34,325.325);
17$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
18$client = new SoapClient(__DIR__."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
19$client->echoMultipleFaults1(array("whichFault" => 3,
20                                   "param1"     => $s1,
21                                   "param2"     => $s2));
22echo $client->__getlastrequest();
23$HTTP_RAW_POST_DATA = $client->__getlastrequest();
24include("round4_groupH_complex_doclit.inc");
25echo "ok\n";
26?>
27--EXPECT--
28<?xml version="1.0" encoding="UTF-8"?>
29<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>3</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
30<?xml version="1.0" encoding="UTF-8"?>
31<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg1</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
32ok
33