1--TEST-- 2SOAP Interop Round4 GroupH Complex RPC Enc 008 (php/wsdl): echoMultipleFaults2(2) 3--SKIPIF-- 4<?php require_once('skipif.inc'); ?> 5--INI-- 6precision=14 7soap.wsdl_cache_enabled=0 8--FILE-- 9<?php 10class BaseStruct { 11 function __construct($f, $s) { 12 $this->floatMessage = $f; 13 $this->shortMessage = $s; 14 } 15} 16class ExtendedStruct extends BaseStruct { 17 function __construct($f, $s, $x1, $x2, $x3) { 18 parent::__construct($f,$s); 19 $this->stringMessage = $x1; 20 $this->intMessage = $x2; 21 $this->anotherIntMessage = $x3; 22 } 23} 24class MoreExtendedStruct extends ExtendedStruct { 25 function __construct($f, $s, $x1, $x2, $x3, $b) { 26 parent::__construct($f, $s, $x1, $x2, $x3); 27 $this->booleanMessage = $b; 28 } 29} 30$s1 = new BaseStruct(12.345,1); 31$s2 = new ExtendedStruct(12.345,2,"arg",-3,5); 32$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true); 33$client = new SoapClient(__DIR__."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0)); 34$client->echoMultipleFaults2(2,$s1,$s2,$s3); 35echo $client->__getlastrequest(); 36$HTTP_RAW_POST_DATA = $client->__getlastrequest(); 37include("round4_groupH_complex_rpcenc.inc"); 38echo "ok\n"; 39?> 40--EXPECT-- 41<?xml version="1.0" encoding="UTF-8"?> 42<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/types" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">true</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope> 43<?xml version="1.0" encoding="UTF-8"?> 44<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part3 xsi:type="ns1:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></ns2:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope> 45ok 46