Some tests from official SOAP 1.2 specification was added

This commit is contained in:
Dmitry Stogov 2004-01-30 15:08:52 +00:00
parent b81645edd3
commit 92aa602af0
40 changed files with 1810 additions and 0 deletions

View File

@ -0,0 +1,21 @@
--TEST--
SOAP 1.2: T24 echoOk
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://wrong-version/">
<env:Body>
<test:echoOk xmlns:test="http://example.org/ts-tests">
foo
</test:echoOk>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<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: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:VersionMismatch</faultcode><faultstring>Wrong Version</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

View File

@ -0,0 +1,22 @@
--TEST--
SOAP 1.2: T25 echoOk
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<!DOCTYPE env:Envelope SYSTEM "env.dtd"[]>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<test:echoOk xmlns:test="http://example.org/ts-tests">
foo
</test:echoOk>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<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: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>DTD are not supported by SOAP</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

View File

@ -0,0 +1,29 @@
--TEST--
SOAP 1.2: T27 echoStringArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<env:Body>
<test:echoStringArray xmlns:test="http://example.org/ts-tests"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<test:array enc:itemType="xs:string" enc:arraySize="1">
<a>
<b>1</b>
</a>
</test:array>
</test:echoStringArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of encoding rules</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,22 @@
--TEST--
SOAP 1.2: T28 echoOk
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<test:echoOk xmlns:test="http://example.org/ts-tests" >
foo
</test:echoOk>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>encodingStyle cannot be specified on the Body</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,22 @@
--TEST--
SOAP 1.2: T31 returnVoid
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<test:returnVoid xmlns:test="http://example.org/ts-tests">
</test:returnVoid>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:returnVoidResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,20 @@
--TEST--
SOAP 1.2: T33
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body>
<test:DoesNotExist xmlns:test="http://example.org/ts-tests">
</test:DoesNotExist>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>rpc:ProcedureNotPresent</env:Value></env:Code><env:Reason><env:Text>Procedure not present</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,30 @@
--TEST--
SOAP 1.2: T41 echoStruct
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoStruct xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStruct xsi:type="ns1:SOAPStruct"
xmlns:ns1="http://example.org/ts-tests/xsd">
<varInt xsi:type="xsd:int">42</varInt>
<varFloat xsi:type="xsd:float">0.005</varFloat>
<varString xsi:type="xsd:string">hello world</varString>
</inputStruct>
</test:echoStruct>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></return></ns1:echoStructResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,39 @@
--TEST--
SOAP 1.2: T42 echoStructArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoStructArray xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStructArray enc:itemType="ns1:SOAPStruct"
enc:arraySize="2"
xmlns:ns1="http://example.org/ts-tests/xsd"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<item xsi:type="ns1:SOAPStruct">
<varInt xsi:type="xsd:int">42</varInt>
<varFloat xsi:type="xsd:float">0.005</varFloat>
<varString xsi:type="xsd:string">hello world</varString>
</item>
<item xsi:type="ns1:SOAPStruct">
<varInt xsi:type="xsd:int">43</varInt>
<varFloat xsi:type="xsd:float">0.123</varFloat>
<varString xsi:type="xsd:string">bye world</varString>
</item>
</inputStructArray>
</test:echoStructArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStructArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="ns2:SOAPStruct" enc:arraySize="2" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">bye world</varString><varInt xsi:type="xsd:int">43</varInt><varFloat xsi:type="xsd:float">0.123</varFloat></item></return></ns1:echoStructArrayResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,30 @@
--TEST--
SOAP 1.2: T43 echoStructAsSimpleTypes
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoStructAsSimpleTypes xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStruct xsi:type="ns1:SOAPStruct"
xmlns:ns1="http://example.org/ts-tests/xsd">
<varInt xsi:type="xsd:int">42</varInt>
<varFloat xsi:type="xsd:float">0.005</varFloat>
<varString xsi:type="xsd:string">hello world</varString>
</inputStruct>
</test:echoStructAsSimpleTypes>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoStructAsSimpleTypesResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><outputString xsi:type="xsd:string">hello world</outputString><outputInteger xsi:type="xsd:int">42</outputInteger><outputFloat xsi:type="xsd:float">0.005</outputFloat></ns1:echoStructAsSimpleTypesResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,27 @@
--TEST--
SOAP 1.2: T44 echoSimpleTypesAsStruct
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoSimpleTypesAsStruct xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputInt xsi:type="xsd:int">42</inputInt>
<inputFloat xsi:type="xsd:float">0.005</inputFloat>
<inputString xsi:type="xsd:string">hello world</inputString>
</test:echoSimpleTypesAsStruct>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoSimpleTypesAsStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></return></ns1:echoSimpleTypesAsStructResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,35 @@
--TEST--
SOAP 1.2: T45 echoNestedStruct
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoNestedStruct xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStruct xsi:type="ns1:SOAPStructStruct"
xmlns:ns1="http://example.org/ts-tests/xsd">
<varInt xsi:type="xsd:int">42</varInt>
<varFloat xsi:type="xsd:float">0.005</varFloat>
<varString xsi:type="xsd:string">hello world</varString>
<varStruct xsi:type="ns1:SOAPStruct">
<varInt xsi:type="xsd:int">99</varInt>
<varFloat xsi:type="xsd:float">4.0699e-12</varFloat>
<varString xsi:type="xsd:string">nested struct</varString>
</varStruct>
</inputStruct>
</test:echoNestedStruct>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoNestedStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">nested struct</varString><varInt xsi:type="xsd:int">99</varInt><varFloat xsi:type="xsd:float">4.0699E-12</varFloat></varStruct></return></ns1:echoNestedStructResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,36 @@
--TEST--
SOAP 1.2: T46 echoNestedArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoNestedArray xmlns:test="http://exaple.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStruct xsi:type="ns1:SOAPArrayStruct"
xmlns:ns1="http://example.org/ts-tests/xsd">
<varInt xsi:type="xsd:int">42</varInt>
<varFloat xsi:type="xsd:float">0.005</varFloat>
<varString xsi:type="xsd:string">hello world</varString>
<varArray enc:itemType="xsd:string" enc:arraySize="3"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<item xsi:type="xsd:string">red</item>
<item xsi:type="xsd:string">blue</item>
<item xsi:type="xsd:string">green</item>
</varArray>
</inputStruct>
</test:echoNestedArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoNestedArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat><varArray enc:itemType="xsd:string" enc:arraySize="3" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,29 @@
--TEST--
SOAP 1.2: T47 echoFloatArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoFloatArray xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputFloatArray enc:itemType="xsd:float" enc:arraySize="2"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<item xsi:type="xsd:float">0.00000555</item>
<item xsi:type="xsd:float">12999.9</item>
</inputFloatArray>
</test:echoFloatArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoFloatArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:float" enc:arraySize="2" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">5.55E-06</item><item xsi:type="xsd:float">12999.9</item></return></ns1:echoFloatArrayResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,29 @@
--TEST--
SOAP 1.2: T48 echoStringArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoStringArray xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStringArray enc:itemType="xsd:string" enc:arraySize="2"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<item xsi:type="xsd:string">hello</item>
<item xsi:type="xsd:string">world</item>
</inputStringArray>
</test:echoStringArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:string" enc:arraySize="2" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">hello</item><item xsi:type="xsd:string">world</item></return></ns1:echoStringArrayResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,29 @@
--TEST--
SOAP 1.2: T49 echoStringArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoStringArray xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStringArray enc:arraySize="2"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<item xsi:type="xsd:string">hello</item>
<item xsi:type="xsd:string">world</item>
</inputStringArray>
</test:echoStringArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:string" enc:arraySize="2" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">hello</item><item xsi:type="xsd:string">world</item></return></ns1:echoStringArrayResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,29 @@
--TEST--
SOAP 1.2: T50 echoIntegerArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoIntegerArray xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputIntegerArray enc:itemType="xsd:int" enc:arraySize="2"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<item xsi:type="xsd:int">100</item>
<item xsi:type="xsd:int">200</item>
</inputIntegerArray>
</test:echoIntegerArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoIntegerArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:int" enc:arraySize="2" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">100</item><item xsi:type="xsd:int">200</item></return></ns1:echoIntegerArrayResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,27 @@
--TEST--
SOAP 1.2: T51 echoBase64
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Body>
<test:echoBase64 xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputBase64 xsi:type="xsd:base64Binary">
YUdWc2JHOGdkMjl5YkdRPQ==
</inputBase64>
</test:echoBase64>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoBase64Response env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:base64Binary">YUdWc2JHOGdkMjl5YkdRPQ==</return></ns1:echoBase64Response></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,25 @@
--TEST--
SOAP 1.2: T52 echoBoolean
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoBoolean xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputBoolean xsi:type="xsd:boolean">1</inputBoolean>
</test:echoBoolean>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoBooleanResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">1</return></ns1:echoBooleanResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,25 @@
--TEST--
SOAP 1.2: T53 echoDate
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoDate xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputDate xsi:type="xsd:date">1956-10-18T22:20:00-07:00</inputDate>
</test:echoDate>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoDateResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:dateTime">1956-10-18T22:20:00-07:00</return></ns1:echoDateResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,25 @@
--TEST--
SOAP 1.2: T54 echoDecimal
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoDecimal xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputDecimal xsi:type="xsd:decimal">123.45678901234567890</inputDecimal>
</test:echoDecimal>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoDecimalResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:decimal">123.45678901234567890</return></ns1:echoDecimalResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,25 @@
--TEST--
SOAP 1.2: T55 echoFloat
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoFloat xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputFloat xsi:type="xsd:float">0.005</inputFloat>
</test:echoFloat>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoFloatResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:float">0.005</return></ns1:echoFloatResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,34 @@
--TEST--
SOAP 1.2: T56 echoString
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<env:Header>
<test:DataHolder xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<test:Data enc:id="data-1" xsi:type="xsd:string">
hello world
</test:Data>
</test:DataHolder>
</env:Header>
<env:Body>
<test:echoString xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputString enc:ref="#data-2" xsi:type="xsd:string" />
</test:echoString>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Unresolved reference '#data-2'</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,32 @@
--TEST--
SOAP 1.2: T57 echoString
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<env:Header>
<test:DataHolder xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<test:Data enc:id="data" xsi:type="xsd:string">hello world</test:Data>
</test:DataHolder>
</env:Header>
<env:Body>
<test:echoString xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<test:inputString enc:ref="#data" xsi:type="xsd:string" />
</test:echoString>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,28 @@
--TEST--
SOAP 1.2: T58 echoIntegerArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoIntegerArray xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputIntegerArray enc:itemType="xsd:int" enc:arraySize="1"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<a><b>1</b></a>
</inputIntegerArray>
</test:echoIntegerArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of encoding rules</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,28 @@
--TEST--
SOAP 1.2: T59 echoStringArray
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoStringArray xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStringArray enc:itemType="xsd:string"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<item enc:id="data" xsi:type="xsd:string" enc:ref="#data">hello</item>
<item>world</item>
</inputStringArray>
</test:echoStringArray>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of id and ref information items '#data'</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,29 @@
--TEST--
SOAP 1.2: T60 countItems
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:countItems xmlns:test="http://example.org/ts-tests"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStringArray enc:itemType="xsd:string" enc:arraySize="*">
<item xsi:type="xsd:string">hello</item>
<item xsi:type="xsd:string">world</item>
</inputStringArray>
</test:countItems>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:countItemsResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:int">2</return></ns1:countItemsResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,28 @@
--TEST--
SOAP 1.2: T61 countItems
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:countItems xmlns:test="http://example.org/ts-tests"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputStringArray enc:itemType="xsd:string" enc:arraySize="2 *">
<item xsi:type="xsd:string">hello</item>
<item xsi:type="xsd:string">world</item>
</inputStringArray>
</test:countItems>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: '*' may only be first arraySize value in list</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,19 @@
--TEST--
SOAP 1.2: T69 echoOk
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
</env:Header>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>Body must be present in a SOAP envelope</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,23 @@
--TEST--
SOAP 1.2: T70 echoOk
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
</env:Header>
<env:Body>
</env:Body>
<Trailer>
</Trailer>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>A SOAP 1.2 envelope can contain only Header and Body</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,24 @@
--TEST--
SOAP 1.2: T71 echoOk
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
attr1="a-value">
<env:Header>
<test:echoOk xmlns:test="http://example.org/ts-tests">
foo
</test:echoOk>
</env:Header>
<env:Body>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>A SOAP Envelope element cannot have non Namespace qualified attributes</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,22 @@
--TEST--
SOAP 1.2: T72 echoOk
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<env:Body>
<test:echoOk xmlns:test="http://example.org/ts-tests">
foo
</test:echoOk>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>encodingStyle cannot be specified on the Envelope</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>

