diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/soap/tests/soap12 | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/soap/tests/soap12')
76 files changed, 2773 insertions, 0 deletions
diff --git a/ext/soap/tests/soap12/T01.phpt b/ext/soap/tests/soap12/T01.phpt new file mode 100644 index 0000000..d584812 --- /dev/null +++ b/ext/soap/tests/soap12/T01.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T01 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" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next">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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T02.phpt b/ext/soap/tests/soap12/T02.phpt new file mode 100644 index 0000000..db2c260 --- /dev/null +++ b/ext/soap/tests/soap12/T02.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T02 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" + env:role="http://example.org/ts-tests/C">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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T03.phpt b/ext/soap/tests/soap12/T03.phpt new file mode 100644 index 0000000..19c29dd --- /dev/null +++ b/ext/soap/tests/soap12/T03.phpt @@ -0,0 +1,22 @@ +--TEST-- +SOAP 1.2: T03 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> +</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"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T04.phpt b/ext/soap/tests/soap12/T04.phpt new file mode 100644 index 0000000..7445cae --- /dev/null +++ b/ext/soap/tests/soap12/T04.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T04 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" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T05.phpt b/ext/soap/tests/soap12/T05.phpt new file mode 100644 index 0000000..187eb2e --- /dev/null +++ b/ext/soap/tests/soap12/T05.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T05 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" + env:role="http://example.org/ts-tests/B">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"><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T10.phpt b/ext/soap/tests/soap12/T10.phpt new file mode 100644 index 0000000..54186f6 --- /dev/null +++ b/ext/soap/tests/soap12/T10.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T10 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown> + </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"><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T11.phpt b/ext/soap/tests/soap12/T11.phpt new file mode 100644 index 0000000..3423d54 --- /dev/null +++ b/ext/soap/tests/soap12/T11.phpt @@ -0,0 +1,24 @@ +--TEST-- +SOAP 1.2: T11 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="false">foo</test:Unknown> + </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"><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T12.phpt b/ext/soap/tests/soap12/T12.phpt new file mode 100644 index 0000000..c67917f --- /dev/null +++ b/ext/soap/tests/soap12/T12.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T12 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="1">foo</test:Unknown> + </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"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T13.phpt b/ext/soap/tests/soap12/T13.phpt new file mode 100644 index 0000000..95e1c8a --- /dev/null +++ b/ext/soap/tests/soap12/T13.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T13 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="true">foo</test:Unknown> + </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"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T14.phpt b/ext/soap/tests/soap12/T14.phpt new file mode 100644 index 0000000..dbf4e1b --- /dev/null +++ b/ext/soap/tests/soap12/T14.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T14 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" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="wrong">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"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T15.phpt b/ext/soap/tests/soap12/T15.phpt new file mode 100644 index 0000000..546f942 --- /dev/null +++ b/ext/soap/tests/soap12/T15.phpt @@ -0,0 +1,24 @@ +--TEST-- +SOAP 1.2: T15 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:role="http://example.org/ts-tests/B" + env:mustUnderstand="1">foo</test:Unknown> + </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"><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T19.phpt b/ext/soap/tests/soap12/T19.phpt new file mode 100644 index 0000000..8ddb5b4 --- /dev/null +++ b/ext/soap/tests/soap12/T19.phpt @@ -0,0 +1,24 @@ +--TEST-- +SOAP 1.2: T19 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" + env:role="http://www.w3.org/2003/05/soap-envelope/role/none" + env:mustUnderstand="true">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"><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T22.phpt b/ext/soap/tests/soap12/T22.phpt new file mode 100644 index 0000000..5844550 --- /dev/null +++ b/ext/soap/tests/soap12/T22.phpt @@ -0,0 +1,24 @@ +--TEST-- +SOAP 1.2: T22 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" + env:mustUnderstand = "1">foo</test:echoOk> + </env:Header> + <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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body><ns1:responseOk>foo</ns1:responseOk></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T23.phpt b/ext/soap/tests/soap12/T23.phpt new file mode 100644 index 0000000..c676fb1 --- /dev/null +++ b/ext/soap/tests/soap12/T23.phpt @@ -0,0 +1,24 @@ +--TEST-- +SOAP 1.2: T23 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:Unknown xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="1">foo</test:Unknown> + <test:echoOk xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="wrong">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"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T24.phpt b/ext/soap/tests/soap12/T24.phpt new file mode 100644 index 0000000..ebee3b7 --- /dev/null +++ b/ext/soap/tests/soap12/T24.phpt @@ -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"?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:VersionMismatch</env:Value></env:Code><env:Reason><env:Text>Wrong Version</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T25.phpt b/ext/soap/tests/soap12/T25.phpt new file mode 100644 index 0000000..ac45e9c --- /dev/null +++ b/ext/soap/tests/soap12/T25.phpt @@ -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"?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T26.phpt b/ext/soap/tests/soap12/T26.phpt new file mode 100644 index 0000000..53c8cec --- /dev/null +++ b/ext/soap/tests/soap12/T26.phpt @@ -0,0 +1,21 @@ +--TEST-- +SOAP 1.2: T26 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"> +<?xml-stylesheet href="http://example.org/ts-tests/sub.xsl" type = "text/xsl"?> + <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:ns1="http://example.org/ts-tests"><env:Body><ns1:responseOk>foo</ns1:responseOk></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T27.phpt b/ext/soap/tests/soap12/T27.phpt new file mode 100644 index 0000000..6371113 --- /dev/null +++ b/ext/soap/tests/soap12/T27.phpt @@ -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"><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> + diff --git a/ext/soap/tests/soap12/T28.phpt b/ext/soap/tests/soap12/T28.phpt new file mode 100644 index 0000000..6118b47 --- /dev/null +++ b/ext/soap/tests/soap12/T28.phpt @@ -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"><env:Body><env:Fault><env:Code><env:Value>env:Sender</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> + diff --git a/ext/soap/tests/soap12/T29.phpt b/ext/soap/tests/soap12/T29.phpt new file mode 100644 index 0000000..3784da4 --- /dev/null +++ b/ext/soap/tests/soap12/T29.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T29 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" + env:role="http://example.org/ts-tests/Czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz">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"><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T30.phpt b/ext/soap/tests/soap12/T30.phpt new file mode 100644 index 0000000..c2e008e --- /dev/null +++ b/ext/soap/tests/soap12/T30.phpt @@ -0,0 +1,20 @@ +--TEST-- +SOAP 1.2: T30 echoOk +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php +$HTTP_RAW_POST_DATA = <<<EOF +<?xml version='1.0' ?> +<env:Envelope xmlns:env="http://schemas.xmlsoap.org/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:ns1="http://example.org/ts-tests"><SOAP-ENV:Body><ns1:responseOk>foo</ns1:responseOk></SOAP-ENV:Body></SOAP-ENV:Envelope> +ok diff --git a/ext/soap/tests/soap12/T31.phpt b/ext/soap/tests/soap12/T31.phpt new file mode 100644 index 0000000..04f0353 --- /dev/null +++ b/ext/soap/tests/soap12/T31.phpt @@ -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: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 + diff --git a/ext/soap/tests/soap12/T32.phpt b/ext/soap/tests/soap12/T32.phpt new file mode 100644 index 0000000..8f77873 --- /dev/null +++ b/ext/soap/tests/soap12/T32.phpt @@ -0,0 +1,25 @@ +--TEST-- +SOAP 1.2: T32 echoHeader +--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:requiredHeader xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="true">foo</test:requiredHeader> + </env:Header> + <env:Body> + <test:echoHeader xmlns:test="http://example.org/ts-tests"> + </test:echoHeader> + </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"><env:Body><ns1:echoHeaderResponse>foo</ns1:echoHeaderResponse></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T33.phpt b/ext/soap/tests/soap12/T33.phpt new file mode 100644 index 0000000..00ded87 --- /dev/null +++ b/ext/soap/tests/soap12/T33.phpt @@ -0,0 +1,20 @@ +--TEST-- +SOAP 1.2: T33 nonexistentMethod +--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"><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> diff --git a/ext/soap/tests/soap12/T34.phpt b/ext/soap/tests/soap12/T34.phpt new file mode 100644 index 0000000..39e0095 --- /dev/null +++ b/ext/soap/tests/soap12/T34.phpt @@ -0,0 +1,24 @@ +--TEST-- +SOAP 1.2: T34 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + xmlns:env1="http://schemas.xmlsoap.org/soap/envelope/" + env1:mustUnderstand="true">foo</test:Unknown> + </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"><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T35.phpt b/ext/soap/tests/soap12/T35.phpt new file mode 100644 index 0000000..a736010 --- /dev/null +++ b/ext/soap/tests/soap12/T35.phpt @@ -0,0 +1,24 @@ +--TEST-- +SOAP 1.2: T35 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="1"> + foo + </test:Unknown> + </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"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T36.phpt b/ext/soap/tests/soap12/T36.phpt new file mode 100644 index 0000000..d625813 --- /dev/null +++ b/ext/soap/tests/soap12/T36.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T36 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="1" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown> + </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"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T37.phpt b/ext/soap/tests/soap12/T37.phpt new file mode 100644 index 0000000..cdce8a4 --- /dev/null +++ b/ext/soap/tests/soap12/T37.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T37 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown> + </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"><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T38_1.phpt b/ext/soap/tests/soap12/T38_1.phpt new file mode 100644 index 0000000..30007e5 --- /dev/null +++ b/ext/soap/tests/soap12/T38_1.phpt @@ -0,0 +1,27 @@ +--TEST-- +SOAP 1.2: T38.1 doubleHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="false" + env:role="http://example.org/ts-tests/C">foo</test:Unknown> + <test:echoOk xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="0" + env:role="http://example.org/ts-tests/C">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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T38_2.phpt b/ext/soap/tests/soap12/T38_2.phpt new file mode 100644 index 0000000..efff2f4 --- /dev/null +++ b/ext/soap/tests/soap12/T38_2.phpt @@ -0,0 +1,27 @@ +--TEST-- +SOAP 1.2: T38.2 doubleHdr +--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" + env:mustUnderstand="true" + env:role="http://example.org/ts-tests/C">foo</test:echoOk> + <test:echoOk xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="1" + env:role="http://example.org/ts-tests/C">bar</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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk><ns1:responseOk>bar</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T39.phpt b/ext/soap/tests/soap12/T39.phpt new file mode 100644 index 0000000..2b29562 --- /dev/null +++ b/ext/soap/tests/soap12/T39.phpt @@ -0,0 +1,22 @@ +--TEST-- +SOAP 1.2: T39 unknownHdr +--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:Unknown xmlns:test="http://example.org/ts-tests" + env:mustUnderstand="9">foo</test:Unknown> + </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"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T40.phpt b/ext/soap/tests/soap12/T40.phpt new file mode 100644 index 0000000..27b4a21 --- /dev/null +++ b/ext/soap/tests/soap12/T40.phpt @@ -0,0 +1,26 @@ +--TEST-- +SOAP 1.2: T40 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:Unknown xmlns:test="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" + env:mustUnderstand="false"> + foo + </test:Unknown> + </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"><env:Body/></env:Envelope> +ok
\ No newline at end of file diff --git a/ext/soap/tests/soap12/T41.phpt b/ext/soap/tests/soap12/T41.phpt new file mode 100644 index 0000000..f874adc --- /dev/null +++ b/ext/soap/tests/soap12/T41.phpt @@ -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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" 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 diff --git a/ext/soap/tests/soap12/T42.phpt b/ext/soap/tests/soap12/T42.phpt new file mode 100644 index 0000000..e45d42b --- /dev/null +++ b/ext/soap/tests/soap12/T42.phpt @@ -0,0 +1,41 @@ +--TEST-- +SOAP 1.2: T42 echoStructArray +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--INI-- +precision=14 +--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:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><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 diff --git a/ext/soap/tests/soap12/T43.phpt b/ext/soap/tests/soap12/T43.phpt new file mode 100644 index 0000000..7dd6316 --- /dev/null +++ b/ext/soap/tests/soap12/T43.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T44.phpt b/ext/soap/tests/soap12/T44.phpt new file mode 100644 index 0000000..3e307c1 --- /dev/null +++ b/ext/soap/tests/soap12/T44.phpt @@ -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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" 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 diff --git a/ext/soap/tests/soap12/T45.phpt b/ext/soap/tests/soap12/T45.phpt new file mode 100644 index 0000000..24db941 --- /dev/null +++ b/ext/soap/tests/soap12/T45.phpt @@ -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">5.5</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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd" 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">5.5</varFloat></varStruct></return></ns1:echoNestedStructResponse></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T46.phpt b/ext/soap/tests/soap12/T46.phpt new file mode 100644 index 0000000..8098ef7 --- /dev/null +++ b/ext/soap/tests/soap12/T46.phpt @@ -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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:ns2="http://example.org/ts-tests/xsd"><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 diff --git a/ext/soap/tests/soap12/T47.phpt b/ext/soap/tests/soap12/T47.phpt new file mode 100644 index 0000000..a449d20 --- /dev/null +++ b/ext/soap/tests/soap12/T47.phpt @@ -0,0 +1,31 @@ +--TEST-- +SOAP 1.2: T47 echoFloatArray +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--INI-- +precision=14 +--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">5.5</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:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><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.5</item><item xsi:type="xsd:float">12999.9</item></return></ns1:echoFloatArrayResponse></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T48.phpt b/ext/soap/tests/soap12/T48.phpt new file mode 100644 index 0000000..f7cf0fe --- /dev/null +++ b/ext/soap/tests/soap12/T48.phpt @@ -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:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><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 diff --git a/ext/soap/tests/soap12/T49.phpt b/ext/soap/tests/soap12/T49.phpt new file mode 100644 index 0000000..9687d03 --- /dev/null +++ b/ext/soap/tests/soap12/T49.phpt @@ -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:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><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 diff --git a/ext/soap/tests/soap12/T50.phpt b/ext/soap/tests/soap12/T50.phpt new file mode 100644 index 0000000..e3fcc0c --- /dev/null +++ b/ext/soap/tests/soap12/T50.phpt @@ -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:enc="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://example.org/ts-tests/xsd"><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 diff --git a/ext/soap/tests/soap12/T51.phpt b/ext/soap/tests/soap12/T51.phpt new file mode 100644 index 0000000..9776576 --- /dev/null +++ b/ext/soap/tests/soap12/T51.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T52.phpt b/ext/soap/tests/soap12/T52.phpt new file mode 100644 index 0000000..9d75fb9 --- /dev/null +++ b/ext/soap/tests/soap12/T52.phpt @@ -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">true</return></ns1:echoBooleanResponse></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T53.phpt b/ext/soap/tests/soap12/T53.phpt new file mode 100644 index 0000000..c1c8fe6 --- /dev/null +++ b/ext/soap/tests/soap12/T53.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T54.phpt b/ext/soap/tests/soap12/T54.phpt new file mode 100644 index 0000000..ba3ed35 --- /dev/null +++ b/ext/soap/tests/soap12/T54.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T55.phpt b/ext/soap/tests/soap12/T55.phpt new file mode 100644 index 0000000..1c12e50 --- /dev/null +++ b/ext/soap/tests/soap12/T55.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T56.phpt b/ext/soap/tests/soap12/T56.phpt new file mode 100644 index 0000000..ca13427 --- /dev/null +++ b/ext/soap/tests/soap12/T56.phpt @@ -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"><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> + diff --git a/ext/soap/tests/soap12/T57.phpt b/ext/soap/tests/soap12/T57.phpt new file mode 100644 index 0000000..ad3e9ef --- /dev/null +++ b/ext/soap/tests/soap12/T57.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T58.phpt b/ext/soap/tests/soap12/T58.phpt new file mode 100644 index 0000000..1c3e8ba --- /dev/null +++ b/ext/soap/tests/soap12/T58.phpt @@ -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"><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> + diff --git a/ext/soap/tests/soap12/T59.phpt b/ext/soap/tests/soap12/T59.phpt new file mode 100644 index 0000000..2ceef32 --- /dev/null +++ b/ext/soap/tests/soap12/T59.phpt @@ -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"><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> diff --git a/ext/soap/tests/soap12/T60.phpt b/ext/soap/tests/soap12/T60.phpt new file mode 100644 index 0000000..234ef4c --- /dev/null +++ b/ext/soap/tests/soap12/T60.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T61.phpt b/ext/soap/tests/soap12/T61.phpt new file mode 100644 index 0000000..b688a79 --- /dev/null +++ b/ext/soap/tests/soap12/T61.phpt @@ -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"><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> diff --git a/ext/soap/tests/soap12/T63.phpt b/ext/soap/tests/soap12/T63.phpt new file mode 100644 index 0000000..5a41ef0 --- /dev/null +++ b/ext/soap/tests/soap12/T63.phpt @@ -0,0 +1,25 @@ +--TEST-- +SOAP 1.2: T63 validateCountryCode +--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:validateCountryCode xmlns:test="http://example.org/ts-tests" + env:role="http://example.org/ts-tests/C" + env:mustUnderstand="1">ABCD</test:validateCountryCode> + </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:ns1="http://example.org/ts-tests"><env:Header><ns1:validateCountryCodeFault>Country code must be 2 letters.</ns1:validateCountryCodeFault></env:Header><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>Not a valid country code</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T64.phpt b/ext/soap/tests/soap12/T64.phpt new file mode 100644 index 0000000..24e62ec --- /dev/null +++ b/ext/soap/tests/soap12/T64.phpt @@ -0,0 +1,24 @@ +--TEST-- +SOAP 1.2: T64 echoOk +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php +$HTTP_RAW_POST_DATA = <<<EOF +<?xml version='1.0' ?> +<!DOCTYPE DOC [ +<!NOTATION application_xml SYSTEM 'http://www.isi.edu/in-notes/iana/assignments/media-types/application/xml'> +]> +<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"?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T65.phpt b/ext/soap/tests/soap12/T65.phpt new file mode 100644 index 0000000..cd96d4a --- /dev/null +++ b/ext/soap/tests/soap12/T65.phpt @@ -0,0 +1,26 @@ +--TEST-- +SOAP 1.2: T65 echoOk +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php +$HTTP_RAW_POST_DATA = <<<EOF +<?xml version='1.0' ?> +<!DOCTYPE DOC [ +<!ELEMENT Envelope (Body) > +<!ELEMENT Body (echoOk) > +<!ELEMENT echoOk (#PCDATA) > +]> +<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"?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/T66.phpt b/ext/soap/tests/soap12/T66.phpt new file mode 100644 index 0000000..cc7cc2e --- /dev/null +++ b/ext/soap/tests/soap12/T66.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T66 echoOk +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php +$HTTP_RAW_POST_DATA = <<<EOF +<?xml version='1.0' encoding='UTF8'?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> + <env:Header> + <test:echoOk xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next">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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T67.phpt b/ext/soap/tests/soap12/T67.phpt new file mode 100644 index 0000000..ddc527a --- /dev/null +++ b/ext/soap/tests/soap12/T67.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T67 echoOk +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php +$HTTP_RAW_POST_DATA = <<<EOF +<?xml version='1.0' standalone='yes'?> +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> + <env:Header> + <test:echoOk xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next">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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T68.phpt b/ext/soap/tests/soap12/T68.phpt new file mode 100644 index 0000000..a791519 --- /dev/null +++ b/ext/soap/tests/soap12/T68.phpt @@ -0,0 +1,32 @@ +--TEST-- +SOAP 1.2: T68 echoOk +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php +$HTTP_RAW_POST_DATA = <<<EOF +<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> + + + <env:Header > + + <test:echoOk xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next" >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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T69.phpt b/ext/soap/tests/soap12/T69.phpt new file mode 100644 index 0000000..0fb02de --- /dev/null +++ b/ext/soap/tests/soap12/T69.phpt @@ -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"><env:Body><env:Fault><env:Code><env:Value>env:Sender</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> diff --git a/ext/soap/tests/soap12/T70.phpt b/ext/soap/tests/soap12/T70.phpt new file mode 100644 index 0000000..3622c32 --- /dev/null +++ b/ext/soap/tests/soap12/T70.phpt @@ -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"><env:Body><env:Fault><env:Code><env:Value>env:Sender</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> diff --git a/ext/soap/tests/soap12/T71.phpt b/ext/soap/tests/soap12/T71.phpt new file mode 100644 index 0000000..fdb5b8d --- /dev/null +++ b/ext/soap/tests/soap12/T71.phpt @@ -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"><env:Body><env:Fault><env:Code><env:Value>env:Sender</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> diff --git a/ext/soap/tests/soap12/T72.phpt b/ext/soap/tests/soap12/T72.phpt new file mode 100644 index 0000000..b8f5060 --- /dev/null +++ b/ext/soap/tests/soap12/T72.phpt @@ -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"><env:Body><env:Fault><env:Code><env:Value>env:Sender</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> diff --git a/ext/soap/tests/soap12/T73.phpt b/ext/soap/tests/soap12/T73.phpt new file mode 100644 index 0000000..9143e58 --- /dev/null +++ b/ext/soap/tests/soap12/T73.phpt @@ -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-encoding"> + <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 diff --git a/ext/soap/tests/soap12/T74.phpt b/ext/soap/tests/soap12/T74.phpt new file mode 100644 index 0000000..703e187 --- /dev/null +++ b/ext/soap/tests/soap12/T74.phpt @@ -0,0 +1,28 @@ +--TEST-- +SOAP 1.2: T74 doubleHdr +--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" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk> + <test:Unknown xmlns:test="http://example.org/ts-tests"> + <test:raiseFault env:mustUnderstand="1" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next"> + </test:raiseFault> + </test:Unknown> + </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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T75.phpt b/ext/soap/tests/soap12/T75.phpt new file mode 100644 index 0000000..3e2166d --- /dev/null +++ b/ext/soap/tests/soap12/T75.phpt @@ -0,0 +1,28 @@ +--TEST-- +SOAP 1.2: T75 echoResolvedRef +--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:echoResolvedRef xmlns:test="http://example.org/ts-tests" + env:role="http://www.w3.org/2003/05/soap-envelope/role/next" + env:mustUnderstand="1"> + <test:RelativeReference xml:base="http://example.org/today/" + xlink:href="new.xml" + xmlns:xlink="http://www.w3.org/1999/xlink" /> + </test:echoResolvedRef> + </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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseResolvedRef>http://example.org/today/new.xml</ns1:responseResolvedRef></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T76_1.phpt b/ext/soap/tests/soap12/T76_1.phpt new file mode 100644 index 0000000..e97c179 --- /dev/null +++ b/ext/soap/tests/soap12/T76_1.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T76_2.phpt b/ext/soap/tests/soap12/T76_2.phpt new file mode 100644 index 0000000..cc6ea0d --- /dev/null +++ b/ext/soap/tests/soap12/T76_2.phpt @@ -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 diff --git a/ext/soap/tests/soap12/T77_1.phpt b/ext/soap/tests/soap12/T77_1.phpt new file mode 100644 index 0000000..d847b6c --- /dev/null +++ b/ext/soap/tests/soap12/T77_1.phpt @@ -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">true</return></ns1:isNilResponse></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T77_2.phpt b/ext/soap/tests/soap12/T77_2.phpt new file mode 100644 index 0000000..c829b57 --- /dev/null +++ b/ext/soap/tests/soap12/T77_2.phpt @@ -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">true</return></ns1:isNilResponse></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T77_3.phpt b/ext/soap/tests/soap12/T77_3.phpt new file mode 100644 index 0000000..0e1355a --- /dev/null +++ b/ext/soap/tests/soap12/T77_3.phpt @@ -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">false</return></ns1:isNilResponse></env:Body></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T78.phpt b/ext/soap/tests/soap12/T78.phpt new file mode 100644 index 0000000..63d13c7 --- /dev/null +++ b/ext/soap/tests/soap12/T78.phpt @@ -0,0 +1,23 @@ +--TEST-- +SOAP 1.2: T78 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" + env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">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:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope> +ok diff --git a/ext/soap/tests/soap12/T80.phpt b/ext/soap/tests/soap12/T80.phpt new file mode 100644 index 0000000..1ac114b --- /dev/null +++ b/ext/soap/tests/soap12/T80.phpt @@ -0,0 +1,19 @@ +--TEST-- +SOAP 1.2: T80 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> + <test:echoOk xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://example.org/PoisonEncoding">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"><env:Body><env:Fault><env:Code><env:Value>env:DataEncodingUnknown</env:Value></env:Code><env:Reason><env:Text>Unknown Data Encoding Style</env:Text></env:Reason></env:Fault></env:Body></env:Envelope> diff --git a/ext/soap/tests/soap12/skipif.inc b/ext/soap/tests/soap12/skipif.inc new file mode 100644 index 0000000..fa8574e --- /dev/null +++ b/ext/soap/tests/soap12/skipif.inc @@ -0,0 +1,3 @@ +<?php + if (!extension_loaded('soap')) die('skip soap extension not available'); +?> diff --git a/ext/soap/tests/soap12/soap12-test.inc b/ext/soap/tests/soap12/soap12-test.inc new file mode 100644 index 0000000..fbdc855 --- /dev/null +++ b/ext/soap/tests/soap12/soap12-test.inc @@ -0,0 +1,131 @@ +<?php +class Soap12test { + public $header; + + 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() { + } + + function emptyBody() { + } + + function requiredHeader($x) { + $this->header = $x; + } + + function echoHeader() { + return $this->header; + } + + function echoResolvedRef($ref) { + return $ref->RelativeReference->base.$ref->RelativeReference->href; + } + + function validateCountryCode($code) { + if (strlen($code) != 2) { + return new SoapFault("Client", "Not a valid country code", NULL, NULL, NULL, new SoapHeader("http://example.org/ts-tests", "validateCountryCodeFault", "Country code must be 2 letters.")); + } else { + return "OK"; + } + } + +} + +ini_set("soap.wsdl_cache_enabled",0); +$server = new soapserver(dirname(__FILE__)."/soap12-test.wsdl", array('soap_version'=>SOAP_1_2,'actor'=>"http://example.org/ts-tests/C")); +$server->setClass("Soap12test"); + +$server->handle($HTTP_RAW_POST_DATA); +echo "ok\n"; +?> diff --git a/ext/soap/tests/soap12/soap12-test.wsdl b/ext/soap/tests/soap12/soap12-test.wsdl new file mode 100644 index 0000000..d1679b4 --- /dev/null +++ b/ext/soap/tests/soap12/soap12-test.wsdl @@ -0,0 +1,771 @@ +<?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"/>
+
+ <element name="echoHeader" type="xsd:string"/>
+ <element name="echoHeaderResponse" 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"/>
+
+ <element name="validateCountryCodeResponse" 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>
+
+ <message name="requiredHeaderRequest">
+ <part name="requiredHeader" element="test:requiredHeader"/>
+ </message>
+ <message name="echoHeaderRequest">
+ <part name="responseHeader" element="test:echoHeader"/>
+ </message>
+ <message name="echoHeaderResponse">
+ <part name="responseHeader" element="test:echoHeaderResponse"/>
+ </message>
+
+ <message name="echoResolvedRefRequest">
+ <part name="responseHeader" element="test:echoResolvedRef"/>
+ </message>
+ <message name="echoResolvedRefResponse">
+ <part name="responseHeader" element="test:responseResolvedRef"/>
+ </message>
+
+ <!-- "unknown" header block -->
+ <message name="UnknownHdrBlockLit">
+ <part name="Unknown" element="test:Unknown" />
+ </message>
+ <message name="UnknownHdrBlockEnc">
+ <part name="Unknown" type="types:UnknownType" />
+ </message>
+
+ <message name="validateCountryCodeRequest">
+ <part name="validateCountryCode" element="test:validateCountryCode" />
+ </message>
+ <message name="validateCountryCodeFault">
+ <part name="validateCountryCodeFault" element="test:validateCountryCodeFault" />
+ </message>
+ <message name="validateCountryCodeResponse">
+ <part name="validateCountryCodeResponse" element="test:validateCountryCodeResponse" />
+ </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>
+ <operation name="requiredHeader">
+ <input message="tns:requiredHeaderRequest" />
+ </operation>
+ <operation name="echoHeader">
+ <input message="tns:echoHeaderRequest" />
+ <output message="tns:echoHeaderResponse" />
+ </operation>
+ <operation name="echoResolvedRef">
+ <input message="tns:echoResolvedRefRequest" />
+ <output message="tns:echoResolvedRefResponse" />
+ </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" />
+ <soap12:header message="tns:validateCountryCodeRequest" part="validateCountryCode" use="literal">
+ <soap12:headerfault message="tns:validateCountryCodeFault" part="validateCountryCodeFault" use="literal"/>
+ </soap12:header>
+ </input>
+ <output>
+ <soap12:body use="literal" />
+ <soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
+ <soap12:header message="tns:validateCountryCodeResponse" part="validateCountryCodeResponse" 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>
+ <operation name="requiredHeader">
+ <soap12:operation/>
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ </operation>
+ <operation name="echoHeader">
+ <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="echoResolvedRef">
+ <soap12:operation/>
+ <input>
+ <soap12:body use="literal" />
+ </input>
+ <output>
+ <soap12:body 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>
|