1--TEST--
2SOAP Interop Round2 base 015 (soap/direct): echoStructArray
3--SKIPIF--
4<?php require_once('skipif.inc'); ?>
5--INI--
6precision=14
7--FILE--
8<?php
9class SOAPStruct {
10    function __construct($s, $i, $f) {
11        $this->varString = $s;
12        $this->varInt = $i;
13        $this->varFloat = $f;
14    }
15}
16
17$struct1 = new SoapVar(array(
18        new SoapVar('arg', XSD_STRING, null, null, 'varString'),
19        new SoapVar('34',  XSD_INT, null, null, 'varInt'),
20        new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
21  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
22$struct2 = new SoapVar(array(
23        new SoapVar('arg', XSD_STRING, null, null, 'varString'),
24        new SoapVar('34',  XSD_INT, null, null, 'varInt'),
25        new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
26  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
27
28$param =   new SoapParam(new SoapVar(array(
29    $struct1,
30    $struct2
31  ),SOAP_ENC_ARRAY,"ArrayOfSOAPStruct","http://soapinterop.org/xsd"), "inputStructArray");
32$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
33$client->__soapCall("echoStructArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
34echo $client->__getlastrequest();
35$HTTP_RAW_POST_DATA = $client->__getlastrequest();
36include("round2_base.inc");
37echo "ok\n";
38?>
39--EXPECT--
40<?xml version="1.0" encoding="UTF-8"?>
41<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputStructArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
42<?xml version="1.0" encoding="UTF-8"?>
43<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
44ok
45