View File

@ -0,0 +1,26 @@
--TEST--
SOAP 1.2: T73 echoString
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoString xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-envelope/encoding/none">
<test:inputString xsi:type="xsd:string"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">hello world</test:inputString>
</test:echoString>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,25 @@
--TEST--
SOAP 1.2: T76.1 echoString
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:echoString xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputString xsi:type="xsd:string">hello world</inputString>
</test:echoString>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,32 @@
--TEST--
SOAP 1.2: T76.2 echoString
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
<env:Header>
<test:DataHolder xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<test:Data enc:id="data" xsi:type="xsd:string">hello world</test:Data>
</test:DataHolder>
</env:Header>
<env:Body>
<test:echoString xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputString enc:ref="data" xsi:type="xsd:string" />
</test:echoString>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,25 @@
--TEST--
SOAP 1.2: T77.1 isNil
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:isNil xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputString xsi:nil="1" />
</test:isNil>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">1</return></ns1:isNilResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,24 @@
--TEST--
SOAP 1.2: T77.2 isNil
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:isNil xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
</test:isNil>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">1</return></ns1:isNilResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,27 @@
--TEST--
SOAP 1.2: T77.3 isNul
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<test:isNil xmlns:test="http://example.org/ts-tests"
env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<inputString xsi:type="xsd:string">
This is a string
</inputString>
</test:isNil>
</env:Body>
</env:Envelope>
EOF;
include "soap12-test.inc";
?>
--EXPECT--
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">0</return></ns1:isNilResponse></env:Body></env:Envelope>
ok

View File

@ -0,0 +1,3 @@
<?php
if (!extension_loaded('soap')) die('skip soap extension not available');
?>

View File

@ -0,0 +1,106 @@
<?php
class Soap12test {
function echoOk($x) {
return $x;
}
function echoString($inputString) {
return $inputString;
}
function echoStringArray($inputStringArray) {
return $inputStringArray;
}
function echoInteger($inputInteger) {
return $inputInteger;
}
function echoIntegerArray($inputIntegerArray) {
return $inputIntegerArray;
}
function echoFloat($inputFloat) {
return $inputFloat;
}
function echoFloatArray($inputFloatArray) {
return $inputFloatArray;
}
function echoStruct($x) {
return $x;
}
function echoStructArray($x) {
return $x;
}
function echoVoid() {
return NULL;
}
function echoBase64($b_encoded) {
return $b_encoded;
}
function echoDate($timeInstant) {
return $timeInstant;
}
function echoHexBinary($hb) {
return $hb;
}
function echoDecimal($dec) {
return $dec;
}
function echoBoolean($boolean) {
return $boolean;
}
function echoStructAsSimpleTypes ($struct) {
return array('outputString' => $struct->varString,
'outputInteger' => $struct->varInt,
'outputFloat' => $struct->varFloat);
}
function echoSimpleTypesAsStruct($string, $int, $float) {
return (object)array("varString" => $string,
"varInt" => $int,
"varFloat" => $float);
}
function echoNestedStruct($struct) {
return $struct;
}
function echo2DStringArray($ary) {
return $ary;
}
function echoNestedArray($ary) {
return $ary;
}
function countItems($input) {
return count($input);
}
function isNil($input) {
return is_null($input);
}
function returnVoid() {
}
}
$server = new soapserver("http://http://example.org/ts-tests");
$server->bind(dirname(__FILE__)."/soap12-test.wsdl");
$server->setClass("Soap12test");
$server->handle();
echo "ok\n";
?>

View File

@ -0,0 +1,699 @@
<?xml version="1.0"?>
<definitions name="SOAP-12-TestDefinitions"
targetNamespace="http://whitemesa.net/wsdl/soap12-test"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
xmlns:tns="http://whitemesa.net/wsdl/soap12-test"
xmlns:types="http://example.org/ts-tests/xsd"
xmlns:test="http://example.org/ts-tests"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:enc11="http://schemas.xmlsoap.org/soap/encoding/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org/ts-tests/xsd">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="ArrayOfstring">
<complexContent>
<restriction base="enc11:Array">
<attribute ref="enc11:arrayType" wsdl:arrayType="xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfint">
<complexContent>
<restriction base="enc11:Array">
<attribute ref="enc11:arrayType" wsdl:arrayType="xsd:int[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOffloat">
<complexContent>
<restriction base="enc11:Array">
<attribute ref="enc11:arrayType" wsdl:arrayType="xsd:float[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfSOAPStruct">
<complexContent>
<restriction base="enc11:Array">
<attribute ref="enc11:arrayType" wsdl:arrayType="types:SOAPStruct[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="SOAPStruct">
<all>
<element name="varString" type="xsd:string"/>
<element name="varInt" type="xsd:int"/>
<element name="varFloat" type="xsd:float"/>
</all>
</complexType>
<complexType name="SOAPStructStruct">
<all>
<element name="varString" type="xsd:string"/>
<element name="varInt" type="xsd:int"/>
<element name="varFloat" type="xsd:float"/>
<element name="varStruct" type="types:SOAPStruct"/>
</all>
</complexType>
<complexType name="SOAPArrayStruct">
<all>
<element name="varString" type="xsd:string"/>
<element name="varInt" type="xsd:int"/>
<element name="varFloat" type="xsd:float"/>
<element name="varArray" type="types:ArrayOfstring"/>
</all>
</complexType>
<!-- unknown header block type -->
<complexType name="UnknownType">
<sequence>
<element minOccurs="0" maxOccurs="1" name="stringValue" type="xsd:string" />
</sequence>
</complexType>
</schema>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="http://example.org/ts-tests">
<import namespace="http://www.w3.org/1999/xlink" />
<import namespace="http://example.org/ts-tests/xsd" />
<!-- 3.2.1 echoOk -->
<element name="echoOk" type="xsd:string"/>
<!-- 3.2.2 responseOk -->
<element name="responseOk" type="xsd:string"/>
<!-- 3.2.3 Ignore -->
<element name="Ignore" type="xsd:string"/>
<!-- 3.2.4 requiredHeader -->
<element name="requiredHeader" type="xsd:string"/>
<!-- 3.2.5 DataHolder -->
<element name="DataHolder" type="test:DataHolder_t"/>
<complexType name="DataHolder_t">
<sequence>
<element name="Data" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
<!-- 3.2.6 concatAndForwardEchoOk -->
<element name="concatAndForwardEchoOk"/>
<!-- 3.2.7 concatAndForwardEchoOkArg1 -->
<element name="concatAndForwardEchoOkArg1" type="xsd:string"/>
<!-- 3.2.8 concatAndForwardEchoOkArg2 -->
<element name="concatAndForwardEchoOkArg2" type="xsd:string"/>
<!-- 3.2.9 validateCountryCode -->
<element name="validateCountryCode" type="xsd:string"/>
<!-- 3.2.10 validateCountryCodeFault -->
<element name="validateCountryCodeFault" type="xsd:string"/>
<!-- 3.2.11 echoResolvedRef -->
<element name="RelativeReference" type="test:RelativeReference_t"/>
<complexType name="RelativeReference_t">
<attribute ref="xml:base"/>
<attribute ref="xlink:href"/>
</complexType>
<element name="echoResolvedRef" type="test:echoResolvedRef_t"/>
<complexType name="echoResolvedRef_t">
<sequence>
<element ref="test:RelativeReference" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
<!-- 3.2.12 responseResolvedRef -->
<element name="responseResolvedRef" type="xsd:string"/>
<!-- echoOkUltimateReceiver added to support testing of "relay" -->
<element name="echoOkUltimateReceiver" type="xsd:string"/>
<!-- responseOkUltimateReceiver added to support testing of "relay" -->
<element name="responseOkUltimateReceiver" type="xsd:string"/>
<element name="Unknown" type="types:UnknownType" />
</schema>
</types>
<!-- 3.4.1 returnVoid rpc operation -->
<message name="returnVoidRequest"/>
<message name="returnVoidResponse"/>
<!-- 3.4.2 echoStruct rpc operation -->
<message name="echoStructRequest">
<part name="inputStruct" type="types:SOAPStruct"/>
</message>
<message name="echoStructResponse">
<part name="return" type="types:SOAPStruct"/>
</message>
<!-- 3.4.3 echoStructArray rpc operation -->
<message name="echoStructArrayRequest">
<part name="inputStructArray" type="types:ArrayOfSOAPStruct"/>
</message>
<message name="echoStructArrayResponse">
<part name="return" type="types:ArrayOfSOAPStruct"/>
</message>
<!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
<message name="echoStructAsSimpleTypesRequest">
<part name="inputStruct" type="types:SOAPStruct"/>
</message>
<message name="echoStructAsSimpleTypesResponse">
<part name="outputString" type="xsd:string"/>
<part name="outputInteger" type="xsd:int"/>
<part name="outputFloat" type="xsd:float"/>
</message>
<!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
<message name="echoSimpleTypesAsStructRequest">
<part name="inputString" type="xsd:string"/>
<part name="inputInt" type="xsd:int"/>
<part name="inputFloat" type="xsd:float"/>
</message>
<message name="echoSimpleTypesAsStructResponse">
<part name="return" type="types:SOAPStruct"/>
</message>
<!-- 3.4.6 echoNestedStruct rpc operation -->
<message name="echoNestedStructRequest">
<part name="inputStruct" type="types:SOAPStructStruct"/>
</message>
<message name="echoNestedStructResponse">
<part name="return" type="types:SOAPStructStruct"/>
</message>
<!-- 3.4.7 echoNestedArray rpc operation -->
<message name="echoNestedArrayRequest">
<part name="inputStruct" type="types:SOAPArrayStruct"/>
</message>
<message name="echoNestedArrayResponse">
<part name="return" type="types:SOAPArrayStruct"/>
</message>
<!-- 3.4.8 echoFloatArray rpc operation -->
<message name="echoFloatArrayRequest">
<part name="inputFloatArray" type="types:ArrayOffloat"/>
</message>
<message name="echoFloatArrayResponse">
<part name="return" type="types:ArrayOffloat"/>
</message>
<!-- 3.4.9 echoStringArray rpc operation -->
<message name="echoStringArrayRequest">
<part name="inputStringArray" type="types:ArrayOfstring"/>
</message>
<message name="echoStringArrayResponse">
<part name="return" type="types:ArrayOfstring"/>
</message>
<!-- 3.4.10 echoIntegerArray rpc operation -->
<message name="echoIntegerArrayRequest">
<part name="inputIntegerArray" type="types:ArrayOfint"/>
</message>
<message name="echoIntegerArrayResponse">
<part name="return" type="types:ArrayOfint"/>
</message>
<!-- 3.4.11 echoBase64 rpc operation -->
<message name="echoBase64Request">
<part name="inputBase64" type="xsd:base64Binary"/>
</message>
<message name="echoBase64Response">
<part name="return" type="xsd:base64Binary"/>
</message>
<!-- 3.4.12 echoBoolean rpc operation -->
<message name="echoBooleanRequest">
<part name="inputBoolean" type="xsd:boolean"/>
</message>
<message name="echoBooleanResponse">
<part name="return" type="xsd:boolean"/>
</message>
<!-- 3.4.13 echoDate rpc operation -->
<message name="echoDateRequest">
<part name="inputDate" type="xsd:dateTime"/>
</message>
<message name="echoDateResponse">
<part name="return" type="xsd:dateTime"/>
</message>
<!-- 3.4.14 echoDecimal rpc operation -->
<message name="echoDecimalRequest">
<part name="inputDecimal" type="xsd:decimal"/>
</message>
<message name="echoDecimalResponse">
<part name="return" type="xsd:decimal"/>
</message>
<!-- 3.4.15 echoFloat rpc operation -->
<message name="echoFloatRequest">
<part name="inputFloat" type="xsd:float"/>
</message>
<message name="echoFloatResponse">
<part name="return" type="xsd:float"/>
</message>
<!-- 3.4.16 echoString rpc operation -->
<message name="echoStringRequest">
<part name="inputString" type="xsd:string"/>
</message>
<message name="echoStringResponse">
<part name="return" type="xsd:string"/>
</message>
<!-- 3.4.17 countItems rpc operation -->
<message name="countItemsRequest">
<part name="inputStringArray" type="types:ArrayOfstring"/>
</message>
<message name="countItemsResponse">
<part name="return" type="xsd:int"/>
</message>
<!-- 3.4.18 isNil rpc operation -->
<message name="isNilRequest">
<part name="inputString" type="xsd:string"/>
</message>
<message name="isNilResponse">
<part name="return" type="xsd:boolean"/>
</message>
<!-- DataHolder header block -->
<message name="DataHolderRequest">
<part name="DataHolder" type="test:DataHolder_t"/>
</message>
<message name="DataHolderResponse">
<part name="DataHolder" type="test:DataHolder_t"/>
</message>
<!-- empty message for doc/literal testing -->
<message name="emptyBodyRequest"/>
<message name="emptyBodyResponse"/>
<!-- echoOk body/header block -->
<message name="echoOkRequest">
<part name="echoOk" element="test:echoOk"/>
</message>
<message name="echoOkResponse">
<part name="responseOk" element="test:responseOk"/>
</message>
<!-- "unknown" header block -->
<message name="UnknownHdrBlockLit">
<part name="Unknown" element="test:Unknown" />
</message>
<message name="UnknownHdrBlockEnc">
<part name="Unknown" type="types:UnknownType" />
</message>
<portType name="Soap12TestPortTypeDoc">
<operation name="emptyBody">
<input message="tns:emptyBodyRequest" />
<output message="tns:emptyBodyResponse" />
</operation>
<operation name="echoOk">
<input message="tns:echoOkRequest" />
<output message="tns:echoOkResponse" />
</operation>
</portType>
<portType name="Soap12TestPortTypeRpc">
<!-- 3.4.1 returnVoid rpc operation -->
<operation name="returnVoid">
<input message="tns:returnVoidRequest"/>
<output message="tns:returnVoidResponse"/>
</operation>
<!-- 3.4.2 echoStruct rpc operation -->
<operation name="echoStruct" parameterOrder="inputStruct">
<input message="tns:echoStructRequest"/>
<output message="tns:echoStructResponse"/>
</operation>
<!-- 3.4.3 echoStructArray rpc operation -->
<operation name="echoStructArray" parameterOrder="inputStructArray">
<input message="tns:echoStructArrayRequest"/>
<output message="tns:echoStructArrayResponse"/>
</operation>
<!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
<operation name="echoStructAsSimpleTypes" parameterOrder="inputStruct outputString outputInteger outputFloat">
<input message="tns:echoStructAsSimpleTypesRequest"/>
<output message="tns:echoStructAsSimpleTypesResponse"/>
</operation>
<!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
<operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat">
<input message="tns:echoSimpleTypesAsStructRequest"/>
<output message="tns:echoSimpleTypesAsStructResponse"/>
</operation>
<!-- 3.4.6 echoNestedStruct rpc operation -->
<operation name="echoNestedStruct" parameterOrder="inputStruct">
<input message="tns:echoNestedStructRequest"/>
<output message="tns:echoNestedStructResponse"/>
</operation>
<!-- 3.4.7 echoNestedArray rpc operation -->
<operation name="echoNestedArray" parameterOrder="inputStruct">
<input message="tns:echoNestedArrayRequest"/>
<output message="tns:echoNestedArrayResponse"/>
</operation>
<!-- 3.4.8 echoFloatArray rpc operation -->
<operation name="echoFloatArray" parameterOrder="inputFloatArray">
<input message="tns:echoFloatArrayRequest"/>
<output message="tns:echoFloatArrayResponse"/>
</operation>
<!-- 3.4.9 echoStringArray rpc operation -->
<operation name="echoStringArray" parameterOrder="inputStringArray">
<input message="tns:echoStringArrayRequest"/>
<output message="tns:echoStringArrayResponse"/>
</operation>
<!-- 3.4.10 echoIntegerArray rpc operation -->
<operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
<input message="tns:echoIntegerArrayRequest"/>
<output message="tns:echoIntegerArrayResponse"/>
</operation>
<!-- 3.4.11 echoBase64 rpc operation -->
<operation name="echoBase64" parameterOrder="inputBase64">
<input message="tns:echoBase64Request"/>
<output message="tns:echoBase64Response"/>
</operation>
<!-- 3.4.12 echoBoolean rpc operation -->
<operation name="echoBoolean" parameterOrder="inputBoolean">
<input message="tns:echoBooleanRequest"/>
<output message="tns:echoBooleanResponse"/>
</operation>
<!-- 3.4.13 echoDate rpc operation -->
<operation name="echoDate" parameterOrder="inputDate">
<input message="tns:echoDateRequest"/>
<output message="tns:echoDateResponse"/>
</operation>
<!-- 3.4.14 echoDecimal rpc operation -->
<operation name="echoDecimal" parameterOrder="inputDecimal">
<input message="tns:echoDecimalRequest"/>
<output message="tns:echoDecimalResponse"/>
</operation>
<!-- 3.4.15 echoFloat rpc operation -->
<operation name="echoFloat" parameterOrder="inputFloat">
<input message="tns:echoFloatRequest"/>
<output message="tns:echoFloatResponse"/>
</operation>
<!-- 3.4.16 echoString rpc operation -->
<operation name="echoString" parameterOrder="inputString">
<input message="tns:echoStringRequest"/>
<output message="tns:echoStringResponse"/>
</operation>
<!-- 3.4.17 countItems rpc operation -->
<operation name="countItems" parameterOrder="inputStringArray">
<input message="tns:countItemsRequest"/>
<output message="tns:countItemsResponse"/>
</operation>
<!-- 3.4.18 isNil rpc operation -->
<operation name="isNil" parameterOrder="inputString">
<input message="tns:isNilRequest"/>
<output message="tns:isNilResponse"/>
</operation>
</portType>
<binding name="Soap12TestDocBinding" type="tns:Soap12TestPortTypeDoc">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="emptyBody">
<soap12:operation/>
<input>
<soap12:body use="literal" />
<soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" />
<soap12:header message="tns:UnknownHdrBlockLit" part="Unknown" use="literal" />
</input>
<output>
<soap12:body use="literal" />
<soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
</output>
</operation>
<operation name="echoOk">
<soap12:operation/>
<input>
<soap12:body use="literal" />
<soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" />
<soap12:header message="tns:UnknownHdrBlockLit" part="Unknown" use="literal" />
</input>
<output>
<soap12:body use="literal" />
<soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
</output>
</operation>
</binding>
<binding name="Soap12TestRpcBinding" type="tns:Soap12TestPortTypeRpc">
<soap12:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<!-- 3.4.1 returnVoid rpc operation -->
<operation name="returnVoid">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.2 echoStruct rpc operation -->
<operation name="echoStruct">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.3 echoStructArray rpc operation -->
<operation name="echoStructArray">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
<operation name="echoStructAsSimpleTypes">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
<operation name="echoSimpleTypesAsStruct">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.6 echoNestedStruct rpc operation -->
<operation name="echoNestedStruct">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.7 echoNestedArray rpc operation -->
<operation name="echoNestedArray">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.8 echoFloatArray rpc operation -->
<operation name="echoFloatArray">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.9 echoStringArray rpc operation -->
<operation name="echoStringArray">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.10 echoIntegerArray rpc operation -->
<operation name="echoIntegerArray">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.11 echoBase64 rpc operation -->
<operation name="echoBase64">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.12 echoBoolean rpc operation -->
<operation name="echoBoolean">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.13 echoDate rpc operation -->
<operation name="echoDate">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.14 echoDecimal rpc operation -->
<operation name="echoDecimal">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.15 echoFloat rpc operation -->
<operation name="echoFloat">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.16 echoString rpc operation -->
<operation name="echoString">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
<soap12:header use="encoded" message="tns:DataHolderRequest" part="DataHolder" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
<soap12:header use="encoded" message="tns:DataHolderResponse" part="DataHolder" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.17 countItems rpc operation -->
<operation name="countItems">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
<!-- 3.4.18 isNil rpc operation -->
<operation name="isNil">
<soap12:operation/>
<input>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</input>
<output>
<soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
</output>
</operation>
</binding>
<service name="WhiteMesaSoap12TestSvc">
<port name="Soap12TestDocPort" binding="tns:Soap12TestDocBinding">
<soap12:address location="http://localhost/soap12/test-doc"/>
</port>
<port name="Soap12TestRpcPort" binding="tns:Soap12TestRpcBinding">
<soap12:address location="http://localhost/soap12/test-rpc"/>
</port>
</service>
</definitions>