]> granicus.if.org Git - php/commitdiff
actually commit the SOAP interop tests this time.
authorGeorge Schlossnagle <gschlossnagle@php.net>
Sun, 3 Apr 2005 15:51:22 +0000 (15:51 +0000)
committerGeorge Schlossnagle <gschlossnagle@php.net>
Sun, 3 Apr 2005 15:51:22 +0000 (15:51 +0000)
277 files changed:
ext/soap/tests/interop/Round2/Base/phpt.40ea5092ecda9 [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/round2_base.inc [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/round2_base.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round2/Base/skipif.inc [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/round2_groupB.inc [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/round2_groupB.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round2/GroupB/skipif.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.diff [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.exp [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.log [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.out [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.php [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2_absolute.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupD/skipif.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupE/skipif.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/round3_groupF_extreq.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.inc [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round3/GroupF/skipif.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupG/skipif.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupH/skipif.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_006w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.inc [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.wsdl [new file with mode: 0644]
ext/soap/tests/interop/Round4/GroupI/skipif.inc [new file with mode: 0644]

diff --git a/ext/soap/tests/interop/Round2/Base/phpt.40ea5092ecda9 b/ext/soap/tests/interop/Round2/Base/phpt.40ea5092ecda9
new file mode 100644 (file)
index 0000000..352c84b
--- /dev/null
@@ -0,0 +1 @@
+<?php require_once('skipif.inc'); ?>
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt
new file mode 100644 (file)
index 0000000..f88cddd
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 001 (php/direct): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array("Hello World!"), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">Hello World!</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt
new file mode 100644 (file)
index 0000000..a25eea5
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 001 (soap/direct): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar("Hello World!",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">Hello World!</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt
new file mode 100644 (file)
index 0000000..ea9dc86
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World!");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">Hello World!</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">Hello World!</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt
new file mode 100644 (file)
index 0000000..a5c6242
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 002 (php/direct): echoString(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(""), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string"></param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt
new file mode 100644 (file)
index 0000000..3a25624
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 002 (soap/direct): echoString(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar("",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string"></inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt
new file mode 100644 (file)
index 0000000..4761df6
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 002 (php/wsdl): echoString(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string"></inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string"></outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt
new file mode 100644 (file)
index 0000000..353c547
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 003 (php/direct): echoString(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(NULL), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:nil="1"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="1"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt
new file mode 100644 (file)
index 0000000..ef5211e
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 003 (soap/direct): echoString(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar(NULL,XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:nil="1"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="1"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt
new file mode 100644 (file)
index 0000000..88489bb
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 003 (php/wsdl): echoString(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(NULL);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:nil="1"/></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:nil="1"/></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt
new file mode 100644 (file)
index 0000000..cb56ce6
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round2 base 004 (php/direct): echoString(entities)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(">,<,&,\",',\\,\n"), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt
new file mode 100644 (file)
index 0000000..20c899e
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round2 base 004 (soap/direct): echoString(entities)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar(">,<,&,\",',\\,\n",XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt
new file mode 100644 (file)
index 0000000..69b3afd
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round2 base 004 (php/wsdl): echoString(entities)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(">,<,&,\",',\\,\n");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">&gt;,&lt;,&amp;,",',\,
+</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt
new file mode 100644 (file)
index 0000000..d8f91d3
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 005 (php/direct): echoString(utf-8)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(utf8_encode('ỗÈéóÒ₧⅜ỗỸ')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">á»\97Ã\88éóÃ\92â\82§â\85\9cá»\97Ỹ</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">á»\97Ã\88éóÃ\92â\82§â\85\9cá»\97Ỹ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt
new file mode 100644 (file)
index 0000000..116e14f
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 005 (soap/direct): echoString(utf-8)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString", array(new SoapParam(new SoapVar(utf8_encode('ỗÈéóÒ₧⅜ỗỸ'),XSD_STRING),"inputString")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">á»\97Ã\88éóÃ\92â\82§â\85\9cá»\97Ỹ</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">á»\97Ã\88éóÃ\92â\82§â\85\9cá»\97Ỹ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt
new file mode 100644 (file)
index 0000000..64f03df
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 005 (php/wsdl): echoString(utf-8)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(utf8_encode('ỗÈéóÒ₧⅜ỗỸ'));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><inputString xsi:type="xsd:string">á»\97Ã\88éóÃ\92â\82§â\85\9cá»\97Ỹ</inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><outputString xsi:type="xsd:string">á»\97Ã\88éóÃ\92â\82§â\85\9cá»\97Ỹ</outputString></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt
new file mode 100644 (file)
index 0000000..f332a82
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 006 (php/direct): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array(array('good','bad')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[2]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt
new file mode 100644 (file)
index 0000000..de822b2
--- /dev/null
@@ -0,0 +1,23 @@
+--TEST--
+SOAP Interop Round2 base 006 (soap/direct): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+    new SoapVar('good', XSD_STRING),
+    new SoapVar('bad', XSD_STRING)
+  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt
new file mode 100644 (file)
index 0000000..7844d4a
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 006 (php/wsdl): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array('good','bad'));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[2]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item><item xsi:type="xsd:string">bad</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt
new file mode 100644 (file)
index 0000000..ddf9879
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 007 (php/direct): echoStringArray(one)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array(array('good')), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[1]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">good</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt
new file mode 100644 (file)
index 0000000..778446a
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+SOAP Interop Round2 base 007 (soap/direct): echoStringArray(one)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+    new SoapVar('good', XSD_STRING)
+  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt
new file mode 100644 (file)
index 0000000..89bf6ea
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 007 (php/wsdl): echoStringArray(one)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array('good'));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></inputStringArray></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[1]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">good</item></outputStringArray></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt
new file mode 100644 (file)
index 0000000..28eae3d
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 008 (php/direct): echoStringArray(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array(array()), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:ur-type[0]" xsi:type="SOAP-ENC:Array"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt
new file mode 100644 (file)
index 0000000..b23dda4
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round2 base 008 (soap/direct): echoStringArray(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+  ), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:ur-type[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt
new file mode 100644 (file)
index 0000000..25de154
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 008 (php/wsdl): echoStringArray(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array());
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt
new file mode 100644 (file)
index 0000000..77f89af
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 009 (php/direct): echoStringArray(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array(NULL), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 xsi:nil="1"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="1" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt
new file mode 100644 (file)
index 0000000..e8478e1
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round2 base 009 (soap/direct): echoStringArray(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(NULL, SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd"), "inputStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray xsi:nil="1" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="1" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt
new file mode 100644 (file)
index 0000000..34cb728
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 009 (php/wsdl): echoStringArray(NULL)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(NULL);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><inputStringArray xsi:nil="1" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><outputStringArray xsi:nil="1" xsi:type="ns2:ArrayOfstring"/></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt
new file mode 100644 (file)
index 0000000..9c2aa0f
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 010 (php/direct): echoInteger
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoInteger", array(34345), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><param0 xsi:type="xsd:int">34345</param0></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt
new file mode 100644 (file)
index 0000000..1f012ca
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 010 (soap/direct): echoInteger
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoInteger", array(new SoapParam(new soapVar(34345, XSD_INT), "inputInteger")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><inputInteger xsi:type="xsd:int">34345</inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt
new file mode 100644 (file)
index 0000000..b32d94f
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 010 (php/wsdl): echoInteger
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoInteger(34345);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoInteger><inputInteger xsi:type="xsd:int">34345</inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerResponse><outputInteger xsi:type="xsd:int">34345</outputInteger></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt
new file mode 100644 (file)
index 0000000..7a6b147
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 011 (php/direct): echoIntegerArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoIntegerArray", array(array(1,234324324,2)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><param0 SOAP-ENC:arrayType="xsd:int[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></param0></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt
new file mode 100644 (file)
index 0000000..f892147
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+SOAP Interop Round2 base 011 (soap/direct): echoIntegerArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+    new SoapVar(1,XSD_INT),
+    new SoapVar(234324324,XSD_INT),
+    new SoapVar(2,XSD_INT)
+  ), SOAP_ENC_ARRAY, "ArrayOfint","http://soapinterop.org/xsd"), "inputIntegerArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoIntegerArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><inputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></inputIntegerArray></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt
new file mode 100644 (file)
index 0000000..20686b2
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 011 (php/wsdl): echoIntegerArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoIntegerArray(array(1,234324324,2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArray><inputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></inputIntegerArray></ns1:echoIntegerArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntegerArrayResponse><outputIntegerArray SOAP-ENC:arrayType="xsd:int[3]" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">1</item><item xsi:type="xsd:int">234324324</item><item xsi:type="xsd:int">2</item></outputIntegerArray></ns1:echoIntegerArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt
new file mode 100644 (file)
index 0000000..2da25b2
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 012 (php/direct): echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoFloat", array(342.23), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><param0 xsi:type="xsd:float">342.23</param0></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt
new file mode 100644 (file)
index 0000000..bd62edd
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 012 (soap/direct): echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoFloat", array(new SoapParam(new SoapVar(342.23,XSD_FLOAT),"inputFloat")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><inputFloat xsi:type="xsd:float">342.23</inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt
new file mode 100644 (file)
index 0000000..05aad06
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 012 (php/wsdl): echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoFloat(342.23);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloat><inputFloat xsi:type="xsd:float">342.23</inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatResponse><outputFloat xsi:type="xsd:float">342.23</outputFloat></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt
new file mode 100644 (file)
index 0000000..815b4df
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 013 (php/direct): echoFloatArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoFloatArray", array(array(1.3223,34.2,325.325)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><param0 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></param0></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt
new file mode 100644 (file)
index 0000000..72124be
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+SOAP Interop Round2 base 013 (soap/direct): echoFloatArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param =  new SoapParam(new SoapVar(array(
+    new SoapVar(1.3223, XSD_FLOAT),
+    new SoapVar(34.2, XSD_FLOAT),
+    new SoapVar(325.325, XSD_FLOAT)
+  ), SOAP_ENC_ARRAY, "ArrayOffloat","http://soapinterop.org/xsd"), "inputFloatArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoFloatArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><inputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></inputFloatArray></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt
new file mode 100644 (file)
index 0000000..e4291ab
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 013 (php/wsdl): echoFloatArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoFloatArray(array(1.3223,34.2,325.325));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArray><inputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></inputFloatArray></ns1:echoFloatArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoFloatArrayResponse><outputFloatArray SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">1.3223</item><item xsi:type="xsd:float">34.2</item><item xsi:type="xsd:float">325.325</item></outputFloatArray></ns1:echoFloatArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt
new file mode 100644 (file)
index 0000000..107f953
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round2 base 014 (php/direct): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStruct", array(new SOAPStruct('arg',34,325.325)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt
new file mode 100644 (file)
index 0000000..b15dc30
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+SOAP Interop Round2 base 014 (soap/direct): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+               new SoapVar('arg', XSD_STRING, null, null, 'varString'),
+               new SoapVar('34',  XSD_INT, null, null, 'varInt'),
+               new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
+  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"), "inputStruct");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt
new file mode 100644 (file)
index 0000000..8c0f29f
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round2 base 014 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct(new SOAPStruct('arg',34,325.325));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><outputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></outputStruct></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt
new file mode 100644 (file)
index 0000000..3162c26
--- /dev/null
@@ -0,0 +1,28 @@
+--TEST--
+SOAP Interop Round2 base 015 (php/direct): echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStructArray", array(array($struct,$struct)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><param0 SOAP-ENC:arrayType="SOAP-ENC:Struct[2]" xsi:type="SOAP-ENC:Array"><item xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></param0></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt
new file mode 100644 (file)
index 0000000..47a270b
--- /dev/null
@@ -0,0 +1,38 @@
+--TEST--
+SOAP Interop Round2 base 015 (soap/direct): echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$struct = new SoapVar(array(
+               new SoapVar('arg', XSD_STRING, null, null, 'varString'),
+               new SoapVar('34',  XSD_INT, null, null, 'varInt'),
+               new SoapVar('325.325',  XSD_FLOAT, null, null, 'varFloat')
+  ),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
+
+$param =   new SoapParam(new SoapVar(array(
+    $struct,
+    $struct
+  ),SOAP_ENC_ARRAY,"ArrayOfSOAPStruct","http://soapinterop.org/xsd"), "inputStructArray");
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStructArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputStructArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt
new file mode 100644 (file)
index 0000000..3b7e61d
--- /dev/null
@@ -0,0 +1,28 @@
+--TEST--
+SOAP Interop Round2 base 015 (php/wsdl): echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStructArray(array($struct,$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputStructArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><outputStructArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></outputStructArray></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt
new file mode 100644 (file)
index 0000000..ab00416
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 016 (php/direct): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoid", array(), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt
new file mode 100644 (file)
index 0000000..e64fde8
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 016 (soap/direct): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoid", array(), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt
new file mode 100644 (file)
index 0000000..b3647a5
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 016 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt
new file mode 100644 (file)
index 0000000..92261b6
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 017 (php/direct): echoBase64
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBase64", array('TmVicmFza2E='), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><param0 xsi:type="xsd:string">TmVicmFza2E=</param0></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt
new file mode 100644 (file)
index 0000000..21b5f61
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 017 (soap/direct): echoBase64
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBase64", array(new SoapParam(new SoapVar('TmVicmFza2E=',XSD_BASE64BINARY),"inputBase64")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><inputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</inputBase64></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt
new file mode 100644 (file)
index 0000000..af351b5
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 017 (php/wsdl): echoBase64
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBase64('TmVicmFza2E=');
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64><inputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</inputBase64></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBase64Response><outputBase64 xsi:type="xsd:base64Binary">TmVicmFza2E=</outputBase64></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt
new file mode 100644 (file)
index 0000000..a42b328
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 018 (php/direct): echoHexBinary
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoHexBinary", array('736F61707834'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><param0 xsi:type="xsd:string">736F61707834</param0></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt
new file mode 100644 (file)
index 0000000..0d2f17c
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 018 (soap/direct): echoHexBinary
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoHexBinary", array(new SoapParam(new SoapVar('736F61707834',XSD_HEXBINARY),"inputHexBinary")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><inputHexBinary xsi:type="xsd:hexBinary">736F61707834</inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt
new file mode 100644 (file)
index 0000000..4df9b4f
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 018 (php/wsdl): echoHexBinary
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoHexBinary('736F61707834');
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinary><inputHexBinary xsi:type="xsd:hexBinary">736F61707834</inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><outputHexBinary xsi:type="xsd:hexBinary">736F61707834</outputHexBinary></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt
new file mode 100644 (file)
index 0000000..a767301
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 019 (php/direct): echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoDecimal", array('12345.67890'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><param0 xsi:type="xsd:string">12345.67890</param0></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt
new file mode 100644 (file)
index 0000000..56bea8b
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 019 (soap/direct): echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoDecimal", array(new SoapParam(new SoapVar('12345.67890',XSD_DECIMAL), "inputDecimal")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><inputDecimal xsi:type="xsd:decimal">12345.67890</inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt
new file mode 100644 (file)
index 0000000..3f56155
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 019 (php/wsdl): echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDecimal('12345.67890');
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimal><inputDecimal xsi:type="xsd:decimal">12345.67890</inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDecimalResponse><outputDecimal xsi:type="xsd:decimal">12345.67890</outputDecimal></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt
new file mode 100644 (file)
index 0000000..4afe922
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 020 (php/direct): echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoDate", array('2001-05-24T17:31:41Z'), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><param0 xsi:type="xsd:string">2001-05-24T17:31:41Z</param0></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt
new file mode 100644 (file)
index 0000000..6ced748
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 020 (soap/direct): echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoDate", array(new SoapParam(new SoapVar('2001-05-24T17:31:41Z', XSD_DATETIME), "inputDate")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><inputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt
new file mode 100644 (file)
index 0000000..47d3a9d
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 020 (php/wsdl): echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDate('2001-05-24T17:31:41Z');
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDate><inputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoDateResponse><outputDate xsi:type="xsd:dateTime">2001-05-24T17:31:41Z</outputDate></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt
new file mode 100644 (file)
index 0000000..132cd0b
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 021 (php/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(true), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:boolean">1</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">1</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt
new file mode 100644 (file)
index 0000000..fce28ed
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 021 (soap/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(true, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">1</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">1</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt
new file mode 100644 (file)
index 0000000..e2ed997
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 021 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(true);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">1</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">1</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt
new file mode 100644 (file)
index 0000000..1aeb21d
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 022 (php/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(false), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:boolean">0</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">0</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt
new file mode 100644 (file)
index 0000000..8c43f42
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 022 (soap/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(false, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">0</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">0</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt
new file mode 100644 (file)
index 0000000..62b32c4
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 022 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(false);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">0</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">0</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt
new file mode 100644 (file)
index 0000000..885205e
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 023 (php/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(1), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:int">1</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">1</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt
new file mode 100644 (file)
index 0000000..f52184a
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 023 (soap/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(1, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">1</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">1</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt
new file mode 100644 (file)
index 0000000..6603e1e
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 023 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(1);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">1</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">1</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt
new file mode 100644 (file)
index 0000000..543486d
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 024 (php/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(0), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><param0 xsi:type="xsd:int">0</param0></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">0</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt
new file mode 100644 (file)
index 0000000..dd3a352
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 024 (soap/direct): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoBoolean", array(new SoapParam(new SoapVar(0, XSD_BOOLEAN), "inputBoolean")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">0</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">0</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt
new file mode 100644 (file)
index 0000000..359e620
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 base 024 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_base.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(0);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_base.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBoolean><inputBoolean xsi:type="xsd:boolean">0</inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBooleanResponse><outputBoolean xsi:type="xsd:boolean">0</outputBoolean></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/Base/round2_base.inc b/ext/soap/tests/interop/Round2/Base/round2_base.inc
new file mode 100644 (file)
index 0000000..b197f5b
--- /dev/null
@@ -0,0 +1,80 @@
+<?php
+class SOAP_Interop_Base {
+
+    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($inputStruct)
+    {
+      return $inputStruct;
+    }
+
+    function echoStructArray($inputStructArray)
+    {
+      return $inputStructArray;
+    }
+
+    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;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round2_base.wsdl");
+$server->setClass("SOAP_Interop_Base");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round2/Base/round2_base.wsdl b/ext/soap/tests/interop/Round2/Base/round2_base.wsdl
new file mode 100644 (file)
index 0000000..c7c7031
--- /dev/null
@@ -0,0 +1,332 @@
+<?xml version="1.0"?>
+<definitions name="InteropTest"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+    xmlns:tns="http://soapinterop.org/"
+    xmlns:s="http://soapinterop.org/xsd"
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns="http://schemas.xmlsoap.org/wsdl/"
+    targetNamespace="http://soapinterop.org/">
+
+  <types>
+  <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
+   <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
+   <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
+   <xsd:complexType name="ArrayOfstring">
+    <xsd:complexContent>
+     <xsd:restriction base="SOAP-ENC:Array">
+      <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+     </xsd:restriction>
+    </xsd:complexContent>
+   </xsd:complexType>
+   <xsd:complexType name="ArrayOfint">
+    <xsd:complexContent>
+     <xsd:restriction base="SOAP-ENC:Array">
+      <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+     </xsd:restriction>
+    </xsd:complexContent>
+   </xsd:complexType>
+   <xsd:complexType name="ArrayOffloat">
+    <xsd:complexContent>
+     <xsd:restriction base="SOAP-ENC:Array">
+      <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+     </xsd:restriction>
+    </xsd:complexContent>
+   </xsd:complexType>
+   <xsd:complexType name="SOAPStruct">
+    <xsd:all>
+     <xsd:element name="varString" type="string"/>
+     <xsd:element name="varInt" type="int"/>
+     <xsd:element name="varFloat" type="float"/>
+    </xsd:all>
+   </xsd:complexType>
+   <xsd:complexType name="ArrayOfSOAPStruct">
+    <xsd:complexContent>
+     <xsd:restriction base="SOAP-ENC:Array">
+      <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+     </xsd:restriction>
+    </xsd:complexContent>
+   </xsd:complexType>
+  </schema>
+  </types>
+
+  <message name="echoStringRequest">
+    <part name="inputString" type="xsd:string" />
+  </message>
+  <message name="echoStringResponse">
+    <part name="outputString" type="xsd:string" />
+  </message>
+  <message name="echoStringArrayRequest">
+    <part name="inputStringArray" type="s:ArrayOfstring" />
+  </message>
+  <message name="echoStringArrayResponse">
+    <part name="outputStringArray" type="s:ArrayOfstring" />
+  </message>
+  <message name="echoIntegerRequest">
+    <part name="inputInteger" type="xsd:int" />
+  </message>
+  <message name="echoIntegerResponse">
+    <part name="outputInteger" type="xsd:int" />
+  </message>
+  <message name="echoIntegerArrayRequest">
+    <part name="inputIntegerArray" type="s:ArrayOfint" />
+  </message>
+  <message name="echoIntegerArrayResponse">
+    <part name="outputIntegerArray" type="s:ArrayOfint" />
+  </message>
+  <message name="echoFloatRequest">
+    <part name="inputFloat" type="xsd:float" />
+  </message>
+  <message name="echoFloatResponse">
+    <part name="outputFloat" type="xsd:float" />
+  </message>
+  <message name="echoFloatArrayRequest">
+    <part name="inputFloatArray" type="s:ArrayOffloat" />
+  </message>
+  <message name="echoFloatArrayResponse">
+    <part name="outputFloatArray" type="s:ArrayOffloat" />
+  </message>
+  <message name="echoStructRequest">
+    <part name="inputStruct" type="s:SOAPStruct" />
+  </message>
+  <message name="echoStructResponse">
+    <part name="outputStruct" type="s:SOAPStruct" />
+  </message>
+  <message name="echoStructArrayRequest">
+    <part name="inputStructArray" type="s:ArrayOfSOAPStruct" />
+  </message>
+  <message name="echoStructArrayResponse">
+    <part name="outputStructArray" type="s:ArrayOfSOAPStruct" />
+  </message>
+  <message name="echoVoidRequest">
+  </message>
+  <message name="echoVoidResponse">
+  </message>
+  <message name="echoBase64Request">
+    <part name="inputBase64" type="xsd:base64Binary" />
+  </message>
+  <message name="echoBase64Response">
+    <part name="outputBase64" type="xsd:base64Binary" />
+  </message>
+  <message name="echoDateRequest">
+    <part name="inputDate" type="xsd:dateTime" />
+  </message>
+  <message name="echoDateResponse">
+    <part name="outputDate" type="xsd:dateTime" />
+  </message>
+  <message name="echoHexBinaryRequest">
+    <part name="inputHexBinary" type="xsd:hexBinary" />
+  </message>
+  <message name="echoHexBinaryResponse">
+    <part name="outputHexBinary" type="xsd:hexBinary" />
+  </message>
+  <message name="echoDecimalRequest">
+    <part name="inputDecimal" type="xsd:decimal" />
+  </message>
+  <message name="echoDecimalResponse">
+    <part name="outputDecimal" type="xsd:decimal" />
+  </message>
+  <message name="echoBooleanRequest">
+    <part name="inputBoolean" type="xsd:boolean" />
+  </message>
+  <message name="echoBooleanResponse">
+    <part name="outputBoolean" type="xsd:boolean" />
+  </message>
+
+  <portType name="InteropTestPortType">
+    <operation name="echoString">
+      <input message="tns:echoStringRequest"/>
+      <output message="tns:echoStringResponse"/>
+    </operation>
+    <operation name="echoStringArray">
+      <input message="tns:echoStringArrayRequest"/>
+      <output message="tns:echoStringArrayResponse"/>
+    </operation>
+    <operation name="echoInteger">
+      <input message="tns:echoIntegerRequest"/>
+      <output message="tns:echoIntegerResponse"/>
+    </operation>
+    <operation name="echoIntegerArray">
+      <input message="tns:echoIntegerArrayRequest"/>
+      <output message="tns:echoIntegerArrayResponse"/>
+    </operation>
+    <operation name="echoFloat">
+      <input message="tns:echoFloatRequest"/>
+      <output message="tns:echoFloatResponse"/>
+    </operation>
+    <operation name="echoFloatArray">
+      <input message="tns:echoFloatArrayRequest"/>
+      <output message="tns:echoFloatArrayResponse"/>
+    </operation>
+    <operation name="echoStruct">
+      <input message="tns:echoStructRequest"/>
+      <output message="tns:echoStructResponse"/>
+    </operation>
+    <operation name="echoStructArray">
+      <input message="tns:echoStructArrayRequest"/>
+      <output message="tns:echoStructArrayResponse"/>
+    </operation>
+    <operation name="echoVoid">
+      <input message="tns:echoVoidRequest"/>
+      <output message="tns:echoVoidResponse"/>
+    </operation>
+    <operation name="echoBase64">
+      <input message="tns:echoBase64Request"/>
+      <output message="tns:echoBase64Response"/>
+    </operation>
+    <operation name="echoDate">
+      <input message="tns:echoDateRequest"/>
+      <output message="tns:echoDateResponse"/>
+    </operation>
+    <operation name="echoHexBinary">
+      <input message="tns:echoHexBinaryRequest"/>
+      <output message="tns:echoHexBinaryResponse"/>
+    </operation>
+    <operation name="echoDecimal">
+      <input message="tns:echoDecimalRequest"/>
+      <output message="tns:echoDecimalResponse"/>
+    </operation>
+    <operation name="echoBoolean">
+      <input message="tns:echoBooleanRequest"/>
+      <output message="tns:echoBooleanResponse"/>
+    </operation>
+  </portType>
+
+  <binding name="InteropTestBinding" type="tns:InteropTestPortType">
+    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <operation name="echoString">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoStringArray">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoInteger">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoIntegerArray">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoFloat">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoFloatArray">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoStruct">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoStructArray">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoVoid">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoBase64">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoDate">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoHexBinary">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoDecimal">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+    <operation name="echoBoolean">
+      <soap:operation soapAction="http://" style="rpc"/>
+      <input>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </input>
+      <output>
+        <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+      </output>
+    </operation>
+  </binding>
+
+  <service name="InteropTest">
+    <port name="InteropTestPort" binding="tns:InteropTestBinding">
+                       <soap:address location="round2_base.inc"/>
+    </port>
+  </service>
+
+</definitions>
diff --git a/ext/soap/tests/interop/Round2/Base/skipif.inc b/ext/soap/tests/interop/Round2/Base/skipif.inc
new file mode 100644 (file)
index 0000000..fa8574e
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt
new file mode 100644 (file)
index 0000000..5047a99
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 groupB 001 (php/direct): echoStructAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStructAsSimpleTypes", array((object)array('varString'=>"arg",'varInt'=>34,'varFloat'=>34.345)), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></param0></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt
new file mode 100644 (file)
index 0000000..9b66707
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+SOAP Interop Round2 groupB 001 (soap/direct): echoStructAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+    new SoapVar("arg", XSD_STRING, null, null, "varString"),
+    new SoapVar(34, XSD_INT, null, null, "varInt"),
+    new SoapVar(34.345, XSD_FLOAT, null, null, "varFloat")
+  ), SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd"), "inputStruct");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoStructAsSimpleTypes", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></inputStruct></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt
new file mode 100644 (file)
index 0000000..8fd4333
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 groupB 001 (php/wsdl): echoStructAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStructAsSimpleTypes((object)array('varString'=>"arg",'varInt'=>34,'varFloat'=>34.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypes><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></inputStruct></ns1:echoStructAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructAsSimpleTypesResponse><outputString xsi:type="xsd:string">arg</outputString><outputInteger xsi:type="xsd:int">34</outputInteger><outputFloat xsi:type="xsd:float">34.345</outputFloat></ns1:echoStructAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt
new file mode 100644 (file)
index 0000000..6ea475c
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 groupB 002 (php/direct): echoSimpleTypesAsStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoSimpleTypesAsStruct", array("arg",34,34.345), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><param0 xsi:type="xsd:string">arg</param0><param1 xsi:type="xsd:int">34</param1><param2 xsi:type="xsd:float">34.345</param2></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt
new file mode 100644 (file)
index 0000000..3fcf6de
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+SOAP Interop Round2 groupB 002 (soap/direct): echoSimpleTypesAsStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoSimpleTypesAsStruct", array(
+  new SoapParam(new SoapVar("arg",XSD_STRING), "inputString"),
+  new SoapParam(new SoapVar(34,XSD_INT), "inputInteger"),
+  new SoapParam(new SoapVar(34.345,XSD_FLOAT), "inputFloat")), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><inputString xsi:type="xsd:string">arg</inputString><inputInteger xsi:type="xsd:int">34</inputInteger><inputFloat xsi:type="xsd:float">34.345</inputFloat></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt
new file mode 100644 (file)
index 0000000..97fece7
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round2 groupB 002 (php/wsdl): echoSimpleTypesAsStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSimpleTypesAsStruct("arg",34,34.345);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStruct><inputString xsi:type="xsd:string">arg</inputString><inputInteger xsi:type="xsd:int">34</inputInteger><inputFloat xsi:type="xsd:float">34.345</inputFloat></ns1:echoSimpleTypesAsStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsStructResponse><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">34.345</varFloat></return></ns1:echoSimpleTypesAsStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt
new file mode 100644 (file)
index 0000000..80dff6d
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+SOAP Interop Round2 groupB 003 (php/direct): echo2DStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = array(
+    array('row0col0', 'row0col1', 'row0col2'),
+    array('row1col0', 'row1col1', 'row1col2'));
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echo2DStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><param0 SOAP-ENC:arrayType="SOAP-ENC:Array[2]" xsi:type="SOAP-ENC:Array"><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item></item><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></item></param0></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt
new file mode 100644 (file)
index 0000000..5161144
--- /dev/null
@@ -0,0 +1,31 @@
+--TEST--
+SOAP Interop Round2 groupB 003 (soap/direct): echo2DStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+    new SoapVar(array(
+      new SoapVar('row0col0', XSD_STRING),
+      new SoapVar('row0col1', XSD_STRING),
+      new SoapVar('row0col2', XSD_STRING)
+    ), SOAP_ENC_ARRAY),
+    new SoapVar(array(
+      new SoapVar('row1col0', XSD_STRING),
+      new SoapVar('row1col1', XSD_STRING),
+      new SoapVar('row1col2', XSD_STRING)
+    ), SOAP_ENC_ARRAY)
+  ), SOAP_ENC_ARRAY, "ArrayOfString2D", "http://soapinterop.org/xsd"),"input2DStringArray");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echo2DStringArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><input2DStringArray SOAP-ENC:arrayType="SOAP-ENC:Array[2]" xsi:type="ns2:ArrayOfString2D"><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item></item><item SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></item></input2DStringArray></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt
new file mode 100644 (file)
index 0000000..5d4ad0c
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+SOAP Interop Round2 groupB 003 (php/wsdl): echo2DStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = array(
+    array('row0col0', 'row0col1', 'row0col2'),
+    array('row1col0', 'row1col1', 'row1col2'));
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echo2DStringArray($param);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArray><input2DStringArray SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></input2DStringArray></ns1:echo2DStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echo2DStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[2,3]" xsi:type="ns2:ArrayOfString2D"><item xsi:type="xsd:string">row0col0</item><item xsi:type="xsd:string">row0col1</item><item xsi:type="xsd:string">row0col2</item><item xsi:type="xsd:string">row1col0</item><item xsi:type="xsd:string">row1col1</item><item xsi:type="xsd:string">row1col2</item></return></ns1:echo2DStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt
new file mode 100644 (file)
index 0000000..fbeb9af
--- /dev/null
@@ -0,0 +1,29 @@
+--TEST--
+SOAP Interop Round2 groupB 004 (php/direct): echoNestedStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = (object)array(
+  'varString' => "arg",
+  'varInt' => 34,
+  'varFloat' => 123.45,
+  'varStruct' => (object)array(
+    'varString' => "arg2",
+    'varInt' => 342,
+    'varFloat' => 123.452,
+  ));
+
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoNestedStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></param0></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt
new file mode 100644 (file)
index 0000000..ad18c2b
--- /dev/null
@@ -0,0 +1,29 @@
+--TEST--
+SOAP Interop Round2 groupB 004 (soap/direct): echoNestedStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+    new SoapVar("arg", XSD_STRING, null, null, "varString"),
+    new SoapVar(34, XSD_INT, null, null, "varInt"),
+    new SoapVar(123.45, XSD_FLOAT, null, null, "varFloat"),
+    new SoapVar(array(
+           new SoapVar("arg2", XSD_STRING, null, null, "varString"),
+      new SoapVar(342, XSD_INT, null, null, "varInt"),
+      new SoapVar(123.452, XSD_FLOAT, null, null, "varFloat")
+    ), SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd", 'varStruct')
+  ), SOAP_ENC_OBJECT, "SOAPStructStruct", "http://soapinterop.org/xsd"), "inputStruct");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoNestedStruct", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><inputStruct xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></inputStruct></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt
new file mode 100644 (file)
index 0000000..4bbc51f
--- /dev/null
@@ -0,0 +1,29 @@
+--TEST--
+SOAP Interop Round2 groupB 004 (php/wsdl): echoNestedStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = (object)array(
+  'varString' => "arg",
+  'varInt' => 34,
+  'varFloat' => 123.45,
+  'varStruct' => (object)array(
+    'varString' => "arg2",
+    'varInt' => 342,
+    'varFloat' => 123.452,
+  ));
+
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedStruct($param);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStruct><inputStruct xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></inputStruct></ns1:echoNestedStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedStructResponse><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">123.45</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg2</varString><varInt xsi:type="xsd:int">342</varInt><varFloat xsi:type="xsd:float">123.452</varFloat></varStruct></return></ns1:echoNestedStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt
new file mode 100644 (file)
index 0000000..6129838
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+SOAP Interop Round2 groupB 005 (php/direct): echoNestedArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = (object)array(
+  'varString'=>'arg',
+  'varInt'=>34,
+  'varFloat'=>325.325,
+  'varArray' => array('red','blue','green'));
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoNestedArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><param0 xsi:type="SOAP-ENC:Struct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[3]" xsi:type="SOAP-ENC:Array"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></param0></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[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></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt
new file mode 100644 (file)
index 0000000..fcb5990
--- /dev/null
@@ -0,0 +1,29 @@
+--TEST--
+SOAP Interop Round2 groupB 005 (soap/direct): echoNestedArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = new SoapParam(new SoapVar(array(
+    new SoapVar("arg", XSD_STRING, null, null, "varString"),
+    new SoapVar(34, XSD_INT, null, null, "varInt"),
+    new SoapVar(325.325, XSD_FLOAT, null, null, "varFloat"),
+    new SoapVar(array(
+           new SoapVar("red", XSD_STRING),
+           new SoapVar("blue", XSD_STRING),
+           new SoapVar("green", XSD_STRING),
+    ), SOAP_ENC_ARRAY, "ArrayOfString", "http://soapinterop.org/xsd", 'varArray')
+  ), SOAP_ENC_OBJECT, "SOAPArrayStruct", "http://soapinterop.org/xsd"), "inputStruct");
+$client = new SoapClient(NULL,array("location"=>"test://","uri"=>"http://soapinterop.org/","trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoNestedArray", array($param), array("soapaction"=>"http://soapinterop.org/","uri"=>"http://soapinterop.org/"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><inputStruct xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[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></inputStruct></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[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></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt b/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt
new file mode 100644 (file)
index 0000000..206fca8
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+SOAP Interop Round2 groupB 005 (php/wsdl): echoNestedArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$param = (object)array(
+  'varString'=>'arg',
+  'varInt'=>34,
+  'varFloat'=>325.325,
+  'varArray' => array('red','blue','green'));
+$client = new SoapClient(dirname(__FILE__)."/round2_groupB.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedArray($param);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round2_groupB.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArray><inputStruct xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[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></inputStruct></ns1:echoNestedArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoNestedArrayResponse><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat><varArray SOAP-ENC:arrayType="xsd:string[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></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round2/GroupB/round2_groupB.inc b/ext/soap/tests/interop/Round2/GroupB/round2_groupB.inc
new file mode 100644 (file)
index 0000000..ef00e3b
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+class SOAP_Interop_GroupB {
+
+    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;
+    }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round2_groupB.wsdl");
+$server->setClass("SOAP_Interop_GroupB");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round2/GroupB/round2_groupB.wsdl b/ext/soap/tests/interop/Round2/GroupB/round2_groupB.wsdl
new file mode 100644 (file)
index 0000000..8fc2a1b
--- /dev/null
@@ -0,0 +1,192 @@
+<?xml version="1.0"?>
+<definitions name="InteropTest"
+  targetNamespace="http://soapinterop.org/"
+  xmlns="http://schemas.xmlsoap.org/wsdl/"
+  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
+  xmlns:tns="http://soapinterop.org/"
+  xmlns:s="http://soapinterop.org/xsd"
+  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+       <types>
+               <schema xmlns="http://www.w3.org/2001/XMLSchema"
+                 targetNamespace="http://soapinterop.org/xsd">
+
+                       <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
+
+                       <complexType name="ArrayOfstring">
+                               <complexContent>
+                                       <restriction base="SOAP-ENC:Array">
+                                               <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
+                                       </restriction>
+                               </complexContent>
+                       </complexType>
+                       <complexType name="ArrayOfint">
+                               <complexContent>
+                                       <restriction base="SOAP-ENC:Array">
+                                               <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
+                                       </restriction>
+                               </complexContent>
+                       </complexType>
+                       <complexType name="ArrayOffloat">
+                               <complexContent>
+                                       <restriction base="SOAP-ENC:Array">
+                                               <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
+                                       </restriction>
+                               </complexContent>
+                       </complexType>
+                       <complexType name="ArrayOfSOAPStruct">
+                               <complexContent>
+                                       <restriction base="SOAP-ENC:Array">
+                                               <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
+                                       </restriction>
+                               </complexContent>
+                       </complexType>
+                       <complexType name="SOAPStruct">
+                               <all>
+                                       <element name="varString" type="string" nillable="true"/>
+                                       <element name="varInt" type="int" nillable="true"/>
+                                       <element name="varFloat" type="float" nillable="true"/>
+                               </all>
+                       </complexType>
+                       <complexType name="SOAPStructStruct">
+                               <all>
+                                       <element name="varString" type="string" nillable="true"/>
+                                       <element name="varInt" type="int" nillable="true"/>
+                                       <element name="varFloat" type="float" nillable="true"/>
+                                       <element name="varStruct" type="s:SOAPStruct"/>
+                               </all>
+                       </complexType>
+                       <complexType name="SOAPArrayStruct">
+                               <all>
+                                       <element name="varString" type="string" nillable="true"/>
+                                       <element name="varInt" type="int" nillable="true"/>
+                                       <element name="varFloat" type="float" nillable="true"/>
+                                       <element name="varArray" type="s:ArrayOfstring"/>
+                               </all>
+                       </complexType>
+               <complexType name="ArrayOfString2D">
+               <complexContent>
+                                       <restriction base="SOAP-ENC:Array">
+                               <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[,]"/>
+                                       </restriction>
+               </complexContent>
+               </complexType>
+               </schema>
+       </types>
+
+       <message name="echoStructAsSimpleTypesRequest">
+               <part name="inputStruct" type="s:SOAPStruct"/>
+       </message>
+       <message name="echoStructAsSimpleTypesResponse">
+               <part name="outputString" type="xsd:string"/>
+               <part name="outputInteger" type="xsd:int"/>
+               <part name="outputFloat" type="xsd:float"/>
+       </message>
+       <message name="echoSimpleTypesAsStructRequest">
+               <part name="inputString" type="xsd:string"/>
+               <part name="inputInteger" type="xsd:int"/>
+               <part name="inputFloat" type="xsd:float"/>
+       </message>
+       <message name="echoSimpleTypesAsStructResponse">
+               <part name="return" type="s:SOAPStruct"/>
+       </message>
+       <message name="echo2DStringArrayRequest">
+               <part name="input2DStringArray" type="s:ArrayOfString2D"/>
+       </message>
+       <message name="echo2DStringArrayResponse">
+               <part name="return" type="s:ArrayOfString2D"/>
+       </message>
+       <message name="echoNestedStructRequest">
+               <part name="inputStruct" type="s:SOAPStructStruct"/>
+       </message>
+       <message name="echoNestedStructResponse">
+               <part name="return" type="s:SOAPStructStruct"/>
+       </message>
+               <message name="echoNestedArrayRequest">
+               <part name="inputStruct" type="s:SOAPArrayStruct"/>
+       </message>
+       <message name="echoNestedArrayResponse">
+               <part name="return" type="s:SOAPArrayStruct"/>
+       </message>
+
+       <portType name="InteropTestPortTypeB">
+               <operation name="echoStructAsSimpleTypes" parameterOrder="inputStruct outputString outputInteger outputFloat">
+                       <input message="tns:echoStructAsSimpleTypesRequest" name="echoStructAsSimpleTypes"/>
+                       <output message="tns:echoStructAsSimpleTypesResponse" name="echoStructAsSimpleTypesResponse"/>
+               </operation>
+               <operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat">
+                       <input message="tns:echoSimpleTypesAsStructRequest" name="echoSimpleTypesAsStruct"/>
+                       <output message="tns:echoSimpleTypesAsStructResponse" name="echoSimpleTypesAsStructResponse"/>
+               </operation>
+               <operation name="echo2DStringArray" parameterOrder="input2DStringArray">
+                       <input message="tns:echo2DStringArrayRequest" name="echo2DStringArray"/>
+                       <output message="tns:echo2DStringArrayResponse" name="echo2DStringArrayResponse"/>
+               </operation>
+               <operation name="echoNestedStruct" parameterOrder="inputStruct">
+                       <input message="tns:echoNestedStructRequest" name="echoNestedStruct"/>
+                       <output message="tns:echoNestedStructResponse" name="echoNestedStructResponse"/>
+               </operation>
+               <operation name="echoNestedArray" parameterOrder="inputStruct">
+                       <input message="tns:echoNestedArrayRequest" name="echoNestedArray"/>
+                       <output message="tns:echoNestedArrayResponse" name="echoNestedArrayResponse"/>
+               </operation>
+       </portType>
+
+       <binding name="InteropTestSoapBindingB" type="tns:InteropTestPortTypeB">
+               <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="echoStructAsSimpleTypes">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+               <operation name="echoSimpleTypesAsStruct">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+               <operation name="echo2DStringArray">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+               <operation name="echoNestedStruct">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+               <operation name="echoNestedArray">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+       </binding>
+
+       <service name="interopLabB">
+               <port name="interopTestPortB" binding="tns:InteropTestSoapBindingB">
+                       <soap:address location="round2_groupB.inc"/>
+               </port>
+       </service>
+
+</definitions>
diff --git a/ext/soap/tests/interop/Round2/GroupB/skipif.inc b/ext/soap/tests/interop/Round2/GroupB/skipif.inc
new file mode 100644 (file)
index 0000000..fa8574e
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt
new file mode 100644 (file)
index 0000000..3a047a9
--- /dev/null
@@ -0,0 +1,28 @@
+--TEST--
+SOAP Interop Round3 GroupD Compound1 001 (php/wsdl): echoPerson
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class Person {
+    function Person($a=NULL, $i=NULL, $n=NULL, $m=NULL) {
+        $this->Age = $a;
+        $this->ID = $i;
+        $this->Name = $n;
+        $this->Male = $m;
+    }
+}
+$person = new Person(32,12345,'Shane',TRUE);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoPerson($person);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound1.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Person Name="Shane" Male="1"><ns1:Age>32</ns1:Age><ns1:ID>12345</ns1:ID></ns1:x_Person></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Person Name="Shane" Male="1"><ns1:Age>32</ns1:Age><ns1:ID>12345</ns1:ID></ns1:result_Person></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt
new file mode 100644 (file)
index 0000000..ab9a44a
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Compound1 002 (php/wsdl): echoDocument
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDocument("Test Document Here");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound1.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document>Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document>Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.diff b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.diff
new file mode 100644 (file)
index 0000000..7e7e6cf
--- /dev/null
@@ -0,0 +1,4 @@
+002+ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+002- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ns1:ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+004+ <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+004- <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ns1:ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.exp b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.exp
new file mode 100644 (file)
index 0000000..d832c04
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ns1:ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ns1:ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.log b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.log
new file mode 100644 (file)
index 0000000..6ae8422
--- /dev/null
@@ -0,0 +1,14 @@
+
+---- EXPECTED OUTPUT
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ns1:ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ns1:ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
+---- ACTUAL OUTPUT
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
+---- FAILED
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.out b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.out
new file mode 100644 (file)
index 0000000..798b0fe
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.php b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.php
new file mode 100644 (file)
index 0000000..d414a5a
--- /dev/null
@@ -0,0 +1,8 @@
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDocument((object)array("_"=>"Test Document Here","ID"=>1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound1.inc");
+echo "ok\n";
+?>
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt
new file mode 100644 (file)
index 0000000..a3e7ff0
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Compound1 003 (php/wsdl): echoDocument
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDocument((object)array("_"=>"Test Document Here","ID"=>1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound1.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:x_Document ns1:ID="1">Test Document Here</ns1:x_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:result_Document ns1:ID="1">Test Document Here</ns1:result_Document></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt
new file mode 100644 (file)
index 0000000..ee74a96
--- /dev/null
@@ -0,0 +1,37 @@
+--TEST--
+SOAP Interop Round3 GroupD Compound2 001 (php/wsdl): echoEmployee
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class Person {
+    function Person($a=NULL, $i=NULL, $n=NULL, $m=NULL) {
+        $this->Age = $a;
+        $this->ID = $i;
+        $this->Name = $n;
+        $this->Male = $m;
+    }
+}
+class Employee {
+    function Employee($person=NULL,$id=NULL,$salary=NULL) {
+        $this->person = $person;
+        $this->ID = $id;
+        $this->salary = $salary;
+    }
+}
+$person = new Person(32,12345,'Shane',TRUE);
+$employee = new Employee($person,12345,1000000.00);
+
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_compound2.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoEmployee($employee);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_compound2.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/person" xmlns:ns2="http://soapinterop.org/employee"><SOAP-ENV:Body><ns2:x_Employee><ns2:person><ns1:Name>Shane</ns1:Name><ns1:Male>1</ns1:Male></ns2:person><ns2:salary>1000000</ns2:salary><ns2:ID>12345</ns2:ID></ns2:x_Employee></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/person" xmlns:ns2="http://soapinterop.org/employee"><SOAP-ENV:Body><ns2:result_Employee><ns2:person><ns1:Name>Shane</ns1:Name><ns1:Male>1</ns1:Male></ns2:person><ns2:salary>1000000</ns2:salary><ns2:ID>12345</ns2:ID></ns2:result_Employee></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt
new file mode 100644 (file)
index 0000000..ed9fb50
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt
new file mode 100644 (file)
index 0000000..ec00544
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit 002 (php/wsdl): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayParam><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:echoStringArrayParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayReturn><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:echoStringArrayReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt
new file mode 100644 (file)
index 0000000..36b26ce
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit 003 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructParam><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:echoStructParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructReturn><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:echoStructReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt
new file mode 100644 (file)
index 0000000..ecd6bf0
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit 004 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body/></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body/></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt
new file mode 100644 (file)
index 0000000..fa5269a
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit Parameters 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(array("param0"=>"Hello World"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclitparams.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoString><ns1:param0>Hello World</ns1:param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringResponse><ns1:return>Hello World</ns1:return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt
new file mode 100644 (file)
index 0000000..be1b51b
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit Parameters 002 (php/wsdl): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array("param0"=>array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclitparams.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArray><ns1:param0><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringArrayResponse><ns1:return><ns1:string>one</ns1:string><ns1:string>two</ns1:string><ns1:string>three</ns1:string></ns1:return></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt
new file mode 100644 (file)
index 0000000..da94ced
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit Parameters 003 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct(array("param0"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclitparams.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStruct><ns1:param0><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStructResponse><ns1:return><ns1:varFloat>325.325</ns1:varFloat><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString></ns1:return></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt
new file mode 100644 (file)
index 0000000..fcad376
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Doc Lit Parameters 004 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_doclitparams.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt
new file mode 100644 (file)
index 0000000..1f74fe6
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD EmptySA 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_emptysa.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_emptysa.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><a xsi:type="xsd:string">Hello World</a></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><Result xsi:type="xsd:string">Hello World</Result></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt
new file mode 100644 (file)
index 0000000..8c760cc
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD Import1 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import1.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_import1.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/echoString/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><x xsi:type="xsd:string">Hello World</x></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/echoStringResponse/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><Result xsi:type="xsd:string">Hello World</Result></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt
new file mode 100644 (file)
index 0000000..53ac18b
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round3 GroupD Import2 001 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import2.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_import2.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><Result xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></Result></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt
new file mode 100644 (file)
index 0000000..2a4d656
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round3 GroupD Import3 001 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import3.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_import3.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><inputStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></inputStruct></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><Result xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></Result></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt
new file mode 100644 (file)
index 0000000..b3e2d7b
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round3 GroupD Import3 002 (php/wsdl): echoStructArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_import3.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStructArray(array($struct,$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_import3.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns3="http://soapinterop.org/xsd2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArray><inputArray SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns3:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></inputArray></ns1:echoStructArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop/" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns3="http://soapinterop.org/xsd2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructArrayResponse><Result SOAP-ENC:arrayType="ns2:SOAPStruct[2]" xsi:type="ns3:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></item></Result></ns1:echoStructArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt
new file mode 100644 (file)
index 0000000..3bc4b4e
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD RPC Encoded 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoString><param0 xsi:type="xsd:string">Hello World</param0></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringResponse><return xsi:type="xsd:string">Hello World</return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt
new file mode 100644 (file)
index 0000000..a3fc99d
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD RPC Encoded 002 (php/wsdl): echoStringArray
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringArray(array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArray><param0 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param0></ns1:echoStringArray></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringArrayResponse><return SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></return></ns1:echoStringArrayResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt
new file mode 100644 (file)
index 0000000..2ebd90b
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round3 GroupD RPC Encoded 003 (php/wsdl): echoStruct
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStruct($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStruct><param0 xsi:type="ns2:SOAPStruct"><varFloat xsi:type="xsd:float">325.325</varFloat><varInt xsi:type="xsd:int">34</varInt><varString xsi:type="xsd:string">arg</varString></param0></ns1:echoStruct></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStructResponse><return xsi:type="ns2:SOAPStruct"><varFloat xsi:type="xsd:float">325.325</varFloat><varInt xsi:type="xsd:int">34</varInt><varString xsi:type="xsd:string">arg</varString></return></ns1:echoStructResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt
new file mode 100644 (file)
index 0000000..732dfcc
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupD RPC Encoded 004 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupD_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.inc
new file mode 100644 (file)
index 0000000..0525b0b
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+class SOAP_Interop_GroupD {
+    function echoPerson($person)
+    {
+        return $person;
+    }
+
+    function echoDocument($doc)
+    {
+        return $doc;
+    }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_compound1.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.wsdl
new file mode 100644 (file)
index 0000000..6a8f851
--- /dev/null
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="SoapInteropCompound" 
+               targetNamespace="http://soapinterop.org/" 
+               xmlns:wsdlns="http://soapinterop.org/" 
+               xmlns:typens="http://soapinterop.org/xsd"
+               xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+               xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+               xmlns="http://schemas.xmlsoap.org/wsdl/">
+       <types>
+               <schema targetNamespace="http://soapinterop.org/xsd" 
+               xmlns="http://www.w3.org/2001/XMLSchema" 
+               elementFormDefault="qualified"
+               >       
+                       <complexType name="Person">
+                               <sequence>
+                                       <element minOccurs="1" maxOccurs="1" name="Age" type="double"/>
+                                       <element minOccurs="1" maxOccurs="1" name="ID" type="xsd:float"/>                                       
+                               </sequence>
+                               <attribute name="Name" type="string"/>
+                               <attribute name="Male" type="boolean"/>
+                       </complexType>
+                       <element name="x_Person" type="typens:Person"/> 
+                       <element name="result_Person" type="typens:Person"/>
+                       
+                       <complexType name="Document">
+                       <simpleContent>
+                        <extension base="string">
+                          <xsd:attribute name ="ID" type="string"/>
+                        </extension>
+                       </simpleContent>
+                       </complexType>  
+                       <element name="x_Document" type="typens:Document"/>     
+                       <element name="result_Document" type="typens:Document"/>        
+               </schema>
+       </types>
+       <message name="echoPerson">
+               <part name="x" element="typens:x_Person"/>
+       </message>
+       <message name="echoPersonResponse">
+               <part name="Result" element="typens:result_Person"/>
+       </message>
+       <message name="echoDocument">
+               <part name="x" element="typens:x_Document"/>
+       </message>
+       <message name="echoDocumentResponse">
+               <part name="Result" element="typens:result_Document"/>
+       </message>
+       <portType name="SoapInteropCompound1PortType">
+               <operation name="echoPerson" parameterOrder="x">
+                       <input message="wsdlns:echoPerson"/>
+                       <output message="wsdlns:echoPersonResponse"/>
+               </operation>
+               <operation name="echoDocument" parameterOrder="x">
+                       <input message="wsdlns:echoDocument"/>
+                       <output message="wsdlns:echoDocumentResponse"/>
+               </operation>
+       </portType>
+       <binding name="SoapInteropCompound1Binding" type="wsdlns:SoapInteropCompound1PortType">
+               <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="echoPerson">
+                       <soap:operation soapAction="http://soapinterop/echoPerson"/>
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+               </operation>
+               <operation name="echoDocument">
+                       <soap:operation soapAction="http://soapinterop/echoDocument"/>
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+               </operation>
+
+       </binding>
+       <service name="Compound1">
+               <port name="SoapInteropCompound1Port" binding="wsdlns:SoapInteropCompound1Binding">
+                       <soap:address location="round3_groupD_compound1.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.inc
new file mode 100644 (file)
index 0000000..81b96cd
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+class SOAP_Interop_GroupD {
+    function echoEmployee($employee)
+    {
+        return $employee;
+    }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_compound2.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.wsdl
new file mode 100644 (file)
index 0000000..e8b63e0
--- /dev/null
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="SoapInteropCompound" targetNamespace="http://soapinterop.org/" 
+               xmlns:wsdlns="http://soapinterop.org/" 
+               xmlns:emp="http://soapinterop.org/employee" 
+               xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+               xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+               xmlns="http://schemas.xmlsoap.org/wsdl/">
+       <types>
+               <schema targetNamespace="http://soapinterop.org/person" 
+                       xmlns="http://www.w3.org/2001/XMLSchema" 
+                       elementFormDefault="qualified">
+                                       
+                       <complexType name="Person">
+                               <sequence>
+                                       <element minOccurs="1" maxOccurs="1" name="Name" type="string"/>
+                                       <element minOccurs="1" maxOccurs="1" name="Male" type="boolean"/>                                       
+                               </sequence>
+                       </complexType>
+               </schema>
+               <schema targetNamespace = "http://soapinterop.org/employee" 
+                       xmlns:prs = "http://soapinterop.org/person"                      
+                       xmlns="http://www.w3.org/2001/XMLSchema" 
+                       elementFormDefault="qualified">
+                        <import namespace="http://soapinterop.org/person" /> 
+                       <complexType name="Employee">
+                               <sequence>
+                                       <element minOccurs="1" maxOccurs="1" name="person" type="prs:Person"/>
+                                       <element minOccurs="1" maxOccurs="1" name="salary" type="double"/>                                      
+                                       <element minOccurs="1" maxOccurs="1" name="ID" type="int"/>
+                               </sequence>
+                       </complexType>
+                       <element name="x_Employee" type="emp:Employee"/>        
+                       <element name="result_Employee" type="emp:Employee"/>
+               </schema>
+       </types>
+       <message name="echoEmployee">
+               <part name="x" element="emp:x_Employee"/>
+       </message>
+       <message name="echoEmployeeResponse">
+               <part name="result" element="emp:result_Employee"/>
+       </message>
+       <portType name="SoapInteropCompound2PortType">
+               <operation name="echoEmployee" parameterOrder="x">
+                       <input message="wsdlns:echoEmployee"/>
+                       <output message="wsdlns:echoEmployeeResponse"/>
+               </operation>
+       </portType>
+       <binding name="SoapInteropCompound2Binding" type="wsdlns:SoapInteropCompound2PortType">
+               <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="echoEmployee">
+                       <soap:operation soapAction="#echoEmployee"/>
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+               </operation>            
+       </binding>
+       <service name="Compound2">
+               <port name="SoapInteropCompound2Port" binding="wsdlns:SoapInteropCompound2Binding">
+                       <soap:address location="round3_groupD_compound2.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.inc
new file mode 100644 (file)
index 0000000..8ca0338
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+class SOAP_Interop_GroupD {
+
+    function echoString($inputString)
+    {
+      return $inputString;
+    }
+
+    function echoStringArray($inputStringArray)
+    {
+      return $inputStringArray;
+    }
+
+    function echoStruct($inputStruct)
+    {
+      return $inputStruct;
+    }
+
+    function echoVoid()
+    {
+      return NULL;
+    }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_doclit.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.wsdl
new file mode 100644 (file)
index 0000000..4febca8
--- /dev/null
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="WSDLInteropTestDocLitService" 
+    targetNamespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+    xmlns="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://soapinterop.org/WSDLInteropTestDocLit" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+    xmlns:xsd1="http://soapinterop.org/xsd"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <types>
+        <schema targetNamespace="http://soapinterop.org/xsd"
+            xmlns="http://www.w3.org/2001/XMLSchema" 
+            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+            elementFormDefault="qualified">
+            <complexType name="ArrayOfstring_literal">
+                <sequence>
+                    <element maxOccurs="unbounded" minOccurs="1" name="string" type="xsd:string"/>
+                </sequence>
+            </complexType>
+           <complexType name="SOAPStruct">
+                <all>
+                    <element name="varFloat" type="xsd:float"/>
+                    <element name="varInt" type="xsd:int"/>
+                    <element name="varString" type="xsd:string"/>
+                </all>
+            </complexType>
+  
+            <element name="echoStringParam" type="xsd:string"/>
+         
+            <element name="echoStringReturn" type="xsd:string"/>
+            <element name="echoStringArrayParam" type="xsd1:ArrayOfstring_literal"/>
+                
+            <element name="echoStringArrayReturn" type="xsd1:ArrayOfstring_literal"/>
+               
+            <element name="echoStructParam" type="xsd1:SOAPStruct"/>
+                   
+            <element name="echoStructReturn" type="xsd1:SOAPStruct"/>
+        </schema>
+    </types>
+    <message name="echoString">
+        <part element="xsd1:echoStringParam" name="a"/>
+    </message>
+    <message name="echoStringResponse">
+        <part element="xsd1:echoStringReturn" name="result"/>
+    </message>
+    <message name="echoStringArray">
+        <part element="xsd1:echoStringArrayParam" name="a"/>
+    </message>
+    <message name="echoStringArrayResponse">
+        <part element="xsd1:echoStringArrayReturn" name="result"/>
+    </message>
+    <message name="echoStruct">
+        <part element="xsd1:echoStructParam" name="a"/>
+    </message>
+    <message name="echoStructResponse">
+        <part element="xsd1:echoStructReturn" name="result"/>
+    </message>
+    <message name="echoVoid"/>
+    <message name="echoVoidResponse"/>
+
+    <portType name="WSDLInteropTestDocLitPortType">
+        <operation name="echoString">
+            <input message="tns:echoString" name="echoString"/>
+            <output message="tns:echoStringResponse" name="echoStringResponse"/>
+        </operation>
+        <operation name="echoStringArray">
+            <input message="tns:echoStringArray" name="echoStringArray"/>
+            <output message="tns:echoStringArrayResponse" name="echoStringArrayResponse"/>
+        </operation>
+        <operation name="echoStruct">
+            <input message="tns:echoStruct" name="echoStruct"/>
+            <output message="tns:echoStructResponse" name="echoStructResponse"/>
+        </operation>
+        <operation name="echoVoid">
+            <input message="tns:echoVoid" name="echoVoid"/>
+            <output message="tns:echoVoidResponse" name="echoVoidResponse"/>
+        </operation>
+    </portType>
+    <binding name="WSDLInteropTestDocLitPortBinding" 
+        type="tns:WSDLInteropTestDocLitPortType">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <operation name="echoString">
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoString">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoStringResponse">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoStringArray">
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoStringArray">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoStringArrayResponse">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoStruct">
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoStruct">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoStructResponse">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoVoid">
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoVoid">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoVoidResponse">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+    </binding>
+    <service name="WSDLInteropTestDocLitService">
+        <port binding="tns:WSDLInteropTestDocLitPortBinding" 
+            name="WSDLInteropTestDocLitPort">
+            <soap:address 
+                location="round3_groupD_doclit.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.inc
new file mode 100644 (file)
index 0000000..2042cfc
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+class SOAP_Interop_GroupD {
+
+    function echoString($inputString)
+    {          
+      return array("return"=>$inputString->param0);
+    }
+
+    function echoStringArray($inputStringArray)
+    {
+      return array("return"=>$inputStringArray->param0);
+    }
+
+    function echoStruct($inputStruct)
+    {
+      return array("return"=>$inputStruct->param0);
+    }
+
+    function echoVoid()
+    {
+      return NULL;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_doclitparams.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.wsdl
new file mode 100644 (file)
index 0000000..8b8558d
--- /dev/null
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="WSDLInteropTestDocLitService" 
+    targetNamespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+    xmlns="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://soapinterop.org/WSDLInteropTestDocLit" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+    xmlns:xsd1="http://soapinterop.org/xsd"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <types>
+        <schema targetNamespace="http://soapinterop.org/xsd"
+            xmlns="http://www.w3.org/2001/XMLSchema" 
+            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+            <complexType name="ArrayOfstring_literal">
+                <sequence>
+                    <element maxOccurs="unbounded" minOccurs="1" name="string" type="xsd:string"/>
+                </sequence>
+            </complexType>
+           <complexType name="SOAPStruct">
+                <all>
+                    <element name="varFloat" type="xsd:float"/>
+                    <element name="varInt" type="xsd:int"/>
+                    <element name="varString" type="xsd:string"/>
+                </all>
+            </complexType>            
+
+            <element name="echoString">
+                <complexType>
+                    <sequence>
+                        <element name="param0" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoStringResponse">
+                <complexType>
+                    <sequence>
+                        <element name="return" type="xsd:string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoStringArray">
+                <complexType>
+                    <sequence>
+                        <element name="param0" type="xsd1:ArrayOfstring_literal"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoStringArrayResponse">
+                <complexType>
+                    <sequence>
+                        <element name="return" type="xsd1:ArrayOfstring_literal"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoStruct">
+                <complexType>
+                    <sequence>
+                        <element name="param0" type="xsd1:SOAPStruct"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="echoStructResponse">
+                <complexType>
+                    <sequence>
+                        <element name="return" type="xsd1:SOAPStruct"/>
+                    </sequence>
+                </complexType>
+            </element>           
+            <element name="echoVoid">
+                <complexType/>
+            </element>
+            <element name="echoVoidResponse">
+                <complexType/>
+            </element>
+        </schema>
+    </types>
+    <message name="echoString">
+        <part element="xsd1:echoString" name="parameters"/>
+    </message>
+    <message name="echoStringResponse">
+        <part element="xsd1:echoStringResponse" name="parameters"/>
+    </message>
+    <message name="echoStringArray">
+        <part element="xsd1:echoStringArray" name="parameters"/>
+    </message>
+    <message name="echoStringArrayResponse">
+        <part element="xsd1:echoStringArrayResponse" name="parameters"/>
+    </message>
+    <message name="echoStruct">
+        <part element="xsd1:echoStruct" name="parameters"/>
+    </message>
+    <message name="echoStructResponse">
+        <part element="xsd1:echoStructResponse" name="parameters"/>
+    </message>
+    <message name="echoVoid">
+        <part element="xsd1:echoVoid" name="parameters"/>
+    </message>
+    <message name="echoVoidResponse">
+        <part element="xsd1:echoVoidResponse" name="parameters"/>
+    </message>
+    <portType name="WSDLInteropTestDocLitPortType">
+        <operation name="echoString">
+            <input message="tns:echoString" name="echoString"/>
+            <output message="tns:echoStringResponse" name="echoStringResponse"/>
+        </operation>
+        <operation name="echoStringArray">
+            <input message="tns:echoStringArray" name="echoStringArray"/>
+            <output message="tns:echoStringArrayResponse" name="echoStringArrayResponse"/>
+        </operation>
+        <operation name="echoStruct">
+            <input message="tns:echoStruct" name="echoStruct"/>
+            <output message="tns:echoStructResponse" name="echoStructResponse"/>
+        </operation>
+        <operation name="echoVoid">
+            <input message="tns:echoVoid" name="echoVoid"/>
+            <output message="tns:echoVoidResponse" name="echoVoidResponse"/>
+        </operation>
+    </portType>
+    <binding name="WSDLInteropTestDocLitPortBinding" 
+        type="tns:WSDLInteropTestDocLitPortType">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <operation name="echoString">
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoString">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoStringResponse">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoStringArray">
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoStringArray">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoStringArrayResponse">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoStruct">
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoStruct">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoStructResponse">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+        <operation name="echoVoid">
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoVoid">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoVoidResponse">
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+    </binding>
+    <service name="WSDLInteropTestDocLitService">
+        <port binding="tns:WSDLInteropTestDocLitPortBinding" 
+            name="WSDLInteropTestDocLitPort">
+            <soap:address 
+                location="round3_groupD_doclitparams.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.inc
new file mode 100644 (file)
index 0000000..b239c45
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+class SOAP_Interop_GroupD {
+
+    function echoString($inputString)
+    {
+      return $inputString;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_emptysa.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.wsdl
new file mode 100644 (file)
index 0000000..09a09a4
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="SoapInterop" targetNamespace="http://soapinterop/" 
+               xmlns:wsdlns="http://soapinterop/" 
+               xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+               xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+               xmlns="http://schemas.xmlsoap.org/wsdl/">
+       <types/>
+       <message name="echoStringRequest">
+               <part name="a" type="xsd:string"/>
+       </message>
+       <message name="echoStringResponse">
+               <part name="Result" type="xsd:string"/>
+       </message>
+       <portType name="SoapInteropEmptySAPortType">
+               <operation name="echoString" parameterOrder="a">
+                       <input message="wsdlns:echoStringRequest"/>
+                       <output message="wsdlns:echoStringResponse"/>
+               </operation>
+       </portType>
+       <binding name="SoapInteropEmptySABinding" type="wsdlns:SoapInteropEmptySAPortType">
+               <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="echoString">
+                       <soap:operation soapAction=""/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+       </binding>
+       <service name="EmptySA">
+               <port name="SoapInteropEmptySAPort" binding="wsdlns:SoapInteropEmptySABinding">
+                       <soap:address location="round3_groupD_emptysa.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.inc
new file mode 100644 (file)
index 0000000..2e56d18
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+class SOAP_Interop_GroupD {
+
+    function echoString($inputString)
+    {
+      return $inputString;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_import1.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.wsdl
new file mode 100644 (file)
index 0000000..d928830
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="SoapInterop" targetNamespace="http://soapinterop.org/" 
+               xmlns:wsdlns1="http://soapinterop.org/definitions/" 
+               xmlns:wsdlns="http://soapinterop.org/"
+               xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+               xmlns="http://schemas.xmlsoap.org/wsdl/">
+       <import location="imported/import1B.wsdl" namespace="http://soapinterop.org/definitions/" /> 
+
+       <binding name="SoapInteropImport1Binding" type="wsdlns1:SoapInteropImport1PortType">
+               <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="echoString">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop/echoString/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop/echoStringResponse/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+       </binding>
+       <service name="Import1">
+               <port name="SoapInteropImport1Port" binding="wsdlns:SoapInteropImport1Binding">
+                       <soap:address location="round3_groupD_import1.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.inc
new file mode 100644 (file)
index 0000000..a0893c6
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+class SOAP_Interop_GroupD {
+
+    function echoStruct($inputStruct)
+    {
+      return $inputStruct;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_import2.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.wsdl
new file mode 100644 (file)
index 0000000..fc0f8ae
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="SoapInterop" targetNamespace="http://soapinterop.org/main/" 
+               xmlns:wsdlns1="http://soapinterop.org/definitions/"  
+               xmlns:wsdlns="http://soapinterop.org/main/"  
+               xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"              
+               xmlns="http://schemas.xmlsoap.org/wsdl/">
+       <import location="imported/import2B.wsdl" namespace="http://soapinterop.org/definitions/" /> 
+
+       <binding name="SoapInteropImport2Binding" type="wsdlns1:SoapInteropImport2PortType">
+               <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="echoStruct">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+       </binding>
+       <service name="Import2">
+               <port name="SoapInteropImport2Port" binding="wsdlns:SoapInteropImport2Binding">
+                       <soap:address location="round3_groupD_import2.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2_absolute.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2_absolute.wsdl
new file mode 100644 (file)
index 0000000..fc0f8ae
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="SoapInterop" targetNamespace="http://soapinterop.org/main/" 
+               xmlns:wsdlns1="http://soapinterop.org/definitions/"  
+               xmlns:wsdlns="http://soapinterop.org/main/"  
+               xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"              
+               xmlns="http://schemas.xmlsoap.org/wsdl/">
+       <import location="imported/import2B.wsdl" namespace="http://soapinterop.org/definitions/" /> 
+
+       <binding name="SoapInteropImport2Binding" type="wsdlns1:SoapInteropImport2PortType">
+               <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="echoStruct">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+       </binding>
+       <service name="Import2">
+               <port name="SoapInteropImport2Port" binding="wsdlns:SoapInteropImport2Binding">
+                       <soap:address location="round3_groupD_import2.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.inc
new file mode 100644 (file)
index 0000000..398f97e
--- /dev/null
@@ -0,0 +1,19 @@
+<?php
+class SOAP_Interop_GroupD {
+
+    function echoStruct($inputStruct)
+    {
+      return $inputStruct;
+    }
+
+    function echoStructArray($inputStructArray)
+    {
+      return $inputStructArray;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_import3.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.wsdl
new file mode 100644 (file)
index 0000000..3dd2642
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="SoapInterop" targetNamespace="http://soapinterop.org/main2/" 
+               xmlns:wsdlns="http://soapinterop.org/main2/"  
+               xmlns:impns="http://soapinterop.org/definitions/"  
+               xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"              
+               xmlns:typens2="http://soapinterop.org/xsd2"             
+               xmlns:typens="http://soapinterop.org/xsd"
+               xmlns="http://schemas.xmlsoap.org/wsdl/">
+       
+       <import namespace = "http://soapinterop.org/xsd" location = "round3_groupD_import2.wsdl"/>
+       <import namespace = "http://soapinterop.org/definitions/" location = "round3_groupD_import2.wsdl"/>
+       
+       <types>
+       <schema targetNamespace='http://soapinterop.org/xsd2'
+             xmlns='http://www.w3.org/2001/XMLSchema'  
+             xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/'      
+             xmlns:wsdl = "http://schemas.xmlsoap.org/wsdl/"               
+             elementFormDefault='unqualified'>
+             <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
+             <import namespace = "http://soapinterop.org/xsd"/>        
+             <complexType  name ='ArrayOfSOAPStruct'>
+               <complexContent>
+                 <restriction base='SOAP-ENC:Array'>
+                       <attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='typens:SOAPStruct[]'/>
+                 </restriction>
+               </complexContent>
+             </complexType>
+       </schema>
+       </types>
+
+       <message name='Server.echoStructArray'>
+               <part name='inputArray' type='typens2:ArrayOfSOAPStruct'/>
+       </message>
+       <message name='Server.echoStructArrayResponse'>
+               <part name='Result' type='typens2:ArrayOfSOAPStruct'/>
+       </message>
+
+       <portType name="SoapInteropImport3PortType">
+               <operation name='echoStruct' parameterOrder='inputStruct'>
+                         <input message='impns:Server.echoStruct' />
+                         <output message='impns:Server.echoStructResponse' />
+               </operation>
+               <operation name='echoStructArray' parameterOrder='inputArray'>
+                         <input message='wsdlns:Server.echoStructArray' />
+                         <output message='wsdlns:Server.echoStructArrayResponse' />
+               </operation>
+       </portType>     
+
+       <binding name="SoapInteropImport3Binding" type="wsdlns:SoapInteropImport3PortType">
+               <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+               <operation name="echoStruct">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+               <operation name="echoStructArray">
+                       <soap:operation soapAction="http://soapinterop.org/"/>
+                       <input>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body use="encoded" namespace="http://soapinterop/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </output>
+               </operation>
+       </binding>
+       <service name="Import3">
+               <port name="SoapInteropImport3Port" binding="wsdlns:SoapInteropImport3Binding">
+                       <soap:address location="round3_groupD_import3.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.inc b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.inc
new file mode 100644 (file)
index 0000000..645ab3a
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+class SOAP_Interop_GroupD {
+
+    function echoString($inputString)
+    {
+      return $inputString;
+    }
+
+    function echoStringArray($inputStringArray)
+    {
+      return $inputStringArray;
+    }
+
+    function echoStruct($inputStruct)
+    {
+      return $inputStruct;
+    }
+
+    function echoVoid()
+    {
+      return NULL;
+    }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupD_rpcenc.wsdl");
+$server->setClass("SOAP_Interop_GroupD");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.wsdl b/ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.wsdl
new file mode 100644 (file)
index 0000000..03568f7
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="WSDLInteropTestRpcEncService" 
+    targetNamespace="http://soapinterop.org/WSDLInteropTestRpcEnc" 
+    xmlns="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://soapinterop.org/WSDLInteropTestRpcEnc" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+    xmlns:xsd1="http://soapinterop.org/xsd" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <types>
+        <schema targetNamespace="http://soapinterop.org/xsd" 
+            xmlns="http://www.w3.org/2001/XMLSchema" 
+            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+            <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>          
+            <complexType name="ArrayOfstring">
+                <complexContent>
+                    <restriction base="SOAP-ENC:Array">
+                        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]"/>
+                    </restriction>
+                </complexContent>
+            </complexType>
+            <complexType name="SOAPStruct">
+                <all>
+                    <element name="varFloat" type="xsd:float"/>
+                    <element name="varInt" type="xsd:int"/>
+                    <element name="varString" type="xsd:string"/>
+                </all>
+            </complexType>           
+        </schema>
+    </types>
+
+    <message name="echoString">
+        <part name="param0" type="xsd:string"/>
+    </message>
+    <message name="echoStringResponse">
+        <part name="return" type="xsd:string"/>
+    </message>
+    <message name="echoStringArray">
+        <part name="param0" type="xsd1:ArrayOfstring"/>
+    </message>
+    <message name="echoStringArrayResponse">
+        <part name="return" type="xsd1:ArrayOfstring"/>
+    </message>
+    <message name="echoStruct">
+        <part name="param0" type="xsd1:SOAPStruct"/>
+    </message>
+    <message name="echoStructResponse">
+        <part name="return" type="xsd1:SOAPStruct"/>
+    </message>
+    <message name="echoVoid"/>
+    <message name="echoVoidResponse"/>
+    <portType name="WSDLInteropTestRpcEncPortType">
+        <operation name="echoString">
+            <input message="tns:echoString" name="echoString"/>
+            <output message="tns:echoStringResponse" name="echoStringResponse"/>
+        </operation>
+        <operation name="echoStringArray">
+            <input message="tns:echoStringArray" name="echoStringArray"/>
+            <output message="tns:echoStringArrayResponse" name="echoStringArrayResponse"/>
+        </operation>
+        <operation name="echoStruct">
+            <input message="tns:echoStruct" name="echoStruct"/>
+            <output message="tns:echoStructResponse" name="echoStructResponse"/>
+        </operation>
+        <operation name="echoVoid">
+            <input message="tns:echoVoid" name="echoVoid"/>
+            <output message="tns:echoVoidResponse" name="echoVoidResponse"/>
+        </operation>
+    </portType>
+    <binding name="WSDLInteropTestRpcEncPortBinding" 
+        type="tns:WSDLInteropTestRpcEncPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <operation name="echoString">
+            <soap:operation soapAction="" style="rpc"/>
+            <input name="echoString">
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </input>
+            <output name="echoStringResponse">
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </output>
+        </operation>
+        <operation name="echoStringArray">
+            <soap:operation soapAction="" style="rpc"/>
+            <input name="echoStringArray">
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </input>
+            <output name="echoStringArrayResponse">
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </output>
+        </operation>
+        <operation name="echoStruct">
+            <soap:operation soapAction="" style="rpc"/>
+            <input name="echoStruct">
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </input>
+            <output name="echoStructResponse">
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </output>
+        </operation>        
+        <operation name="echoVoid">
+            <soap:operation soapAction="" style="rpc"/>
+            <input name="echoVoid">
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </input>
+            <output name="echoVoidResponse">
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </output>
+        </operation>
+    </binding>
+    <service name="WSDLInteropTestRpcEncService">
+        <port binding="tns:WSDLInteropTestRpcEncPortBinding" 
+            name="WSDLInteropTestRpcEncPort">
+            <soap:address 
+                location="round3_groupD_rpcenc.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/skipif.inc b/ext/soap/tests/interop/Round3/GroupD/skipif.inc
new file mode 100644 (file)
index 0000000..fa8574e
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt
new file mode 100644 (file)
index 0000000..523f0e1
--- /dev/null
@@ -0,0 +1,35 @@
+--TEST--
+SOAP Interop Round3 GroupE List 001 (php/wsdl): echoLinkedList
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1,NULL);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:nil="1" xsi:type="ns2:List"/></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:nil="1" xsi:type="ns2:List"/></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#5 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  NULL
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt
new file mode 100644 (file)
index 0000000..e14bb4a
--- /dev/null
@@ -0,0 +1,42 @@
+--TEST--
+SOAP Interop Round3 GroupE List 002 (php/wsdl): echoLinkedList
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1, new SOAPList('arg2',2,NULL));
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:nil="1" xsi:type="ns2:List"/></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:nil="1" xsi:type="ns2:List"/></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#6 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  object(stdClass)#7 (3) {
+    ["varInt"]=>
+    int(2)
+    ["varString"]=>
+    string(4) "arg2"
+    ["child"]=>
+    NULL
+  }
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt
new file mode 100644 (file)
index 0000000..09d3bef
--- /dev/null
@@ -0,0 +1,49 @@
+--TEST--
+SOAP Interop Round3 GroupE List 003 (php/wsdl): echoLinkedList
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="1" xsi:type="ns2:List"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="1" xsi:type="ns2:List"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#7 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  object(stdClass)#8 (3) {
+    ["varInt"]=>
+    int(2)
+    ["varString"]=>
+    string(4) "arg2"
+    ["child"]=>
+    object(stdClass)#9 (3) {
+      ["varInt"]=>
+      int(3)
+      ["varString"]=>
+      string(4) "arg3"
+      ["child"]=>
+      NULL
+    }
+  }
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt
new file mode 100644 (file)
index 0000000..212cf76
--- /dev/null
@@ -0,0 +1,28 @@
+--TEST--
+SOAP Interop Round3 GroupE List 004 (php/wsdl): echoLinkedList
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = NULL;
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:nil="1" xsi:type="ns2:List"/></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:nil="1" xsi:type="ns2:List"/></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+NULL
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt
new file mode 100644 (file)
index 0000000..e66bbb7
--- /dev/null
@@ -0,0 +1,50 @@
+--TEST--
+SOAP Interop Round3 GroupE List 005 (php/wsdl): echoLinkedList (cyclic)
+--SKIPIF--
+<?php require_once('skipif.inc'); die('skip cyclic stuctures are not supported yet'); ?>
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
+$struct->child->child->child = $struct;
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="1" xsi:type="ns2:List"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="1" xsi:type="ns2:List"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#7 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  object(stdClass)#8 (3) {
+    ["varInt"]=>
+    int(2)
+    ["varString"]=>
+    string(4) "arg2"
+    ["child"]=>
+    object(stdClass)#9 (3) {
+      ["varInt"]=>
+      int(3)
+      ["varString"]=>
+      string(4) "arg3"
+      ["child"]=>
+      NULL
+    }
+  }
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt
new file mode 100644 (file)
index 0000000..4958487
--- /dev/null
@@ -0,0 +1,50 @@
+--TEST--
+SOAP Interop Round3 GroupE List 006 (php/wsdl): echoLinkedList (cyclic)
+--SKIPIF--
+<?php require_once('skipif.inc'); die("skip cyclic stuctures are not supported yet"); ?>
+--FILE--
+<?php
+class SOAPList {
+    function SOAPList($s, $i, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->child = $c;
+    }
+}
+$struct = new SOAPList('arg1',1,new SOAPList('arg2',2,new SOAPList('arg3',3,NULL)));
+$struct->child->child->child = $struct->child;
+$client = new SoapClient(dirname(__FILE__)."/round3_groupE_list.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoLinkedList($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupE_list.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedList><param0 xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="1" xsi:type="ns2:List"/></child></child></param0></ns1:echoLinkedList></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/WSDLInteropTestRpcEnc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoLinkedListResponse><return xsi:type="ns2:List"><varInt xsi:type="xsd:int">1</varInt><varString xsi:type="xsd:string">arg1</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">2</varInt><varString xsi:type="xsd:string">arg2</varString><child xsi:type="ns2:List"><varInt xsi:type="xsd:int">3</varInt><varString xsi:type="xsd:string">arg3</varString><child xsi:nil="1" xsi:type="ns2:List"/></child></child></return></ns1:echoLinkedListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+object(stdClass)#7 (3) {
+  ["varInt"]=>
+  int(1)
+  ["varString"]=>
+  string(4) "arg1"
+  ["child"]=>
+  object(stdClass)#8 (3) {
+    ["varInt"]=>
+    int(2)
+    ["varString"]=>
+    string(4) "arg2"
+    ["child"]=>
+    object(stdClass)#9 (3) {
+      ["varInt"]=>
+      int(3)
+      ["varString"]=>
+      string(4) "arg3"
+      ["child"]=>
+      NULL
+    }
+  }
+}
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.inc b/ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.inc
new file mode 100644 (file)
index 0000000..83454c0
--- /dev/null
@@ -0,0 +1,17 @@
+<?php
+class SOAP_Interop_GroupE {
+
+    function echoLinkedList($inputList)
+    {
+      global $d;
+      $d = $inputList;
+      return $inputList;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupE_list.wsdl");
+$server->setClass("SOAP_Interop_GroupE");
+$server->handle();
+var_dump($d);
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.wsdl b/ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.wsdl
new file mode 100644 (file)
index 0000000..49e6a8c
--- /dev/null
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="WSDLInteropTestList" 
+    targetNamespace="http://soapinterop.org/WSDLInteropTestList" 
+    xmlns="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://soapinterop.org/WSDLInteropTestList" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+    xmlns:xsd1="http://soapinterop.org/xsd" 
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <types>
+        <schema targetNamespace="http://soapinterop.org/xsd" 
+            xmlns="http://www.w3.org/2001/XMLSchema" 
+            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+           
+            <complexType name="List">
+                <all>
+                    <element name="varInt" type="xsd:int"/>
+                    <element name="varString" type="xsd:string"/>
+                   <element name="child" type = "xsd1:List"/>
+                </all>
+            </complexType>           
+        </schema>
+    </types>
+
+    <message name="echoLinkedList">
+        <part name="param0" type="xsd1:List"/>
+    </message>
+    <message name="echoLinkedListResponse">
+        <part name="return" type="xsd1:List"/>
+    </message>
+    <portType name="WSDLInteropTestListPortType">
+        <operation name="echoLinkedList">
+            <input message="tns:echoLinkedList"/>
+            <output message="tns:echoLinkedListResponse"/>
+        </operation>        
+    </portType>
+    <binding name="WSDLInteropTestListBinding" 
+        type="tns:WSDLInteropTestListPortType">
+        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <operation name="echoLinkedList">
+            <soap:operation soapAction="" style="rpc"/>
+            <input>
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </input>
+            <output>
+                <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
+                    namespace="http://soapinterop.org/WSDLInteropTestRpcEnc" use="encoded"/>
+            </output>
+        </operation>
+      
+    </binding>
+    <service name="WSDLInteropTestListService">
+        <port binding="tns:WSDLInteropTestListBinding" 
+            name="WSDLInteropTestListPort">
+            <soap:address 
+                location="round3_groupE_list.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupE/skipif.inc b/ext/soap/tests/interop/Round3/GroupE/skipif.inc
new file mode 100644 (file)
index 0000000..fa8574e
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt
new file mode 100644 (file)
index 0000000..ecfb3a1
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupF Extensibility 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_ext.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_ext.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt
new file mode 100644 (file)
index 0000000..05abe3b
--- /dev/null
@@ -0,0 +1,15 @@
+--TEST--
+SOAP Interop Round3 GroupF Extensibility Required 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_extreq.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+//$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+//include("round3_groupF_extreq.inc");
+echo "ok\n";
+?>
+--EXPECTF--
+Fatal error: SOAP-ERROR: Parsing WSDL: Unknown required WSDL extension 'http://soapinterop.org/ext' in %sr3_groupF_extreq_001w.php on line %d
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt
new file mode 100644 (file)
index 0000000..958bdda
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round3 GroupF Headers 001 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_headers.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt
new file mode 100644 (file)
index 0000000..b60957b
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round3 GroupF Headers 002 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/xsd","Header1", array("int"=>34,"string"=>"arg"));
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString",array("Hello World"),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_headers.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header1><ns1:string>arg</ns1:string><ns1:int>34</ns1:int></ns1:Header1></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt
new file mode 100644 (file)
index 0000000..1426c07
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round3 GroupF Headers 003 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/xsd","Header2", array("int"=>34,"string"=>"arg"));
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString",array("Hello World"),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_headers.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header2><ns1:int>34</ns1:int><ns1:string>arg</ns1:string></ns1:Header2></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt b/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt
new file mode 100644 (file)
index 0000000..db99a7f
--- /dev/null
@@ -0,0 +1,23 @@
+--TEST--
+SOAP Interop Round3 GroupF Headers 004 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = array(
+  new SoapHeader("http://soapinterop.org/xsd","Header1", array("int"=>34,"string"=>"arg1")),
+  new SoapHeader("http://soapinterop.org/xsd","Header2", array("int"=>43,"string"=>"arg2"))
+);
+$client = new SoapClient(dirname(__FILE__)."/round3_groupF_headers.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoString",array("Hello World"),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round3_groupF_headers.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Header><ns1:Header1><ns1:string>arg1</ns1:string><ns1:int>34</ns1:int></ns1:Header1><ns1:Header2><ns1:int>43</ns1:int><ns1:string>arg2</ns1:string></ns1:Header2></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoStringParam>Hello World</ns1:echoStringParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd"><SOAP-ENV:Body><ns1:echoStringReturn>Hello World</ns1:echoStringReturn></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.inc b/ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.inc
new file mode 100644 (file)
index 0000000..44bc83b
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+class SOAP_Interop_GroupF {
+
+    function echoString($inputString)
+    {
+      return $inputString;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupF_ext.wsdl");
+$server->setClass("SOAP_Interop_GroupF");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.wsdl b/ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.wsdl
new file mode 100644 (file)
index 0000000..74ec018
--- /dev/null
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="WSDLInteropTestDocLitService" 
+    targetNamespace="http://soapinterop.org/" 
+    xmlns="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://soapinterop.org/" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+    xmlns:xsd1="http://soapinterop.org/xsd"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ext="http://soapinterop.org/ext">
+       <ext:types/> 
+
+       <types>
+       <ext:schema targetNamespace="http://soapinterop.org/xsd"/>
+        <schema targetNamespace="http://soapinterop.org/xsd"
+            xmlns="http://www.w3.org/2001/XMLSchema" 
+            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">           
+  
+            <element name="echoStringParam" type="xsd:string"/>
+         
+            <element name="echoStringReturn" type="xsd:string"/>            
+        </schema>
+    </types>
+    <ext:message name="echoString"/>
+    <message name="echoString">
+        <part element="xsd1:echoStringParam" name="a"/>
+    </message>
+    <message name="echoStringResponse">
+        <part element="xsd1:echoStringReturn" name="result"/>
+    </message>
+
+    <ext:portType name="WSDLInteropTestDocLitPortType"/>
+
+    <portType name="WSDLInteropTestDocLitPortType">
+        <operation name="echoString">
+            <input message="tns:echoString" name="echoString"/>
+            <output message="tns:echoStringResponse" name="echoStringResponse"/>
+        </operation>
+    </portType>
+    <ext:binding name="WSDLInteropTestDocLitPortBinding"/>
+    <binding name="WSDLInteropTestDocLitPortBinding" 
+        type="tns:WSDLInteropTestDocLitPortType">
+       <ext:binding style ="chunked"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <operation name="echoString">
+           <ext:operation style ="chunked"/>
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoString">
+               <ext:body use ="direct"/>
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoStringResponse">
+               <ext:body use ="direct"/>
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+    </binding>
+    <ext:service name="WSDLInteropTestDocLitService"/>
+    <service name="WSDLInteropTestDocLitService">
+        <ext:port binding="tns:WSDLInteropTestDocLitPortBinding" 
+            name="WSDLInteropTestDocLitPort"/>
+       <port binding="tns:WSDLInteropTestDocLitPortBinding" 
+            name="WSDLInteropTestDocLitPort">
+           <ext:address location=""/>
+            <soap:address 
+                location="round3_groupF_ext.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_extreq.wsdl b/ext/soap/tests/interop/Round3/GroupF/round3_groupF_extreq.wsdl
new file mode 100644 (file)
index 0000000..8dfd65e
--- /dev/null
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="WSDLInteropTestDocLitService" 
+    targetNamespace="http://soapinterop.org/" 
+    xmlns="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
+    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:tns="http://soapinterop.org/" 
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+    xmlns:xsd1="http://soapinterop.org/xsd"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ext="http://soapinterop.org/ext">
+       <ext:types/> 
+
+       <types>
+       <ext:schema targetNamespace="http://soapinterop.org/xsd"/>
+        <schema targetNamespace="http://soapinterop.org/xsd"
+            xmlns="http://www.w3.org/2001/XMLSchema" 
+            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">           
+  
+            <element name="echoStringParam" type="xsd:string"/>
+         
+            <element name="echoStringReturn" type="xsd:string"/>            
+        </schema>
+    </types>
+    <ext:message name="echoString"/>
+    <message name="echoString">
+        <part element="xsd1:echoStringParam" name="a"/>
+    </message>
+    <message name="echoStringResponse">
+        <part element="xsd1:echoStringReturn" name="result"/>
+    </message>
+
+    <ext:portType name="WSDLInteropTestDocLitPortType"/>
+
+    <portType name="WSDLInteropTestDocLitPortType">
+        <operation name="echoString">
+            <input message="tns:echoString" name="echoString"/>
+            <output message="tns:echoStringResponse" name="echoStringResponse"/>
+        </operation>
+    </portType>
+    <ext:binding name="WSDLInteropTestDocLitPortBinding"/>
+    <binding name="WSDLInteropTestDocLitPortBinding" 
+        type="tns:WSDLInteropTestDocLitPortType">
+       <ext:binding style ="chunked" wsdl:required="true"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <operation name="echoString">
+           <ext:operation style ="chunked"/>
+            <soap:operation soapAction="http://soapinterop.org/" style="document"/>
+            <input name="echoString">
+               <ext:body use ="direct"/>
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </input>
+            <output name="echoStringResponse">
+               <ext:body use ="direct"/>
+                <soap:body namespace="http://soapinterop.org/WSDLInteropTestDocLit" 
+                    use="literal"/>
+            </output>
+        </operation>
+    </binding>
+    <ext:service name="WSDLInteropTestDocLitService"/>
+    <service name="WSDLInteropTestDocLitService">
+        <ext:port binding="tns:WSDLInteropTestDocLitPortBinding" 
+            name="WSDLInteropTestDocLitPort"/>
+       <port binding="tns:WSDLInteropTestDocLitPortBinding" 
+            name="WSDLInteropTestDocLitPort">
+           <ext:address location=""/>
+            <soap:address 
+                location="round3_groupF_extreq.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.inc b/ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.inc
new file mode 100644 (file)
index 0000000..ee65811
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+class SOAP_Interop_GroupF {
+
+    function Header1($input)
+    {
+    }
+
+    function Header2($input)
+    {
+    }
+
+    function echoString($inputString)
+    {
+      return $inputString;
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round3_groupF_ext.wsdl");
+$server->setClass("SOAP_Interop_GroupF");
+$server->handle();
+?>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.wsdl b/ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.wsdl
new file mode 100644 (file)
index 0000000..d03fc32
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+             xmlns:s="http://www.w3.org/2001/XMLSchema" 
+             xmlns:tns="http://soapinterop.org/"
+            xmlns:types="http://soapinterop.org/xsd" 
+             targetNamespace="http://soapinterop.org/" 
+            xmlns="http://schemas.xmlsoap.org/wsdl/">
+  <types>
+    <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
+      <s:element name="echoStringParam" type="s:string"/>
+         
+      <s:element name="echoStringReturn" type="s:string"/>
+
+      <s:element name="Header1" type="types:Header1" />
+      <s:complexType name="Header1">
+        <s:sequence>
+          <s:element name="string" type="s:string" />
+          <s:element name="int" type="s:int" />
+        </s:sequence>
+       <s:anyAttribute />
+      </s:complexType>
+      <s:element name="Header2" type="types:Header2" />
+      <s:complexType name="Header2">
+        <s:sequence>
+          <s:element name="int" type="s:int" />
+          <s:element name="string" type="s:string" />
+        </s:sequence>
+       <s:anyAttribute />
+      </s:complexType>
+    </s:schema>
+  </types>
+  <message name="echoString">
+        <part element="types:echoStringParam" name="a"/>
+    </message>
+    <message name="echoStringResponse">
+        <part element="types:echoStringReturn" name="result"/>
+    </message>
+  <message name="Header1">
+    <part name="Header1" element="types:Header1" />
+  </message>
+  <message name="Header2">
+    <part name="Header2" element="types:Header2" />
+  </message>
+  <portType name="RetHeaderPortType">
+    <operation name="echoString">
+      <input message="tns:echoString" />
+      <output message="tns:echoStringResponse" />
+    </operation>
+  </portType>
+  <binding name = "RetHeaderBinding" type="tns:RetHeaderPortType">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+    <operation name="echoString">
+      <soap:operation soapAction="http://soapinterop.org/" style="document" />
+      <input>
+        <soap:body use="literal" />
+        <soap:header message="tns:Header1" part="Header1" use="literal"/>
+        <soap:header message="tns:Header2" part="Header2" use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+    </operation>
+  </binding>
+  <service name="RetHeaderService">
+    <port name="RetHeaderPort" binding="tns:RetHeaderBinding">
+      <soap:address location="round3_groupF_headers.inc"/>
+               </port>
+       </service>
+</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupF/skipif.inc b/ext/soap/tests/interop/Round3/GroupF/skipif.inc
new file mode 100644 (file)
index 0000000..fa8574e
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.inc b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.inc
new file mode 100644 (file)
index 0000000..c2a2718
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+class SOAP_Interop_GroupG {
+
+  function EchoBase64AsAttachment($in) {
+    return $in;
+  }
+
+  function EchoAttachmentAsBase64($in) {
+    return $in;
+  }
+
+  function EchoAttachment($in) {
+    return $in;
+  }
+
+  function EchoAttachments($in) {
+    return $in;
+  }
+
+  function EchoAttachmentAsString($in) {
+    return $in;
+  }
+
+  function EchoUnrefAttachments($in) {
+    return $in;
+  }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupG_dimedoc.wsdl");
+$server->setClass("SOAP_Interop_GroupG");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.wsdl b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.wsdl
new file mode 100644 (file)
index 0000000..f82216e
--- /dev/null
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<wsdl:definitions name="SOAPBuilders" xmlns="http://soapinterop.org/attachments/wsdl" xmlns:types="http://soapinterop.org/attachments/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:dime="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/" xmlns:content="http://schemas.xmlsoap.org/ws/2002/04/content-type/" xmlns:ref="http://schemas.xmlsoap.org/ws/2002/04/reference/" targetNamespace="http://soapinterop.org/attachments/wsdl">\r
+       <wsdl:types>\r
+               <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/attachments/xsd" elementFormDefault="qualified" attributeFormDefault="qualified">\r
+                       <import namespace="http://schemas.xmlsoap.org/ws/2002/04/reference/"/>\r
+                       <import namespace="http://schemas.xmlsoap.org/ws/2002/04/content-type/"/>\r
+                       <complexType name="ReferencedBinary">\r
+                               <simpleContent>\r
+                                       <restriction base="xsd:base64Binary">\r
+                                               <annotation>\r
+                                                       <appinfo>\r
+                                                               <content:mediaType value="application/octetstream"/>\r
+                                                       </appinfo>\r
+                                               </annotation>\r
+                                               <attribute ref="ref:location" use="optional"/>\r
+                                       </restriction>\r
+                               </simpleContent>\r
+                       </complexType>\r
+                       <complexType name="ReferencedText">\r
+                               <simpleContent>\r
+                                       <restriction base="xsd:base64Binary">\r
+                                               <annotation>\r
+                                                       <appinfo>\r
+                                                               <content:mediaType value="text/plain"/>\r
+                                                       </appinfo>\r
+                                               </annotation>\r
+                                               <attribute ref="ref:location" use="optional"/>\r
+                                       </restriction>\r
+                               </simpleContent>\r
+                       </complexType>\r
+                       <element name="EchoAttachment" type="types:EchoAttachment"/>\r
+                       <element name="EchoAttachmentResponse" type="types:EchoAttachmentResponse"/>\r
+                       <complexType name="EchoAttachment">\r
+                               <sequence>\r
+                                       <element name="In" type="types:ReferencedBinary"/>\r
+                               </sequence>\r
+                       </complexType>\r
+                       <complexType name="EchoAttachmentResponse">\r
+                               <sequence>\r
+                                       <element name="Out" type="types:ReferencedBinary"/>\r
+                               </sequence>\r
+                       </complexType>\r
+                       <element name="EchoAttachments" type="types:Attachments"/>\r
+                       <element name="EchoAttachmentsResponse" type="types:Attachments"/>\r
+                       <complexType name="Attachments">\r
+                               <sequence>\r
+                                       <element name="Item" minOccurs="0" maxOccurs="unbounded" type="types:ReferencedBinary"/>\r
+                               </sequence>\r
+                       </complexType>\r
+                       <element name="EchoAttachmentAsBase64" type="types:EchoAttachment"/>\r
+                       <element name="EchoAttachmentAsBase64Response" type="types:base64Out"/>\r
+                       <element name="EchoBase64AsAttachment" type="types:base64In"/>\r
+                       <element name="EchoBase64AsAttachmentResponse" type="types:EchoAttachmentResponse"/>\r
+                       <complexType name="base64In">\r
+                               <sequence>\r
+                                       <element name="In" type="xsd:base64Binary"/>\r
+                               </sequence>\r
+                       </complexType>\r
+                       <complexType name="base64Out">\r
+                               <sequence>\r
+                                       <element name="Out" type="xsd:base64Binary"/>\r
+                               </sequence>\r
+                       </complexType>\r
+                       <element name="EchoUnrefAttachments" type="types:emptyType"/>\r
+                       <element name="EchoUnrefAttachmentsResponse" type="types:emptyType"/>\r
+                       <complexType name="emptyType">\r
+                               <sequence/>\r
+                       </complexType>\r
+                       <element name="EchoAttachmentAsString" type="types:EchoAttachmentAsString"/>\r
+                       <element name="EchoAttachmentAsStringResponse" type="types:EchoAttachmentAsStringResponse"/>\r
+                       <complexType name="EchoAttachmentAsString">\r
+                               <sequence>\r
+                                       <element name="In" type="types:ReferencedText"/>\r
+                               </sequence>\r
+                       </complexType>\r
+                       <complexType name="EchoAttachmentAsStringResponse">\r
+                               <sequence>\r
+                                       <element name="Out" type="xsd:string"/>\r
+                               </sequence>\r
+                       </complexType>\r
+               </schema>\r
+       </wsdl:types>\r
+       <wsdl:message name="EchoAttachmentIn">\r
+               <wsdl:part name="In" element="types:EchoAttachment"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentOut">\r
+               <wsdl:part name="Out" element="types:EchoAttachmentResponse"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentsIn">\r
+               <wsdl:part name="In" element="types:EchoAttachments"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentsOut">\r
+               <wsdl:part name="Out" element="types:EchoAttachmentsResponse"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsBase64In">\r
+               <wsdl:part name="In" element="types:EchoAttachmentAsBase64"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsBase64Out">\r
+               <wsdl:part name="Out" element="types:EchoAttachmentAsBase64Response"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoBase64AsAttachmentIn">\r
+               <wsdl:part name="In" element="types:EchoBase64AsAttachment"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoBase64AsAttachmentOut">\r
+               <wsdl:part name="Out" element="types:EchoBase64AsAttachmentResponse"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoUnrefAttachmentsIn">\r
+               <wsdl:part name="In" element="types:EchoUnrefAttachments"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoUnrefAttachmentsOut">\r
+               <wsdl:part name="Out" element="types:EchoUnrefAttachmentsResponse"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsStringIn">\r
+               <wsdl:part name="In" element="types:EchoAttachmentAsString"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsStringOut">\r
+               <wsdl:part name="Out" element="types:EchoAttachmentAsStringResponse"/>\r
+       </wsdl:message>\r
+       <wsdl:portType name="AttachmentsPortType">\r
+               <wsdl:operation name="EchoAttachment">\r
+                       <wsdl:input name="EchoAttachmentInput" message="EchoAttachmentIn"/>\r
+                       <wsdl:output name="EchoAttachmentOutput" message="EchoAttachmentOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachments">\r
+                       <wsdl:input name="EchoAttachmentsInput" message="EchoAttachmentsIn"/>\r
+                       <wsdl:output name="EchoAttachmentsOutput" message="EchoAttachmentsOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsBase64">\r
+                       <wsdl:input name="EchoAttachmentAsBase64Input" message="EchoAttachmentAsBase64In"/>\r
+                       <wsdl:output name="EchoAttachmentAsBase64Output" message="EchoAttachmentAsBase64Out"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoBase64AsAttachment">\r
+                       <wsdl:input name="EchoBase64AsAttachmentInput" message="EchoBase64AsAttachmentIn"/>\r
+                       <wsdl:output name="EchoBase64AsAttachmentOutput" message="EchoBase64AsAttachmentOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoUnrefAttachments">\r
+                       <wsdl:input name="EchoUnrefAttachmentsInput" message="EchoUnrefAttachmentsIn"/>\r
+                       <wsdl:output name="EchoUnrefAttachmentsOutput" message="EchoUnrefAttachmentsOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsString">\r
+                       <wsdl:input name="EchoAttachmentAsStringInput" message="EchoAttachmentAsStringIn"/>\r
+                       <wsdl:output name="EchoAttachmentAsStringOutput" message="EchoAttachmentAsStringOut"/>\r
+               </wsdl:operation>\r
+       </wsdl:portType>\r
+       <wsdl:binding name="AttachmentsBinding" type="AttachmentsPortType">\r
+               <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>\r
+               <wsdl:operation name="EchoAttachment">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentInput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentOutput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachments">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentsInput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentsOutput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsBase64">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentAsBase64Input">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentAsBase64Output">\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoBase64AsAttachment">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoBase64AsAttachmentInput">\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoBase64AsAttachmentOutput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoUnrefAttachments">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoUnrefAttachmentsInput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoUnrefAttachmentsOutput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsString">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentAsStringInput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentAsStringOutput">\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+       </wsdl:binding>\r
+  <wsdl:service name="Round4DIMEDOC">\r
+    <wsdl:port name="Round4DIMEDOCTestSoap" binding="AttachmentsBinding">\r
+      <soap:address location="test://" />\r
+    </wsdl:port>\r
+  </wsdl:service>\r
+</wsdl:definitions>\r
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.inc b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.inc
new file mode 100644 (file)
index 0000000..2f3c00a
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+class SOAP_Interop_GroupG {
+
+  function EchoBase64AsAttachment($in) {
+    return $in;
+  }
+
+  function EchoAttachmentAsBase64($in) {
+    return $in;
+  }
+
+  function EchoAttachment($in) {
+    return $in;
+  }
+
+  function EchoAttachments($in) {
+    return $in;
+  }
+
+  function EchoAttachmentAsString($in) {
+    return $in;
+  }
+
+  function EchoUnrefAttachments($in) {
+    return $in;
+  }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupG_dimerpc.wsdl");
+$server->setClass("SOAP_Interop_GroupG");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.wsdl b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.wsdl
new file mode 100644 (file)
index 0000000..dfaf81e
--- /dev/null
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<wsdl:definitions name="SOAPBuilders" xmlns="http://soapinterop.org/attachments/wsdl" xmlns:types="http://soapinterop.org/attachments/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:dime="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/" xmlns:content="http://schemas.xmlsoap.org/ws/2002/04/content-type/" targetNamespace="http://soapinterop.org/attachments/wsdl">\r
+       <wsdl:types>\r
+               <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/attachments/xsd">\r
+                       <import namespace="http://schemas.xmlsoap.org/soap/encoding/" location="http://schemas.xmlsoap.org/soap/encoding/" />\r
+                       <import namespace="http://schemas.xmlsoap.org/ws/2002/04/content-type/"/>\r
+                       <import namespace="http://schemas.xmlsoap.org/ws/2002/04/reference/"/>\r
+                       <complexType name="ReferencedBinary">\r
+                               <simpleContent>\r
+                                       <restriction base="soap-enc:base64Binary">\r
+                                               <annotation>\r
+                                                       <appinfo>\r
+                                                               <content:mediaType value="application/octetstream"/>\r
+                                                       </appinfo>\r
+                                               </annotation>\r
+                                               <attributeGroup ref="soap-enc:commonAttributes"/>\r
+                                       </restriction>\r
+                               </simpleContent>\r
+                       </complexType>\r
+                       <complexType name="ArrayOfBinary">\r
+                               <complexContent>\r
+                                       <restriction base="soap-enc:Array">\r
+                                               <attribute ref="soap-enc:arrayType" wsdl:arrayType="types:ReferencedBinary[]"/>\r
+                                       </restriction>\r
+                               </complexContent>\r
+                       </complexType>\r
+                       <complexType name="ReferencedText">\r
+                               <simpleContent>\r
+                                       <restriction base="soap-enc:base64Binary">\r
+                                               <annotation>\r
+                                                       <appinfo>\r
+                                                               <content:mediaType value="text/plain"/>\r
+                                                       </appinfo>\r
+                                               </annotation>\r
+                                               <attributeGroup ref="soap-enc:commonAttributes"/>\r
+                                       </restriction>\r
+                               </simpleContent>\r
+                       </complexType>\r
+               </schema>\r
+       </wsdl:types>\r
+       <wsdl:message name="EchoAttachmentIn">\r
+               <wsdl:part name="In" type="types:ReferencedBinary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentOut">\r
+               <wsdl:part name="Out" type="types:ReferencedBinary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentsIn">\r
+               <wsdl:part name="In" type="types:ArrayOfBinary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentsOut">\r
+               <wsdl:part name="Out" type="types:ArrayOfBinary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsBase64In">\r
+               <wsdl:part name="In" type="types:ReferencedBinary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsBase64Out">\r
+               <wsdl:part name="Out" type="xsd:base64Binary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoBase64AsAttachmentIn">\r
+               <wsdl:part name="In" type="xsd:base64Binary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoBase64AsAttachmentOut">\r
+               <wsdl:part name="Out" type="types:ReferencedBinary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoUnrefAttachmentsIn" />\r
+       <wsdl:message name="EchoUnrefAttachmentsOut" />\r
+       <wsdl:message name="EchoAttachmentAsStringIn">\r
+               <wsdl:part name="In" type="types:ReferencedText"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsStringOut">\r
+               <wsdl:part name="Out" type="xsd:string"/>\r
+       </wsdl:message>\r
+       \r
+       <wsdl:portType name="AttachmentsPortType">\r
+               <wsdl:operation name="EchoAttachment">\r
+                       <wsdl:input name="EchoAttachmentInput" message="EchoAttachmentIn"/>\r
+                       <wsdl:output name="EchoAttachmentOutput" message="EchoAttachmentOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachments">\r
+                       <wsdl:input name="EchoAttachmentsInput" message="EchoAttachmentsIn"/>\r
+                       <wsdl:output name="EchoAttachmentsOutput" message="EchoAttachmentsOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsBase64">\r
+                       <wsdl:input name="EchoAttachmentAsBase64Input" message="EchoAttachmentAsBase64In"/>\r
+                       <wsdl:output name="EchoAttachmentAsBase64Output" message="EchoAttachmentAsBase64Out"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoBase64AsAttachment">\r
+                       <wsdl:input name="EchoBase64AsAttachmentInput" message="EchoBase64AsAttachmentIn"/>\r
+                       <wsdl:output name="EchoBase64AsAttachmentOutput" message="EchoBase64AsAttachmentOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoUnrefAttachments">\r
+                       <wsdl:input name="EchoUnrefAttachmentsInput" message="EchoUnrefAttachmentsIn"/>\r
+                       <wsdl:output name="EchoUnrefAttachmentsOutput" message="EchoUnrefAttachmentsOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsString">\r
+                       <wsdl:input  name="EchoAttachmentAsStringInput"  message="EchoAttachmentAsStringIn"/>\r
+                       <wsdl:output name="EchoAttachmentAsStringOutput" message="EchoAttachmentAsStringOut"/>\r
+               </wsdl:operation>\r
+       </wsdl:portType>\r
+       <wsdl:binding name="AttachmentsBinding" type="AttachmentsPortType">\r
+               <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>\r
+               <wsdl:operation name="EchoAttachment">\r
+                       <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentInput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentOutput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachments">\r
+                       <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentsInput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentsOutput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsBase64">\r
+                       <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentAsBase64Input">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentAsBase64Output">\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoBase64AsAttachment">\r
+                       <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoBase64AsAttachmentInput">\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoBase64AsAttachmentOutput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoUnrefAttachments">\r
+                       <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoUnrefAttachmentsInput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoUnrefAttachmentsOutput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsString">\r
+                       <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentAsStringInput">\r
+                               <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentAsStringOutput">\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+       </wsdl:binding>\r
+  <wsdl:service name="Round4DIMERPC">\r
+    <wsdl:port name="Round4DIMERPCTestSoap" binding="AttachmentsBinding">\r
+      <soap:address location="test://" />\r
+    </wsdl:port>\r
+  </wsdl:service>\r
+</wsdl:definitions>\r
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.inc b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.inc
new file mode 100644 (file)
index 0000000..8ed272e
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+class SOAP_Interop_GroupG {
+
+  function EchoBase64AsAttachment($in) {
+    return $in;
+  }
+
+  function EchoAttachmentAsBase64($in) {
+    return $in;
+  }
+
+  function EchoAttachment($in) {
+    return $in;
+  }
+
+  function EchoAttachments($in) {
+    return $in;
+  }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupG_dimedoc.wsdl");
+$server->setClass("SOAP_Interop_GroupG");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.wsdl b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.wsdl
new file mode 100644 (file)
index 0000000..c67172e
--- /dev/null
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<wsdl:definitions name="SOAPBuilders" \r
+    xmlns="http://soapinterop.org/attachments/wsdl" \r
+    xmlns:types="http://soapinterop.org/attachments/xsd" \r
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" \r
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" \r
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" \r
+    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" \r
+    xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" \r
+    targetNamespace="http://soapinterop.org/attachments/wsdl">\r
+       <wsdl:types>\r
+               <schema \r
+                       xmlns="http://www.w3.org/2001/XMLSchema" \r
+                       targetNamespace="http://soapinterop.org/attachments/xsd" \r
+                       elementFormDefault="qualified"\r
+                       attributeFormDefault="qualified">\r
+               \r
+               <complexType name="binary">\r
+                       <simpleContent>\r
+                               <extension base="xsd:base64Binary">\r
+                                       <attribute name="href" type="xsd:anyURI"/>\r
+                               </extension>\r
+                       </simpleContent>\r
+               </complexType >\r
+               \r
+               <element name="EchoAttachment" type="types:EchoAttachment"/>\r
+               <element name="EchoAttachmentResponse" type="types:EchoAttachmentResponse"/>\r
+               <complexType name="EchoAttachment">\r
+                       <sequence>\r
+                               <element name="In" type="types:binary"/>\r
+                       </sequence>\r
+               </complexType>\r
+               <complexType name="EchoAttachmentResponse">\r
+                       <sequence>\r
+                               <element name="Out" type="types:binary"/>\r
+                       </sequence>\r
+               </complexType>\r
+               \r
+               <element name="EchoAttachments" type="types:Attachments"/>\r
+               <element name="EchoAttachmentsResponse" type="types:Attachments"/>\r
+               <complexType name="Attachments">\r
+                       <sequence>\r
+                               <element name="Item" minOccurs="0" maxOccurs="unbounded" type="types:binary">\r
+                               </element>\r
+                       </sequence>\r
+               </complexType>\r
+               \r
+               <element name="EchoAttachmentAsBase64" type="types:EchoAttachment"/>\r
+               <element name="EchoAttachmentAsBase64Response" type="types:EchoAttachmentResponse"/>\r
+               \r
+               <element name="EchoBase64AsAttachment" type="types:EchoAttachment"/>\r
+               <element name="EchoBase64AsAttachmentResponse" type="types:EchoAttachmentResponse"/>\r
+               </schema>\r
+       </wsdl:types>\r
+       \r
+       <wsdl:message name="EchoAttachmentIn">\r
+               <wsdl:part name="In" element="types:EchoAttachment"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentOut">\r
+               <wsdl:part name="Out" element="types:EchoAttachmentResponse"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentsIn">\r
+               <wsdl:part name="In" element="types:EchoAttachments"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentsOut">\r
+               <wsdl:part name="Out" element="types:EchoAttachmentsResponse"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsBase64In">\r
+               <wsdl:part name="In" element="types:EchoAttachmentAsBase64"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsBase64Out">\r
+               <wsdl:part name="Out" element="types:EchoAttachmentAsBase64Response"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoBase64AsAttachmentIn">\r
+               <wsdl:part name="In" element="types:EchoBase64AsAttachment"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoBase64AsAttachmentOut">\r
+               <wsdl:part name="Out" element="types:EchoBase64AsAttachmentResponse"/>\r
+       </wsdl:message>\r
+       \r
+       <wsdl:portType name="AttachmentsPortType">\r
+               <wsdl:operation name="EchoAttachment">\r
+                       <wsdl:input name="EchoAttachmentInput" message="EchoAttachmentIn"/>\r
+                       <wsdl:output name="EchoAttachmentOutput" message="EchoAttachmentOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachments">\r
+                       <wsdl:input name="EchoAttachmentsInput" message="EchoAttachmentsIn"/>\r
+                       <wsdl:output name="EchoAttachmentsOutput" message="EchoAttachmentsOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsBase64">\r
+                       <wsdl:input name="EchoAttachmentAsBase64Input" message="EchoAttachmentAsBase64In"/>\r
+                       <wsdl:output name="EchoAttachmentAsBase64Output" message="EchoAttachmentAsBase64Out"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoBase64AsAttachment">\r
+                       <wsdl:input name="EchoBase64AsAttachmentInput" message="EchoBase64AsAttachmentIn"/>\r
+                       <wsdl:output name="EchoBase64AsAttachmentOutput" message="EchoBase64AsAttachmentOut"/>\r
+               </wsdl:operation>\r
+       </wsdl:portType>\r
+       <wsdl:binding name="AttachmentsBinding" type="AttachmentsPortType">\r
+               <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>\r
+               <wsdl:operation name="EchoAttachment">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentInput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="literal"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="In" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentOutput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="literal" />\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="Out" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachments">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentsInput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="literal"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="In" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentsOutput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="literal"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="Out" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsBase64">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentAsBase64Input">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="literal"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="In" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentAsBase64Output">\r
+                               <soap:body use="literal"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoBase64AsAttachment">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoBase64AsAttachmentInput">\r
+                               <soap:body use="literal" />\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoBase64AsAttachmentOutput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="literal"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="Out" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+       </wsdl:binding>\r
+  <wsdl:service name="Round4MIMEDOC">\r
+    <wsdl:port name="Round4MIMEDOCTestSoap" binding="AttachmentsBinding">\r
+      <soap:address location="test://" />\r
+    </wsdl:port>\r
+  </wsdl:service>\r
+</wsdl:definitions>    
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.inc b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.inc
new file mode 100644 (file)
index 0000000..8ed272e
--- /dev/null
@@ -0,0 +1,25 @@
+<?php
+class SOAP_Interop_GroupG {
+
+  function EchoBase64AsAttachment($in) {
+    return $in;
+  }
+
+  function EchoAttachmentAsBase64($in) {
+    return $in;
+  }
+
+  function EchoAttachment($in) {
+    return $in;
+  }
+
+  function EchoAttachments($in) {
+    return $in;
+  }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupG_dimedoc.wsdl");
+$server->setClass("SOAP_Interop_GroupG");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.wsdl b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.wsdl
new file mode 100644 (file)
index 0000000..72aea03
--- /dev/null
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<wsdl:definitions name="SOAPBuilders" \r
+    xmlns="http://soapinterop.org/attachments/wsdl" \r
+    xmlns:types="http://soapinterop.org/attachments/xsd" \r
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" \r
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" \r
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" \r
+    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" \r
+    xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" \r
+    targetNamespace="http://soapinterop.org/attachments/wsdl">\r
+       <wsdl:types>\r
+               <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/attachments/xsd">\r
+                       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       <complexType name="ArrayOfBinary">\r
+                               <complexContent>\r
+                                       <restriction base="soap-enc:Array">\r
+                                               <attribute ref="soap-enc:arrayType" wsdl:arrayType="soap-enc:base64Binary[]"/>\r
+                                       </restriction>\r
+                               </complexContent>\r
+                       </complexType>\r
+               </schema>\r
+       </wsdl:types>\r
+       <wsdl:message name="EchoAttachmentIn">\r
+               <wsdl:part name="In" type="xsd:base64Binary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentOut">\r
+               <wsdl:part name="Out" type="xsd:base64Binary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentsIn">\r
+               <wsdl:part name="In" type="types:ArrayOfBinary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentsOut">\r
+               <wsdl:part name="Out" type="types:ArrayOfBinary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsBase64In">\r
+               <wsdl:part name="In" type="xsd:base64Binary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoAttachmentAsBase64Out">\r
+               <wsdl:part name="Out" type="xsd:base64Binary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoBase64AsAttachmentIn">\r
+               <wsdl:part name="In" type="xsd:base64Binary"/>\r
+       </wsdl:message>\r
+       <wsdl:message name="EchoBase64AsAttachmentOut">\r
+               <wsdl:part name="Out" type="xsd:base64Binary"/>\r
+       </wsdl:message>\r
+       <wsdl:portType name="AttachmentsPortType">\r
+               <wsdl:operation name="EchoAttachment">\r
+                       <wsdl:input name="EchoAttachmentInput" message="EchoAttachmentIn"/>\r
+                       <wsdl:output name="EchoAttachmentOutput" message="EchoAttachmentOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachments">\r
+                       <wsdl:input name="EchoAttachmentsInput" message="EchoAttachmentsIn"/>\r
+                       <wsdl:output name="EchoAttachmentsOutput" message="EchoAttachmentsOut"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsBase64">\r
+                       <wsdl:input name="EchoAttachmentAsBase64Input" message="EchoAttachmentAsBase64In"/>\r
+                       <wsdl:output name="EchoAttachmentAsBase64Output" message="EchoAttachmentAsBase64Out"/>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoBase64AsAttachment">\r
+                       <wsdl:input name="EchoBase64AsAttachmentInput" message="EchoBase64AsAttachmentIn"/>\r
+                       <wsdl:output name="EchoBase64AsAttachmentOutput" message="EchoBase64AsAttachmentOut"/>\r
+               </wsdl:operation>\r
+       </wsdl:portType>\r
+       <wsdl:binding name="AttachmentsBinding" type="AttachmentsPortType">\r
+               <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>\r
+               <wsdl:operation name="EchoAttachment">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentInput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="In" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentOutput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="Out" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachments">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentsInput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="In" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentsOutput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="Out" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoAttachmentAsBase64">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoAttachmentAsBase64Input">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="In" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoAttachmentAsBase64Output">\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+               <wsdl:operation name="EchoBase64AsAttachment">\r
+                       <soap:operation soapAction="http://soapinterop.org/attachments/"/>\r
+                       <wsdl:input name="EchoBase64AsAttachmentInput">\r
+                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                       </wsdl:input>\r
+                       <wsdl:output name="EchoBase64AsAttachmentOutput">\r
+                               <mime:multipartRelated>\r
+                                       <mime:part>\r
+                                               <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>\r
+                                       </mime:part>\r
+                                       <mime:part>\r
+                                               <mime:content part="Out" type="application/octetstream"/>\r
+                                       </mime:part>\r
+                               </mime:multipartRelated>\r
+                       </wsdl:output>\r
+               </wsdl:operation>\r
+       </wsdl:binding>\r
+  <wsdl:service name="Round4MIMERPC">\r
+    <wsdl:port name="Round4MIMERPCTestSoap" binding="AttachmentsBinding">\r
+      <soap:address location="test://" />\r
+    </wsdl:port>\r
+  </wsdl:service>\r
+</wsdl:definitions>\r
diff --git a/ext/soap/tests/interop/Round4/GroupG/skipif.inc b/ext/soap/tests/interop/Round4/GroupG/skipif.inc
new file mode 100644 (file)
index 0000000..fa8574e
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt
new file mode 100644 (file)
index 0000000..c95d3d1
--- /dev/null
@@ -0,0 +1,26 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 001 (php/wsdl): echoSOAPStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSOAPStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoSOAPStructFaultRequest><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:echoSOAPStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoSOAPStructFault'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt
new file mode 100644 (file)
index 0000000..ce7d00b
--- /dev/null
@@ -0,0 +1,32 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 002 (php/wsdl): echoBaseStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$struct = new BaseStruct(new SOAPStruct("a1",11,12.345),11);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBaseStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoBaseStructFaultRequest><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>11</ns1:shortMessage></ns2:echoBaseStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoBaseStructFault'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>11</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt
new file mode 100644 (file)
index 0000000..c9f31e0
--- /dev/null
@@ -0,0 +1,40 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 003 (php/wsdl): echoExtendedStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+$struct = new ExtendedStruct(new SOAPStruct("a1",11,12.345),12,"arg",-3,5);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoExtendedStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoExtendedStructFaultRequest><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:echoExtendedStructFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoExtendedStructFault'.</faultstring><detail><ns2:ExtendedStructPart><ns1:structMessage><ns1:varString>a1</ns1:varString><ns1:varInt>11</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:ExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt
new file mode 100644 (file)
index 0000000..4c917b7
--- /dev/null
@@ -0,0 +1,35 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 004 (php/wsdl): echoMultipleFaults1(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg1',34,325.325);
+$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 1,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>1</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg1</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt
new file mode 100644 (file)
index 0000000..1a50cfa
--- /dev/null
@@ -0,0 +1,35 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 005 (php/wsdl): echoMultipleFaults1(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg1',34,325.325);
+$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 2,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>2</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>arg2</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:structMessage><ns1:shortMessage>12</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt
new file mode 100644 (file)
index 0000000..88302b8
--- /dev/null
@@ -0,0 +1,35 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 006 (php/wsdl): echoMultipleFaults1(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg1',34,325.325);
+$s2 = new BaseStruct(new SOAPStruct('arg2',34,325.325),12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 3,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>3</ns1:whichFault><ns1:param1><ns2:varString>arg1</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>arg2</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>325.325</ns2:varFloat></ns2:structMessage><ns2:shortMessage>12</ns2:shortMessage></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:SOAPStructFaultPart><ns1:soapStruct><ns1:varString>arg1</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns1:soapStruct></ns2:SOAPStructFaultPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt
new file mode 100644 (file)
index 0000000..2b5de61
--- /dev/null
@@ -0,0 +1,51 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 007 (php/wsdl): echoMultipleFaults2(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
+$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 1,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2,
+                                   "param3"     => $s3));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>1</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>1</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>s1</ns1:varString><ns1:varInt>1</ns1:varInt><ns1:varFloat>1.1</ns1:varFloat></ns1:structMessage><ns1:shortMessage>1</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt
new file mode 100644 (file)
index 0000000..1e4a1a2
--- /dev/null
@@ -0,0 +1,51 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 008 (php/wsdl): echoMultipleFaults2(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
+$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 2,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2,
+                                   "param3"     => $s3));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>2</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>1</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:ExtendedStructPart><ns1:structMessage><ns1:varString>s2</ns1:varString><ns1:varInt>2</ns1:varInt><ns1:varFloat>2.2</ns1:varFloat></ns1:structMessage><ns1:shortMessage>2</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage></ns2:ExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt
new file mode 100644 (file)
index 0000000..5993012
--- /dev/null
@@ -0,0 +1,51 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 009 (php/wsdl): echoMultipleFaults2(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
+$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 3,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2,
+                                   "param3"     => $s3));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>3</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>1</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:MoreExtendedStructPart><ns1:structMessage><ns1:varString>s3</ns1:varString><ns1:varInt>3</ns1:varInt><ns1:varFloat>3.3</ns1:varFloat></ns1:structMessage><ns1:shortMessage>3</ns1:shortMessage><ns1:stringMessage>arg</ns1:stringMessage><ns1:intMessage>-3</ns1:intMessage><ns1:anotherIntMessage>5</ns1:anotherIntMessage><ns1:booleanMessage>1</ns1:booleanMessage></ns2:MoreExtendedStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt
new file mode 100644 (file)
index 0000000..b97f397
--- /dev/null
@@ -0,0 +1,51 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex Doc Lit 010 (php/wsdl): echoMultipleFaults2(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->structMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(new SOAPStruct("s1",1,1.1),1);
+$s2 = new ExtendedStruct(new SOAPStruct("s2",2,2.2),2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(new SOAPStruct("s3",3,3.3),3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 4,
+                                   "param1"     => $s1,
+                                   "param2"     => $s2,
+                                   "param3"     => $s3));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>4</ns1:whichFault><ns1:param1><ns2:structMessage><ns2:varString>s1</ns2:varString><ns2:varInt>1</ns2:varInt><ns2:varFloat>1.1</ns2:varFloat></ns2:structMessage><ns2:shortMessage>1</ns2:shortMessage></ns1:param1><ns1:param2><ns2:structMessage><ns2:varString>s2</ns2:varString><ns2:varInt>2</ns2:varInt><ns2:varFloat>2.2</ns2:varFloat></ns2:structMessage><ns2:shortMessage>2</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage></ns1:param2><ns1:param3><ns2:structMessage><ns2:varString>s3</ns2:varString><ns2:varInt>3</ns2:varInt><ns2:varFloat>3.3</ns2:varFloat></ns2:structMessage><ns2:shortMessage>3</ns2:shortMessage><ns2:stringMessage>arg</ns2:stringMessage><ns2:intMessage>-3</ns2:intMessage><ns2:anotherIntMessage>5</ns2:anotherIntMessage><ns2:booleanMessage>1</ns2:booleanMessage></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:BaseStructPart><ns1:structMessage><ns1:varString>s1</ns1:varString><ns1:varInt>1</ns1:varInt><ns1:varFloat>1.1</ns1:varFloat></ns1:structMessage><ns1:shortMessage>1</ns1:shortMessage></ns2:BaseStructPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt
new file mode 100644 (file)
index 0000000..b42bae9
--- /dev/null
@@ -0,0 +1,26 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 001 (php/wsdl): echoSOAPStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPStruct('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSOAPStructFault(array("soapStruct"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoSOAPStructFault><param xsi:type="ns2:SOAPStructFault"><soapStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></param></ns1:echoSOAPStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoSOAPStructFault'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt
new file mode 100644 (file)
index 0000000..7368213
--- /dev/null
@@ -0,0 +1,25 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 002 (php/wsdl): echoBaseStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$struct = new BaseStruct(12.345,12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBaseStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoBaseStructFault><param xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param></ns1:echoBaseStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoBaseStructFault'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt
new file mode 100644 (file)
index 0000000..ee05b4c
--- /dev/null
@@ -0,0 +1,33 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 003 (php/wsdl): echoExtendedStructFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+$struct = new ExtendedStruct(12.345,12,"arg",-3,5);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoExtendedStructFault($struct);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoExtendedStructFault><param xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param></ns1:echoExtendedStructFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoExtendedStructFault'.</faultstring><detail><ns2:part3 xsi:type="ns1:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></ns2:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt
new file mode 100644 (file)
index 0000000..7620230
--- /dev/null
@@ -0,0 +1,33 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 004 (php/wsdl): echoMultipleFaults1(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg',34,325.325);
+$s2 = new BaseStruct(12.345,12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(1,$s1,$s2);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt
new file mode 100644 (file)
index 0000000..f4395d3
--- /dev/null
@@ -0,0 +1,33 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 005 (php/wsdl): echoMultipleFaults1(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg',34,325.325);
+$s2 = new BaseStruct(12.345,12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(2,$s1,$s2);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt
new file mode 100644 (file)
index 0000000..1d41c29
--- /dev/null
@@ -0,0 +1,33 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 006 (php/wsdl): echoMultipleFaults1(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPStruct {
+    function SOAPStruct($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+$s1 = new SOAPStruct('arg',34,325.325);
+$s2 = new BaseStruct(12.345,12);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(3,$s1,$s2);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></param1><param2 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">12</shortMessage></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:type="ns1:SOAPStructFault"><soapStruct xsi:type="ns1:SOAPStruct"><varString xsi:type="xsd:string">arg</varString><varInt xsi:type="xsd:int">34</varInt><varFloat xsi:type="xsd:float">325.325</varFloat></soapStruct></ns2:part1></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt
new file mode 100644 (file)
index 0000000..5bfe663
--- /dev/null
@@ -0,0 +1,41 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 007 (php/wsdl): echoMultipleFaults2(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(12.345,1);
+$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(1,$s1,$s2,$s3);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">1</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt
new file mode 100644 (file)
index 0000000..a9424cb
--- /dev/null
@@ -0,0 +1,41 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 008 (php/wsdl): echoMultipleFaults2(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(12.345,1);
+$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(2,$s1,$s2,$s3);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">1</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part3 xsi:type="ns1:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></ns2:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt
new file mode 100644 (file)
index 0000000..c2c4038
--- /dev/null
@@ -0,0 +1,41 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 009 (php/wsdl): echoMultipleFaults2(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(12.345,1);
+$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(3,$s1,$s2,$s3);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">1</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part4 xsi:type="ns1:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">1</booleanMessage></ns2:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt
new file mode 100644 (file)
index 0000000..7099391
--- /dev/null
@@ -0,0 +1,41 @@
+--TEST--
+SOAP Interop Round4 GroupH Complex RPC Enc 010 (php/wsdl): echoMultipleFaults2(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class BaseStruct {
+    function BaseStruct($f, $s) {
+        $this->floatMessage = $f;
+        $this->shortMessage = $s;
+    }
+}
+class ExtendedStruct extends BaseStruct {
+    function ExtendedStruct($f, $s, $x1, $x2, $x3) {
+        $this->BaseStruct($f,$s);
+        $this->stringMessage = $x1;
+        $this->intMessage = $x2;
+        $this->anotherIntMessage = $x3;
+    }
+}
+class MoreExtendedStruct extends ExtendedStruct {
+    function MoreExtendedStruct($f, $s, $x1, $x2, $x3, $b) {
+        $this->ExtendedStruct($f, $s, $x1, $x2, $x3);
+        $this->booleanMessage = $b;
+    }
+}
+$s1 = new BaseStruct(12.345,1);
+$s2 = new ExtendedStruct(12.345,2,"arg",-3,5);
+$s3 = new MoreExtendedStruct(12.345,3,"arg",-3,5,true);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(4,$s1,$s2,$s3);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_complex_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="ns2:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></param1><param2 xsi:type="ns2:ExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">2</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage></param2><param3 xsi:type="ns2:MoreExtendedStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">3</shortMessage><stringMessage xsi:type="xsd:string">arg</stringMessage><intMessage xsi:type="xsd:int">-3</intMessage><anotherIntMessage xsi:type="xsd:int">5</anotherIntMessage><booleanMessage xsi:type="xsd:boolean">1</booleanMessage></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part2 xsi:type="ns1:BaseStruct"><floatMessage xsi:type="xsd:float">12.345</floatMessage><shortMessage xsi:type="xsd:short">1</shortMessage></ns2:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt
new file mode 100644 (file)
index 0000000..ac473c8
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 001 (php/wsdl): echoEmptyFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoEmptyFault();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoEmptyFaultRequest/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoEmptyFault'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt
new file mode 100644 (file)
index 0000000..ff4014d
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 002 (php/wsdl): echoStringFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringFault("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoStringFaultRequest>Hello World</ns1:echoStringFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoStringFault'.</faultstring><detail><ns1:StringPart>Hello World</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt
new file mode 100644 (file)
index 0000000..26c6247
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 003 (php/wsdl): echoIntArrayFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoIntArrayFault(array(34,12.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns2:echoIntArrayFaultRequest><ns1:value>34</ns1:value><ns1:value>12</ns1:value></ns2:echoIntArrayFaultRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoIntArrayFault'.</faultstring><detail><ns2:ArrayOfIntPart><ns1:value>34</ns1:value><ns1:value>12</ns1:value></ns2:ArrayOfIntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt
new file mode 100644 (file)
index 0000000..4abff69
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 004 (php/wsdl): echoMultipleFaults1(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 1,
+                                   "param1" => "Hello world",
+                                   "param2" => array(12.345,45,678)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt
new file mode 100644 (file)
index 0000000..b290e4d
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 005 (php/wsdl): echoMultipleFaults1(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 2,
+                                   "param1" => "Hello world",
+                                   "param2" => array(12.345,45,678)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:StringPart>Hello world</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt
new file mode 100644 (file)
index 0000000..d857dc3
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 006 (php/wsdl): echoMultipleFaults1(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 3,
+                                   "param1" => "Hello world",
+                                   "param2" => array(12.345,45,678)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:ArrayOfFloatPart><ns1:value>12.345</ns1:value><ns1:value>45</ns1:value><ns1:value>678</ns1:value></ns2:ArrayOfFloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt
new file mode 100644 (file)
index 0000000..02517c0
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 007 (php/wsdl): echoMultipleFaults1(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(array("whichFault" => 4,
+                                   "param1" => "Hello world",
+                                   "param2" => array(12.345,45,678)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults1Request><ns1:whichFault>4</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2><ns2:value>12.345</ns2:value><ns2:value>45</ns2:value><ns2:value>678</ns2:value></ns1:param2></ns1:echoMultipleFaults1Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:EmptyPart/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt
new file mode 100644 (file)
index 0000000..691ebda
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 008 (php/wsdl): echoMultipleFaults2(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 1,
+                                   "param1" => "Hello world",
+                                   "param2" => 12.345,
+                                   "param3" => array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:FloatPart>12.345</ns1:FloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt
new file mode 100644 (file)
index 0000000..2af8b01
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 009 (php/wsdl): echoMultipleFaults2(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 2,
+                                   "param1" => "Hello world",
+                                   "param2" => 12.345,
+                                   "param3" => array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:StringPart>Hello world</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt
new file mode 100644 (file)
index 0000000..594c444
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 010 (php/wsdl): echoMultipleFaults2(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 3,
+                                   "param1" => "Hello world",
+                                   "param2" => 12.345,
+                                   "param3" => array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:ArrayOfStringPart><ns1:value>one</ns1:value><ns1:value>two</ns1:value><ns1:value>three</ns1:value></ns2:ArrayOfStringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt
new file mode 100644 (file)
index 0000000..21389c0
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 011 (php/wsdl): echoMultipleFaults2(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(array("whichFault" => 4,
+                                   "param1" => "Hello world",
+                                   "param2" => 12.345,
+                                   "param3" => array("one","two","three")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse" xmlns:ns2="http://soapinterop.org/types"><SOAP-ENV:Body><ns1:echoMultipleFaults2Request><ns1:whichFault>4</ns1:whichFault><ns1:param1>Hello world</ns1:param1><ns1:param2>12.345</ns1:param2><ns1:param3><ns2:value>one</ns2:value><ns2:value>two</ns2:value><ns2:value>three</ns2:value></ns1:param3></ns1:echoMultipleFaults2Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:FloatPart>12.345</ns1:FloatPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt
new file mode 100644 (file)
index 0000000..3e2e41d
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 012 (php/wsdl): echoMultipleFaults3(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(array("whichFault" => 1,
+                                   "param1" => "arg1",
+                                   "param2" => "arg2"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:StringPart>arg1</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt
new file mode 100644 (file)
index 0000000..8b847a8
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 013 (php/wsdl): echoMultipleFaults3(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(array("whichFault" => 2,
+                                   "param1" => "arg1",
+                                   "param2" => "arg2"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:String2Part>arg2</ns1:String2Part></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt
new file mode 100644 (file)
index 0000000..3a3e61a
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 014 (php/wsdl): echoMultipleFaults3(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(array("whichFault" => 3,
+                                   "param1" => "arg1",
+                                   "param2" => "arg2"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults3Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>arg1</ns1:param1><ns1:param2>arg2</ns1:param2></ns1:echoMultipleFaults3Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:StringPart>arg1</ns1:StringPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt
new file mode 100644 (file)
index 0000000..b831484
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 015 (php/wsdl): echoMultipleFaults4(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(array("whichFault" => 1,
+                                   "param1" => 162,
+                                   "param2" => 1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>1</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:IntPart>162</ns1:IntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt
new file mode 100644 (file)
index 0000000..cbf7f16
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 016 (php/wsdl): echoMultipleFaults4(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(array("whichFault" => 2,
+                                   "param1" => 162,
+                                   "param2" => 1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>2</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:EnumPart>1</ns1:EnumPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt
new file mode 100644 (file)
index 0000000..aa7e285
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple Doc Lit 017 (php/wsdl): echoMultipleFaults4(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(array("whichFault" => 3,
+                                   "param1" => 162,
+                                   "param2" => 1));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_doclit.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/requestresponse"><SOAP-ENV:Body><ns1:echoMultipleFaults4Request><ns1:whichFault>3</ns1:whichFault><ns1:param1>162</ns1:param1><ns1:param2>1</ns1:param2></ns1:echoMultipleFaults4Request></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types/part"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:IntPart>162</ns1:IntPart></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt
new file mode 100644 (file)
index 0000000..f4e1b57
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 001 (php/wsdl): echoEmptyFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoEmptyFault();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoEmptyFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoEmptyFault'.</faultstring><detail><ns2:part1 xsi:nil="1" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt
new file mode 100644 (file)
index 0000000..20dad78
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 002 (php/wsdl): echoStringFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringFault("Hello World");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoStringFault><param xsi:type="xsd:string">Hello World</param></ns1:echoStringFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoStringFault'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello World</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt
new file mode 100644 (file)
index 0000000..eb76383
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 003 (php/wsdl): echoIntArrayFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoIntArrayFault(array(34,12.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoIntArrayFault><param SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns2:ArrayOfInt"><item xsi:type="xsd:int">34</item><item xsi:type="xsd:int">12</item></param></ns1:echoIntArrayFault></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoIntArrayFault'.</faultstring><detail><ns2:part5 SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns1:ArrayOfInt"><item xsi:type="xsd:int">34</item><item xsi:type="xsd:int">12</item></ns2:part5></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt
new file mode 100644 (file)
index 0000000..7bf250f
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 004 (php/wsdl): echoMultipleFaults1(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(1,"Hello world",array(12.345,45,678));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:nil="1" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt
new file mode 100644 (file)
index 0000000..e2c706b
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 005 (php/wsdl): echoMultipleFaults1(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(2,"Hello world",array(12.345,45,678));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello world</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt
new file mode 100644 (file)
index 0000000..e4a397d
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 006 (php/wsdl): echoMultipleFaults1(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(3,"Hello world",array(12.345,45,678));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part7 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns1:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></ns2:part7></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt
new file mode 100644 (file)
index 0000000..92700c5
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 007 (php/wsdl): echoMultipleFaults1(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults1(4,"Hello world",array(12.345,45,678));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults1><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="xsd:string">Hello world</param1><param2 SOAP-ENC:arrayType="xsd:float[3]" xsi:type="ns2:ArrayOfFloat"><item xsi:type="xsd:float">12.345</item><item xsi:type="xsd:float">45</item><item xsi:type="xsd:float">678</item></param2></ns1:echoMultipleFaults1></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults1'.</faultstring><detail><ns2:part1 xsi:nil="1" xsi:type="ns1:EmptyFault"/></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt
new file mode 100644 (file)
index 0000000..057ff4d
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 008 (php/wsdl): echoMultipleFaults2(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(1, "Hello World", 12.345, array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part4 xsi:type="xsd:float">12.345</ns1:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt
new file mode 100644 (file)
index 0000000..18f1d8d
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 009 (php/wsdl): echoMultipleFaults2(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(2, "Hello World", 12.345, array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">Hello World</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt
new file mode 100644 (file)
index 0000000..faca6c1
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 010 (php/wsdl): echoMultipleFaults2(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(3, "Hello World", 12.345, array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns2:part6 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns1:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></ns2:part6></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt
new file mode 100644 (file)
index 0000000..5e93891
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 011 (php/wsdl): echoMultipleFaults2(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults2(4, "Hello World", 12.345, array("one","two","three"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults2><whichFault xsi:type="xsd:int">4</whichFault><param1 xsi:type="xsd:string">Hello World</param1><param2 xsi:type="xsd:float">12.345</param2><param3 SOAP-ENC:arrayType="xsd:string[3]" xsi:type="ns2:ArrayOfString"><item xsi:type="xsd:string">one</item><item xsi:type="xsd:string">two</item><item xsi:type="xsd:string">three</item></param3></ns1:echoMultipleFaults2></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults2'.</faultstring><detail><ns1:part4 xsi:type="xsd:float">12.345</ns1:part4></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt
new file mode 100644 (file)
index 0000000..073a2a0
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 012 (php/wsdl): echoMultipleFaults3(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(1,"arg1","arg2");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl/fault1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg1</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt
new file mode 100644 (file)
index 0000000..b0113ae
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 013 (php/wsdl): echoMultipleFaults3(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(2,"arg1","arg2");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl/fault2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg2</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt
new file mode 100644 (file)
index 0000000..ee5b4cb
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 014 (php/wsdl): echoMultipleFaults3(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults3(3,"arg1","arg2");
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults3><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:string">arg1</param1><param2 xsi:type="xsd:string">arg2</param2></ns1:echoMultipleFaults3></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl/fault1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults3'.</faultstring><detail><ns1:part2 xsi:type="xsd:string">arg1</ns1:part2></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt
new file mode 100644 (file)
index 0000000..4a9cb4a
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 015 (php/wsdl): echoMultipleFaults4(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(1, 162, 1);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">1</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:part3 xsi:type="xsd:int">162</ns1:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt
new file mode 100644 (file)
index 0000000..d8a47d0
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 016 (php/wsdl): echoMultipleFaults4(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(2, 162, 1);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">2</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/types" xmlns:ns2="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns2:part9 xsi:type="ns1:Enum">1</ns2:part9></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt
new file mode 100644 (file)
index 0000000..5aaec30
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+SOAP Interop Round4 GroupH Simple RPC Enc 017 (php/wsdl): echoMultipleFaults4(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoMultipleFaults4(3, 162, 1);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_simple_rpcenc.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://soapinterop.org/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoMultipleFaults4><whichFault xsi:type="xsd:int">3</whichFault><param1 xsi:type="xsd:int">162</param1><param2 xsi:type="ns2:Enum">1</param2></ns1:echoMultipleFaults4></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Fault in response to 'echoMultipleFaults4'.</faultstring><detail><ns1:part3 xsi:type="xsd:int">162</ns1:part3></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt
new file mode 100644 (file)
index 0000000..d50637a
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupH SoapFault 001 (php/wsdl): echoVersionMismatchFault(SOAP 1.1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVersionMismatchFault();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_soapfault.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFaultResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt
new file mode 100644 (file)
index 0000000..f31cd7c
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupH SoapFault 002 (php/wsdl): echoVersionMismatchFault(SOAP 1.2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0,"soap_version"=>SOAP_1_2));
+$client->echoVersionMismatchFault();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_soapfault.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoVersionMismatchFault env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoVersionMismatchFaultResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt
new file mode 100644 (file)
index 0000000..398d70e
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupH SoapFault 003 (php/wsdl): echoVersionMismatchFault(unknown version)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$HTTP_RAW_POST_DATA = <<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://unknown.org/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+EOF;
+echo $HTTP_RAW_POST_DATA."\n";
+include("round4_groupH_soapfault.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://unknown.org/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:VersionMismatch</faultcode><faultstring>Wrong Version</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt b/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt
new file mode 100644 (file)
index 0000000..11069bc
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupH SoapFault 004 (php/wsdl): echoMustUnderstandFault
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/wsdl", "UnknownHeaderRequest", "Hello World", 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupH_soapfault.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVersionMismatchFault",array(), null, $hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupH_soapfault.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header><ns1:UnknownHeaderRequest SOAP-ENV:mustUnderstand="1">Hello World</ns1:UnknownHeaderRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVersionMismatchFault/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:MustUnderstand</faultcode><faultstring>Header not understood</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.inc b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.inc
new file mode 100644 (file)
index 0000000..1c31aa3
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+class SOAP_Interop_GroupH {
+
+  function echoSOAPStructFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoSOAPStructFault'.", null, array("soapStruct"=>$input), "ComplexFault");
+  }
+
+  function echoBaseStructFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoBaseStructFault'.", null, $input, "ComplexFault");
+  }
+
+  function echoExtendedStructFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoExtendedStructFault'.", null, $input, "ComplexFault");
+  }
+
+  function echoMultipleFaults1($input) {
+       if ($input->whichFault == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, $input->param2, "ComplexFault2");
+         } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, array("soapStruct"=>$input->param1), "ComplexFault1");
+         }
+  }
+
+  function echoMultipleFaults2($input) {
+       if ($input->whichFault == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param2, "ComplexFault2");
+       } else if ($input->whichFault == 3) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param3, "ComplexFault3");
+         } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param1, "ComplexFault1");
+         }
+  }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupH_complex_doclit.wsdl");
+$server->setClass("SOAP_Interop_GroupH");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.wsdl b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.wsdl
new file mode 100644 (file)
index 0000000..90a5884
--- /dev/null
@@ -0,0 +1,329 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions
+       xmlns="http://schemas.xmlsoap.org/wsdl/"
+       xmlns:tns="http://soapinterop.org/wsdl"
+       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns:ns2="http://soapinterop.org/types"
+       xmlns:ns3="http://soapinterop.org/types/part"
+       xmlns:ns4="http://soapinterop.org/types/requestresponse"
+       targetNamespace="http://soapinterop.org/wsdl">
+
+       <types>
+               <schema
+                       xmlns="http://www.w3.org/2001/XMLSchema"
+                       xmlns:tns="http://soapinterop.org/types"
+                       targetNamespace="http://soapinterop.org/types">
+
+                       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+
+                       <complexType name="SOAPStruct">
+                               <sequence>
+                                       <element name="varString" type="xsd:string"/>
+                                       <element name="varInt" type="xsd:int"/>
+                                       <element name="varFloat" type="xsd:float"/>
+                               </sequence>
+                       </complexType>
+
+                       <complexType name="SOAPStructFault">
+                               <sequence>
+                                       <element name="soapStruct" type="tns:SOAPStruct"/>
+                               </sequence>
+                       </complexType>
+
+                       <complexType name="BaseStruct">
+                               <sequence>
+                                       <element name="structMessage" type="tns:SOAPStruct"/>
+                                       <element name="shortMessage" type="xsd:short"/>
+                               </sequence>
+                       </complexType>
+
+                       <complexType name="ExtendedStruct">
+                               <complexContent>
+                                       <extension base="tns:BaseStruct">
+                                               <sequence>
+                                                       <element name="stringMessage" type="xsd:string"/>
+                                                       <element name="intMessage" type="xsd:int"/>
+                                                       <element name="anotherIntMessage" type="xsd:int"/>
+                                               </sequence>
+                                       </extension>
+                               </complexContent>
+                       </complexType>
+
+                       <complexType name="MoreExtendedStruct">
+                               <complexContent>
+                                       <extension base="tns:ExtendedStruct">
+                                               <sequence>
+                                                       <element name="booleanMessage" type="xsd:boolean"/>
+                                               </sequence>
+                                       </extension>
+                               </complexContent>
+                       </complexType>
+
+               </schema>
+
+               <schema
+                       xmlns="http://www.w3.org/2001/XMLSchema"
+                       xmlns:tns="http://soapinterop.org/types/part"
+                       targetNamespace="http://soapinterop.org/types/part">
+
+                       <element name="SOAPStructFaultPart" type="ns2:SOAPStructFault"/>
+                       <element name="BaseStructPart" type="ns2:BaseStruct"/>
+                       <element name="ExtendedStructPart" type="ns2:ExtendedStruct"/>
+                       <element name="MoreExtendedStructPart" type="ns2:MoreExtendedStruct"/>
+
+               </schema>
+
+               <schema
+                       xmlns="http://www.w3.org/2001/XMLSchema"
+                       xmlns:tns="http://soapinterop.org/types/requestresponse"
+                       targetNamespace="http://soapinterop.org/types/requestresponse">
+
+                       <element name="echoSOAPStructFaultRequest" type="ns2:SOAPStruct"/>
+                       <element name="echoSOAPStructFaultResponse">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoBaseStructFaultRequest" type="ns2:BaseStruct"/>
+                       <element name="echoBaseStructFaultResponse">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoExtendedStructFaultRequest" type="ns2:ExtendedStruct"/>
+                       <element name="echoExtendedStructFaultResponse">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoMultipleFaults1Request">
+                               <complexType>
+                                       <sequence>
+                                               <element name="whichFault" type="xsd:int"/>
+                                               <element name="param1" type="ns2:SOAPStruct"/>
+                                               <element name="param2" type="ns2:BaseStruct"/>
+                                       </sequence>
+                               </complexType>
+                       </element>
+                       <element name="echoMultipleFaults1Response">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoMultipleFaults2Request">
+                               <complexType>
+                                       <sequence>
+                                               <element name="whichFault" type="xsd:int"/>
+                                               <element name="param1" type="ns2:BaseStruct"/>
+                                               <element name="param2" type="ns2:ExtendedStruct"/>
+                                               <element name="param3" type="ns2:MoreExtendedStruct"/>
+                                       </sequence>
+                               </complexType>
+                       </element>
+                       <element name="echoMultipleFaults2Response">
+                               <complexType/>
+                       </element>
+
+               </schema>
+       </types>
+
+       <message name="echoSOAPStructFaultRequest">
+               <part name="param" element="ns4:echoSOAPStructFaultRequest"/>
+       </message>
+       <message name="echoSOAPStructFaultResponse">
+               <part name="param" element="ns4:echoSOAPStructFaultResponse"/>
+       </message>
+
+       <message name="echoBaseStructFaultRequest">
+               <part name="param" element="ns4:echoBaseStructFaultRequest"/>
+       </message>
+       <message name="echoBaseStructFaultResponse">
+               <part name="param" element="ns4:echoBaseStructFaultResponse"/>
+       </message>
+
+       <message name="echoExtendedStructFaultRequest">
+               <part name="param" element="ns4:echoExtendedStructFaultRequest"/>
+       </message>
+       <message name="echoExtendedStructFaultResponse">
+               <part name="param" element="ns4:echoExtendedStructFaultResponse"/>
+       </message>
+
+       <message name="echoMultipleFaults1Request">
+               <part name="param" element="ns4:echoMultipleFaults1Request"/>
+       </message>
+       <message name="echoMultipleFaults1Response">
+               <part name="param" element="ns4:echoMultipleFaults1Response"/>
+       </message>
+
+       <message name="echoMultipleFaults2Request">
+               <part name="param" element="ns4:echoMultipleFaults2Request"/>
+       </message>
+       <message name="echoMultipleFaults2Response">
+               <part name="param" element="ns4:echoMultipleFaults2Response"/>
+       </message>
+
+       <!-- Fault messages -->
+       <message name="SOAPStructFault">
+               <part name="part3" element="ns3:SOAPStructFaultPart"/>
+       </message>
+       <message name="BaseStructFault">
+               <part name="part1" element="ns3:BaseStructPart"/>
+       </message>
+       <message name="ExtendedStructFault">
+               <part name="part2" element="ns3:ExtendedStructPart"/>
+       </message>
+       <message name="MoreExtendedStructFault">
+               <part name="part5" element="ns3:MoreExtendedStructPart"/>
+       </message>
+
+       <portType name="ComplexDocLitPortType">
+               <!--
+                       Throws a fault with an embedded SOAPStruct
+               -->
+               <operation name="echoSOAPStructFault" parameterOrder="">
+                       <input message="tns:echoSOAPStructFaultRequest"/>
+                       <output message="tns:echoSOAPStructFaultResponse"/>
+                       <fault name="ComplexFault" message="tns:SOAPStructFault"/>
+               </operation>
+
+               <!--
+                       Throws a fault with a base complex struct
+               -->
+               <operation name="echoBaseStructFault" parameterOrder="">
+                       <input message="tns:echoBaseStructFaultRequest"/>
+                       <output message="tns:echoBaseStructFaultResponse"/>
+                       <fault name="ComplexFault" message="tns:BaseStructFault"/>
+               </operation>
+
+               <!--
+                       Throws a fault with an en extended complex type
+               -->
+               <operation name="echoExtendedStructFault" parameterOrder="">
+                       <input message="tns:echoExtendedStructFaultRequest"/>
+                       <output message="tns:echoExtendedStructFaultResponse"/>
+                       <fault name="ComplexFault" message="tns:ExtendedStructFault"/>
+               </operation>
+
+               <!--
+                       Throws a fault with embedded complex type, fault with an
+                       extended complex type and fault with an array of a base
+                       complex type
+               -->
+               <operation name="echoMultipleFaults1" parameterOrder="param">
+                       <input message="tns:echoMultipleFaults1Request"/>
+                       <output message="tns:echoMultipleFaults1Response"/>
+                       <fault name="ComplexFault1" message="tns:SOAPStructFault"/>
+                       <fault name="ComplexFault2" message="tns:BaseStructFault"/>
+               </operation>
+
+               <!--
+                       Throws a fault with an array of base complex type and
+                       a fault with doubly extended complex type
+               -->
+               <operation name="echoMultipleFaults2" parameterOrder="param">
+                       <input message="tns:echoMultipleFaults2Request"/>
+                       <output message="tns:echoMultipleFaults2Response"/>
+                       <fault name="ComplexFault1" message="tns:BaseStructFault"/>
+                       <fault name="ComplexFault2" message="tns:ExtendedStructFault"/>
+                       <fault name="ComplexFault3" message="tns:MoreExtendedStructFault"/>
+               </operation>
+       </portType>
+
+       <binding name="ComplexDocLitBinding" type="tns:ComplexDocLitPortType">
+               <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+               <operation name="echoSOAPStructFault">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="ComplexFault">
+                               <soap:fault
+                                       name="ComplexFault"
+                                       use="literal"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoBaseStructFault">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="ComplexFault">
+                               <soap:fault
+                                       name="ComplexFault"
+                                       use="literal"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoExtendedStructFault">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="ComplexFault">
+                               <soap:fault
+                                       name="ComplexFault"
+                                       use="literal"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMultipleFaults1">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="ComplexFault1">
+                               <soap:fault 
+                                       name="ComplexFault1"
+                                       use="literal"/>
+                       </fault>
+                       <fault name="ComplexFault2">
+                               <soap:fault
+                                       name="ComplexFault2"
+                                       use="literal"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMultipleFaults2">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="ComplexFault1">
+                               <soap:fault
+                                       name="ComplexFault1"
+                                       use="literal"/>
+                       </fault>
+                       <fault name="ComplexFault2">
+                               <soap:fault 
+                                       name="ComplexFault2"
+                                       use="literal"/>
+                       </fault>
+                       <fault name="ComplexFault3">
+                               <soap:fault 
+                                       name="ComplexFault3"
+                                       use="literal"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+       </binding>
+
+       <service name="ComplexDocLitService">
+               <port name="ComplexDocLitPort" binding="tns:ComplexDocLitBinding">
+                       <soap:address
+                               location="test://"/>
+               </port>
+       </service>
+</definitions>
+
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.inc b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.inc
new file mode 100644 (file)
index 0000000..6dec186
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+class SOAP_Interop_GroupH {
+
+  function echoSOAPStructFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoSOAPStructFault'.", null, $input, "ComplexFault");
+  }
+
+  function echoBaseStructFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoBaseStructFault'.", null, $input, "ComplexFault");
+  }
+
+  function echoExtendedStructFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoExtendedStructFault'.", null, $input, "ComplexFault");
+  }
+
+  function echoMultipleFaults1($which, $s1, $s2) {
+       if ($which == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, $s2, "ComplexFault2");
+         } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, array("soapStruct"=>$s1), "ComplexFault1");
+         }
+  }
+
+  function echoMultipleFaults2($which, $s1, $s2, $s3) {
+       if ($which == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $s2, "ComplexFault2");
+       } else if ($which == 3) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $s3, "ComplexFault3");
+         } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $s1, "ComplexFault1");
+         }
+  }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupH_complex_rpcenc.wsdl");
+$server->setClass("SOAP_Interop_GroupH");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.wsdl b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.wsdl
new file mode 100644 (file)
index 0000000..86f5852
--- /dev/null
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions
+       xmlns="http://schemas.xmlsoap.org/wsdl/"
+       xmlns:tns="http://soapinterop.org/wsdl"
+       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns:ns2="http://soapinterop.org/types"
+       targetNamespace="http://soapinterop.org/wsdl">
+
+       <types>
+               <schema
+                       xmlns="http://www.w3.org/2001/XMLSchema"
+                       xmlns:tns="http://soapinterop.org/types"
+                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                       xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
+                       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                       targetNamespace="http://soapinterop.org/types">
+
+                       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+
+                       <complexType name="SOAPStruct">
+                               <sequence>
+                                       <element name="varString" type="xsd:string"/>
+                                       <element name="varInt" type="xsd:int"/>
+                                       <element name="varFloat" type="xsd:float"/>
+                               </sequence>
+                       </complexType>
+
+                       <complexType name="SOAPStructFault">
+                               <sequence>
+                                       <element name="soapStruct" type="tns:SOAPStruct"/>
+                               </sequence>
+                       </complexType>
+
+                       <complexType name="BaseStruct">
+                               <sequence>
+                                       <element name="floatMessage" type="xsd:float"/>
+                                       <element name="shortMessage" type="xsd:short"/>
+                               </sequence>
+                       </complexType>
+
+                       <complexType name="ExtendedStruct">
+                               <complexContent>
+                                       <extension base="tns:BaseStruct">
+                                               <sequence>
+                                                       <element name="stringMessage" type="xsd:string"/>
+                                                       <element name="intMessage" type="xsd:int"/>
+                                                       <element name="anotherIntMessage" type="xsd:int"/>
+                                               </sequence>
+                                       </extension>
+                               </complexContent>
+                       </complexType>
+
+                       <complexType name="MoreExtendedStruct">
+                               <complexContent>
+                                       <extension base="tns:ExtendedStruct">
+                                               <sequence>
+                                                       <element name="booleanMessage" type="xsd:boolean"/>
+                                               </sequence>
+                                       </extension>
+                               </complexContent>
+                       </complexType>
+
+               </schema>
+       </types>
+
+       <message name="echoFaultResponse"/>
+       <message name="echoSOAPStructFaultRequest">
+               <part name="param" type="ns2:SOAPStructFault"/>
+       </message>
+       <message name="echoBaseStructFaultRequest">
+               <part name="param" type="ns2:BaseStruct"/>
+       </message>
+       <message name="echoExtendedStructFaultRequest">
+               <part name="param" type="ns2:ExtendedStruct"/>
+       </message>
+       <message name="echoMultipleFaults1Request">
+               <part name="whichFault" type="xsd:int"/>
+               <part name="param1" type="ns2:SOAPStruct"/>
+               <part name="param2" type="ns2:BaseStruct"/>
+       </message>
+       <message name="echoMultipleFaults2Request">
+               <part name="whichFault" type="xsd:int"/>
+               <part name="param1" type="ns2:BaseStruct"/>
+               <part name="param2" type="ns2:ExtendedStruct"/>
+               <part name="param3" type="ns2:MoreExtendedStruct"/>
+       </message>
+
+       <!-- Fault messages -->
+       <message name="SOAPStructFault">
+               <part name="part1" type="ns2:SOAPStructFault"/>
+       </message>
+       <message name="BaseStructFault">
+               <part name="part2" type="ns2:BaseStruct"/>
+       </message>
+       <message name="ExtendedStructFault">
+               <part name="part3" type="ns2:ExtendedStruct"/>
+       </message>
+       <message name="MoreExtendedStructFault">
+               <part name="part4" type="ns2:MoreExtendedStruct"/>
+       </message>
+
+       <portType name="ComplexRpcEncPortType">
+               <!--
+                       Throws a fault with an embedded SOAPStruct
+               -->
+               <operation name="echoSOAPStructFault" parameterOrder="param">
+                       <input message="tns:echoSOAPStructFaultRequest"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="ComplexFault" message="tns:SOAPStructFault"/>
+               </operation>
+
+               <!--
+                       Throws a fault with a base complex struct
+               -->
+               <operation name="echoBaseStructFault" parameterOrder="param">
+                       <input message="tns:echoBaseStructFaultRequest"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="ComplexFault" message="tns:BaseStructFault"/>
+               </operation>
+
+               <!--
+                       Throws a fault with an en extended complex type
+               -->
+               <operation name="echoExtendedStructFault" parameterOrder="param">
+                       <input message="tns:echoExtendedStructFaultRequest"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="ComplexFault" message="tns:ExtendedStructFault"/>
+               </operation>
+
+               <!--
+                       Throws a fault with embedded complex type and fault with
+                       another complex type
+               -->
+               <operation name="echoMultipleFaults1" parameterOrder="whichFault param1 param2">
+                       <input message="tns:echoMultipleFaults1Request"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="ComplexFault1" message="tns:SOAPStructFault"/>
+                       <fault name="ComplexFault2" message="tns:BaseStructFault"/>
+               </operation>
+
+               <!--
+                       Throws a fault with base complex type, fault with an extended
+                       complex type and a fault with doubly extended complex type
+               -->
+               <operation name="echoMultipleFaults2" parameterOrder="whichFault param1 param2 param3">
+                       <input message="tns:echoMultipleFaults2Request"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="ComplexFault1" message="tns:BaseStructFault"/>
+                       <fault name="ComplexFault2" message="tns:ExtendedStructFault"/>
+                       <fault name="ComplexFault3" message="tns:MoreExtendedStructFault"/>
+               </operation>
+       </portType>
+
+       <binding name="ComplexRpcEncBinding" type="tns:ComplexRpcEncPortType">
+               <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
+               <operation name="echoSOAPStructFault">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="ComplexFault">
+                               <soap:fault
+                                       name="ComplexFault"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoBaseStructFault">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="ComplexFault">
+                               <soap:fault
+                                       name="ComplexFault"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoExtendedStructFault">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="ComplexFault">
+                               <soap:fault
+                                       name="ComplexFault"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMultipleFaults1">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="ComplexFault1">
+                               <soap:fault
+                                       name="ComplexFault1"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <fault name="ComplexFault2">
+                               <soap:fault
+                                       name="ComplexFault2"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMultipleFaults2">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="ComplexFault1">
+                               <soap:fault
+                                       name="ComplexFault1"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <fault name="ComplexFault2">
+                               <soap:fault
+                                       name="ComplexFault2"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <fault name="ComplexFault3">
+                               <soap:fault
+                                       name="ComplexFault3"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+       </binding>
+
+       <service name="ComplexRpcEncService">
+               <port name="ComplexRpcEncPort" binding="tns:ComplexRpcEncBinding">
+                       <soap:address
+                               location="test://"/>
+               </port>
+       </service>
+</definitions>
+
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.inc b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.inc
new file mode 100644 (file)
index 0000000..6a04cfd
--- /dev/null
@@ -0,0 +1,56 @@
+<?php
+class SOAP_Interop_GroupH {
+
+  function echoEmptyFault() {
+    return new SoapFault("Server", "Fault in response to 'echoEmptyFault'.", null, null, "SimpleFault");
+  }
+
+  function echoStringFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoStringFault'.", null, $input, "SimpleFault");
+  }
+
+  function echoIntArrayFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoIntArrayFault'.", null, $input, "SimpleFault");
+  }
+
+  function echoMultipleFaults1($input) {
+       if ($input->whichFault == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, $input->param1, "SimpleFault2");
+       } else if ($input->whichFault == 3) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, $input->param2, "SimpleFault3");
+       } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, null, "SimpleFault1");
+         }
+  }
+
+  function echoMultipleFaults2($input) {
+       if ($input->whichFault == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param1, "SimpleFault1");
+       } else if ($input->whichFault == 3) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param3, "SimpleFault3");
+       } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $input->param2, "SimpleFault2");
+         }
+  }
+
+  function echoMultipleFaults3($input) {
+       if ($input->whichFault == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults3'.", null, $input->param2, "SimpleFault2");
+         } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults3'.", null, $input->param1, "SimpleFault1");
+         }
+  }
+
+  function echoMultipleFaults4($input) {
+       if ($input->whichFault == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults4'.", null, $input->param2, "SimpleFault2");
+         } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults4'.", null, $input->param1, "SimpleFault1");
+         }
+  }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupH_simple_doclit.wsdl");
+$server->setClass("SOAP_Interop_GroupH");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.wsdl b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.wsdl
new file mode 100644 (file)
index 0000000..3311ff1
--- /dev/null
@@ -0,0 +1,418 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions
+       xmlns="http://schemas.xmlsoap.org/wsdl/"
+       xmlns:tns="http://soapinterop.org/wsdl"
+       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns:ns2="http://soapinterop.org/types"
+       xmlns:ns3="http://soapinterop.org/types/part"
+       xmlns:ns4="http://soapinterop.org/types/requestresponse"
+       targetNamespace="http://soapinterop.org/wsdl">
+       <types>
+               <schema
+                       xmlns="http://www.w3.org/2001/XMLSchema"
+                       xmlns:tns="http://soapinterop.org/types"
+                       targetNamespace="http://soapinterop.org/types">
+
+                       <complexType name="ArrayOfString">
+                               <sequence>
+                                       <element name="value" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
+                               </sequence>
+                       </complexType>
+
+                       <complexType name="ArrayOfInt">
+                               <sequence>
+                                       <element name="value" minOccurs="0" maxOccurs="unbounded" type="xsd:int"/>
+                               </sequence>
+                       </complexType>
+
+                       <complexType name="ArrayOfFloat">
+                               <sequence>
+                                       <element name="value" minOccurs="0" maxOccurs="unbounded" type="xsd:float"/>
+                               </sequence>
+                       </complexType>
+
+                       <simpleType name="Enum">
+                               <restriction base="xsd:int">
+                                       <enumeration value="1"/>
+                                       <enumeration value="2"/>
+                               </restriction>
+                       </simpleType>
+
+               </schema>
+
+               <schema
+                       xmlns="http://www.w3.org/2001/XMLSchema"
+                       xmlns:tns="http://soapinterop.org/types/part"
+                       targetNamespace="http://soapinterop.org/types/part">
+
+                       <element name="EmptyPart">
+                               <complexType/>
+                       </element>
+
+                       <element name="StringPart" type="xsd:string"/>
+                       <element name="IntPart" type="xsd:int"/>
+                       <element name="FloatPart" type="xsd:float"/>
+                       <element name="ArrayOfStringPart" type="ns2:ArrayOfString"/>
+                       <element name="ArrayOfIntPart" type="ns2:ArrayOfInt"/>
+                       <element name="ArrayOfFloatPart" type="ns2:ArrayOfFloat"/>
+                       <element name="String2Part" type="xsd:string"/>
+                       <element name="EnumPart" type="ns2:Enum"/>
+
+               </schema>
+
+               <schema
+                       xmlns="http://www.w3.org/2001/XMLSchema"
+                       xmlns:tns="http://soapinterop.org/types/requestresponse"
+                       targetNamespace="http://soapinterop.org/types/requestresponse">
+
+                       <element name="echoEmptyFaultRequest">
+                               <complexType/>
+                       </element>
+                       <element name="echoEmptyFaultResponse">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoStringFaultRequest" type="xsd:string"/>
+                       <element name="echoStringFaultResponse">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoIntArrayFaultRequest" type="ns2:ArrayOfInt"/>
+                       <element name="echoIntArrayFaultResponse">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoMultipleFaults1Request">
+                               <complexType>
+                                       <sequence>
+                                               <element name="whichFault" type="xsd:int"/>
+                                               <element name="param1" type="xsd:string"/>
+                                               <element name="param2" type="ns2:ArrayOfFloat"/>
+                                       </sequence>
+                               </complexType>
+                       </element>
+                       <element name="echoMultipleFaults1Response">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoMultipleFaults2Request">
+                               <complexType>
+                                       <sequence>
+                                               <element name="whichFault" type="xsd:int"/>
+                                               <element name="param1" type="xsd:string"/>
+                                               <element name="param2" type="xsd:float"/>
+                                               <element name="param3" type="ns2:ArrayOfString"/>
+                                       </sequence>
+                               </complexType>
+                       </element>
+                       <element name="echoMultipleFaults2Response">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoMultipleFaults3Request">
+                               <complexType>
+                                       <sequence>
+                                               <element name="whichFault" type="xsd:int"/>
+                                               <element name="param1" type="xsd:string"/>
+                                               <element name="param2" type="xsd:string"/>
+                                       </sequence>
+                               </complexType>
+                       </element>
+                       <element name="echoMultipleFaults3Response">
+                               <complexType/>
+                       </element>
+
+                       <element name="echoMultipleFaults4Request">
+                               <complexType>
+                                       <sequence>
+                                               <element name="whichFault" type="xsd:int"/>
+                                               <element name="param1" type="xsd:int"/>
+                                               <element name="param2" type="ns2:Enum"/>
+                                       </sequence>
+                               </complexType>
+                       </element>
+                       <element name="echoMultipleFaults4Response">
+                               <complexType/>
+                       </element>
+
+               </schema>
+       </types>
+
+       <message name="echoEmptyFaultRequest">
+               <part name="param" element="ns4:echoEmptyFaultRequest"/>
+       </message>
+       <message name="echoEmptyFaultResponse">
+               <part name="param" element="ns4:echoEmptyFaultResponse"/>
+       </message>
+
+       <message name="echoStringFaultRequest">
+               <part name="param" element="ns4:echoStringFaultRequest"/>
+       </message>
+       <message name="echoStringFaultResponse">
+               <part name="param" element="ns4:echoStringFaultResponse"/>
+       </message>
+
+       <message name="echoIntArrayFaultRequest">
+               <part name="param" element="ns4:echoIntArrayFaultRequest"/>
+       </message>
+       <message name="echoIntArrayFaultResponse">
+               <part name="param" element="ns4:echoIntArrayFaultResponse"/>
+       </message>
+
+       <message name="echoMultipleFaults1Request">
+               <part name="param" element="ns4:echoMultipleFaults1Request"/>
+       </message>
+       <message name="echoMultipleFaults1Response">
+               <part name="param" element="ns4:echoMultipleFaults1Response"/>
+       </message>
+
+       <message name="echoMultipleFaults2Request">
+               <part name="param" element="ns4:echoMultipleFaults2Request"/>
+       </message>
+       <message name="echoMultipleFaults2Response">
+               <part name="param" element="ns4:echoMultipleFaults2Response"/>
+       </message>
+
+       <message name="echoMultipleFaults3Request">
+               <part name="param" element="ns4:echoMultipleFaults3Request"/>
+       </message>
+       <message name="echoMultipleFaults3Response">
+               <part name="param" element="ns4:echoMultipleFaults3Response"/>
+       </message>
+
+       <message name="echoMultipleFaults4Request">
+               <part name="param" element="ns4:echoMultipleFaults4Request"/>
+       </message>
+       <message name="echoMultipleFaults4Response">
+               <part name="param" element="ns4:echoMultipleFaults4Response"/>
+       </message>
+
+       <!-- Fault messages -->
+       <message name="EmptyFault">
+               <part name="part1" element="ns3:EmptyPart"/>
+       </message>
+       <message name="StringFault">
+               <part name="part2" element="ns3:StringPart"/>
+       </message>
+       <message name="IntFault">
+               <part name="part3" element="ns3:IntPart"/>
+       </message>
+       <message name="FloatFault">
+               <part name="part4" element="ns3:FloatPart"/>
+       </message>
+       <message name="StringArrayFault">
+               <part name="part5" element="ns3:ArrayOfStringPart"/>
+       </message>
+       <message name="IntArrayFault">
+               <part name="part6" element="ns3:ArrayOfIntPart"/>
+       </message>
+       <message name="FloatArrayFault">
+               <part name="part7" element="ns3:ArrayOfFloatPart"/>
+       </message>
+       <!--
+               Part name same as in Fault2 message
+       -->
+       <message name="String2Fault">
+               <part name="part2" element="ns3:String2Part"/>
+       </message>
+       <message name="EnumFault">
+               <part name="part9" element="ns3:EnumPart"/>
+       </message>
+
+       <portType name="SimpleDocLitPortType">
+               <!--
+                       Throws an empty fault
+               -->
+               <operation name="echoEmptyFault" parameterOrder="">
+                       <input message="tns:echoEmptyFaultRequest"/>
+                       <output message="tns:echoEmptyFaultResponse"/>
+                       <fault name="SimpleFault" message="tns:EmptyFault"/>
+               </operation>
+
+               <!--
+                       Throws fault with xsd:string parameter
+               -->
+               <operation name="echoStringFault" parameterOrder="param">
+                       <input message="tns:echoStringFaultRequest"/>
+                       <output message="tns:echoStringFaultResponse"/>
+                       <fault name="SimpleFault" message="tns:StringFault"/>
+               </operation>
+
+               <!--
+                       Throws fault with xsd:int[] parameter
+               -->
+               <operation name="echoIntArrayFault" parameterOrder="param">
+                       <input message="tns:echoIntArrayFaultRequest"/>
+                       <output message="tns:echoIntArrayFaultResponse"/>
+                       <fault name="SimpleFault" message="tns:IntArrayFault"/>
+               </operation>
+
+               <!--
+                       Throws empty fault, fault with a xsd:string
+                       parameter and fault with xsd:float[] parameter
+               -->
+               <operation name="echoMultipleFaults1" parameterOrder="param">
+                       <input message="tns:echoMultipleFaults1Request"/>
+                       <output message="tns:echoMultipleFaults1Response"/>
+                       <fault name="SimpleFault1" message="tns:EmptyFault"/>
+                       <fault name="SimpleFault2" message="tns:StringFault"/>
+                       <fault name="SimpleFault3" message="tns:FloatArrayFault"/>
+               </operation>
+
+               <!--
+                       Throws fault with xsd:string parameter, fault with
+                       xsd:float parameter and fault with xsd:string[]
+                       parameters
+               -->
+               <operation name="echoMultipleFaults2" parameterOrder="param">
+                       <input message="tns:echoMultipleFaults2Request"/>
+                       <output message="tns:echoMultipleFaults2Response"/>
+                       <fault name="SimpleFault1" message="tns:StringFault"/>
+                       <fault name="SimpleFault2" message="tns:FloatFault"/>
+                       <fault name="SimpleFault3" message="tns:StringArrayFault"/>
+               </operation>
+
+               <!--
+                       Throws two faults, each with xsd:string parameters
+                       and same part names
+               -->
+               <operation name="echoMultipleFaults3" parameterOrder="param">
+                       <input message="tns:echoMultipleFaults3Request"/>
+                       <output message="tns:echoMultipleFaults3Response"/>
+                       <fault name="SimpleFault1" message="tns:StringFault"/>
+                       <fault name="SimpleFault2" message="tns:String2Fault"/>
+               </operation>
+
+               <!--
+                       Throws fault with xsd:int parameter and fault with an
+                       int enumeration parameter
+               -->
+               <operation name="echoMultipleFaults4" parameterOrder="param">
+                       <input message="tns:echoMultipleFaults4Request"/>
+                       <output message="tns:echoMultipleFaults4Response"/>
+                       <fault name="SimpleFault1" message="tns:IntFault"/>
+                       <fault name="SimpleFault2" message="tns:EnumFault"/>
+               </operation>
+       </portType>
+
+       <binding name="SimpleDocLitBinding" type="tns:SimpleDocLitPortType">
+               <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+
+               <operation name="echoEmptyFault">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <soap:fault use="literal"/>
+                       <soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
+               </operation>
+
+               <operation name="echoStringFault">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="SimpleFault">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
+               </operation>
+
+               <operation name="echoIntArrayFault">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="SimpleFault">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
+               </operation>
+
+               <operation name="echoMultipleFaults1">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="SimpleFault1">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <fault name="SimpleFault2">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <fault name="SimpleFault3">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
+               </operation>
+
+               <operation name="echoMultipleFaults2">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="SimpleFault1">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <fault name="SimpleFault2">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <fault name="SimpleFault3">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
+               </operation>
+
+               <operation name="echoMultipleFaults3">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="SimpleFault1">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <fault name="SimpleFault2">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
+               </operation>
+
+               <operation name="echoMultipleFaults4">
+                       <input>
+                               <soap:body use="literal"/>
+                       </input>
+                       <output>
+                               <soap:body use="literal"/>
+                       </output>
+                       <fault name="SimpleFault1">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <fault name="SimpleFault2">
+                               <soap:fault use="literal"/>
+                       </fault>
+                       <soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
+               </operation>
+
+       </binding>
+
+       <service name="SimpleDocLitService">
+               <port name="SimpleDocLitPort" binding="tns:SimpleDocLitBinding">
+                       <soap:address
+                               location="http://"/>
+               </port>
+       </service>
+</definitions>
+
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.inc b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.inc
new file mode 100644 (file)
index 0000000..0b85a34
--- /dev/null
@@ -0,0 +1,56 @@
+<?php
+class SOAP_Interop_GroupH {
+
+  function echoEmptyFault() {
+    return new SoapFault("Server", "Fault in response to 'echoEmptyFault'.", null, null, "SimpleFault");
+  }
+
+  function echoStringFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoStringFault'.", null, $input, "SimpleFault");
+  }
+
+  function echoIntArrayFault($input) {
+    return new SoapFault("Server", "Fault in response to 'echoIntArrayFault'.", null, $input, "SimpleFault");
+  }
+
+  function echoMultipleFaults1($param, $string, $floats) {
+       if ($param == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, $string, "SimpleFault2");
+       } else if ($param == 3) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, $floats, "SimpleFault3");
+       } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults1'.", null, null, "SimpleFault1");
+         }
+  }
+
+  function echoMultipleFaults2($param, $string, $float, $strings) {
+       if ($param == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $string, "SimpleFault1");
+       } else if ($param == 3) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $strings, "SimpleFault3");
+       } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults2'.", null, $float, "SimpleFault2");
+         }
+  }
+
+  function echoMultipleFaults3($param, $param1, $param2) {
+       if ($param == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults3'.", null, $param2, "SimpleFault2");
+         } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults3'.", null, $param1, "SimpleFault1");
+         }
+  }
+
+  function echoMultipleFaults4($param, $int, $enum) {
+       if ($param == 2) {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults4'.", null, $enum, "SimpleFault2");
+         } else {
+           return new SoapFault("Server", "Fault in response to 'echoMultipleFaults4'.", null, $int, "SimpleFault1");
+         }
+  }
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupH_simple_rpcenc.wsdl");
+$server->setClass("SOAP_Interop_GroupH");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.wsdl b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.wsdl
new file mode 100644 (file)
index 0000000..2eb4085
--- /dev/null
@@ -0,0 +1,408 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions
+       xmlns="http://schemas.xmlsoap.org/wsdl/"
+       xmlns:tns="http://soapinterop.org/wsdl"
+       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns:ns2="http://soapinterop.org/types"
+       targetNamespace="http://soapinterop.org/wsdl">
+       <types>
+               <schema
+                       xmlns="http://www.w3.org/2001/XMLSchema"
+                       xmlns:tns="http://soapinterop.org/types"
+                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                       xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
+                       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+                       targetNamespace="http://soapinterop.org/types">
+
+                       <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+
+                       <complexType name="EmptyFault"/>
+
+                       <complexType name="ArrayOfString">
+                               <complexContent>
+                                       <restriction base="soap-enc:Array">
+                                               <attribute ref="soap-enc:arrayType" wsdl:arrayType="string[]"/>
+                                       </restriction>
+                               </complexContent>
+                       </complexType>
+
+                       <complexType name="ArrayOfInt">
+                               <complexContent>
+                                       <restriction base="soap-enc:Array">
+                                               <attribute ref="soap-enc:arrayType" wsdl:arrayType="int[]"/>
+                                       </restriction>
+                               </complexContent>
+                       </complexType>
+
+                       <complexType name="ArrayOfFloat">
+                               <complexContent>
+                                       <restriction base="soap-enc:Array">
+                                               <attribute ref="soap-enc:arrayType" wsdl:arrayType="float[]"/>
+                                       </restriction>
+                               </complexContent>
+                       </complexType>
+
+                       <simpleType name="Enum">
+                               <restriction base="int">
+                                       <enumeration value="1"/>
+                                       <enumeration value="2"/>
+                               </restriction>
+                       </simpleType>
+               </schema>
+       </types>
+
+       <message name="echoFaultRequest"/>
+       <message name="echoFaultResponse"/>
+       <message name="echoStringFaultRequest">
+               <part name="param" type="xsd:string"/>
+       </message>
+       <message name="echoIntArrayFaultRequest">
+               <part name="param" type="ns2:ArrayOfInt"/>
+       </message>
+       <message name="echoMultipleFaults1Request">
+               <part name="whichFault" type="xsd:int"/>
+               <part name="param1" type="xsd:string"/>
+               <part name="param2" type="ns2:ArrayOfFloat"/>
+       </message>
+       <message name="echoMultipleFaults2Request">
+               <part name="whichFault" type="xsd:int"/>
+               <part name="param1" type="xsd:string"/>
+               <part name="param2" type="xsd:float"/>
+               <part name="param3" type="ns2:ArrayOfString"/>
+       </message>
+       <message name="echoMultipleFaults3Request">
+               <part name="whichFault" type="xsd:int"/>
+               <part name="param1" type="xsd:string"/>
+               <part name="param2" type="xsd:string"/>
+       </message>
+       <message name="echoMultipleFaults4Request">
+               <part name="whichFault" type="xsd:int"/>
+               <part name="param1" type="xsd:int"/>
+               <part name="param2" type="ns2:Enum"/>
+       </message>
+
+       <!-- Fault messages -->
+       <message name="EmptyFault">
+               <part name="part1" type="ns2:EmptyFault"/>
+       </message>
+       <message name="StringFault">
+               <part name="part2" type="xsd:string"/>
+       </message>
+       <message name="IntFault">
+               <part name="part3" type="xsd:int"/>
+       </message>
+       <message name="FloatFault">
+               <part name="part4" type="xsd:float"/>
+       </message>
+       <message name="IntArrayFault">
+               <part name="part5" type="ns2:ArrayOfInt"/>
+       </message>
+       <message name="StringArrayFault">
+               <part name="part6" type="ns2:ArrayOfString"/>
+       </message>
+       <message name="FloatArrayFault">
+               <part name="part7" type="ns2:ArrayOfFloat"/>
+       </message>
+       <!--
+               Part name same as in StringFault message
+       -->
+       <message name="String2Fault">
+               <part name="part2" type="xsd:string"/>
+       </message>
+       <message name="EnumFault">
+               <part name="part9" type="ns2:Enum"/>
+       </message>
+
+       <portType name="SimpleRpcEncPortType">
+               <!--
+                       Throws an empty fault
+               -->
+               <operation name="echoEmptyFault" parameterOrder="">
+                       <input message="tns:echoFaultRequest"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="SimpleFault" message="tns:EmptyFault"/>
+               </operation>
+
+               <!--
+                       Throws fault with xsd:string parameter
+               -->
+               <operation name="echoStringFault" parameterOrder="param">
+                       <input message="tns:echoStringFaultRequest"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="SimpleFault" message="tns:StringFault"/>
+               </operation>
+
+               <!--
+                       Throws fault with xsd:int[] parameter
+               -->
+               <operation name="echoIntArrayFault" parameterOrder="param">
+                       <input message="tns:echoIntArrayFaultRequest"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="SimpleFault" message="tns:IntArrayFault"/>
+               </operation>
+
+               <!--
+                       Throws empty fault, fault with a xsd:string
+                       parameter and fault with xsd:float[] parameter
+               -->
+               <operation name="echoMultipleFaults1" parameterOrder="whichFault param1 param2">
+                       <input message="tns:echoMultipleFaults1Request"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="SimpleFault1" message="tns:EmptyFault"/>
+                       <fault name="SimpleFault2" message="tns:StringFault"/>
+                       <fault name="SimpleFault3" message="tns:FloatArrayFault"/>
+               </operation>
+
+               <!--
+                       Throws fault with xsd:string parameter, fault with
+                       xsd:float parameter and fault with xsd:string[]
+                       parameters
+               -->
+               <operation name="echoMultipleFaults2" parameterOrder="whichFault param1 param2 param3">
+                       <input message="tns:echoMultipleFaults2Request"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="SimpleFault1" message="tns:StringFault"/>
+                       <fault name="SimpleFault2" message="tns:FloatFault"/>
+                       <fault name="SimpleFault3" message="tns:StringArrayFault"/>
+               </operation>
+
+               <!--
+                       Throws two faults, each with xsd:string parameters
+                       and same part names. Each part name is bound to a different
+                       namespace.
+               -->
+               <operation name="echoMultipleFaults3" parameterOrder="whichFault param1 param2">
+                       <input message="tns:echoMultipleFaults3Request"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="SimpleFault1" message="tns:StringFault"/>
+                       <fault name="SimpleFault2" message="tns:String2Fault"/>
+               </operation>
+
+               <!--
+                       Throws fault with xsd:int parameter and fault with an
+                       int enumeration parameter
+               -->
+               <operation name="echoMultipleFaults4" parameterOrder="whichFault param1 param2">
+                       <input message="tns:echoMultipleFaults4Request"/>
+                       <output message="tns:echoFaultResponse"/>
+                       <fault name="SimpleFault1" message="tns:IntFault"/>
+                       <fault name="SimpleFault2" message="tns:EnumFault"/>
+               </operation>
+       </portType>
+
+       <binding name="SimpleRpcEncBinding" type="tns:SimpleRpcEncPortType">
+               <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
+
+               <operation name="echoEmptyFault">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="SimpleFault">
+                               <soap:fault
+                                       name="SimpleFault"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoStringFault">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="SimpleFault">
+                               <soap:fault
+                                       name="SimpleFault"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoIntArrayFault">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="SimpleFault">
+                               <soap:fault
+                                       name="SimpleFault"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMultipleFaults1">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="SimpleFault1">
+                               <soap:fault
+                                       name="SimpleFault1"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <fault name="SimpleFault2">
+                               <soap:fault
+                                       name="SimpleFault2"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <fault name="SimpleFault3">
+                               <soap:fault
+                                       name="SimpleFault3"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMultipleFaults2">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="SimpleFault1">
+                               <soap:fault
+                                       name="SimpleFault1"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <fault name="SimpleFault2">
+                               <soap:fault
+                                       name="SimpleFault2"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <fault name="SimpleFault3">
+                               <soap:fault
+                                       name="SimpleFault3"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMultipleFaults3">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="SimpleFault1">
+                               <soap:fault
+                                       name="SimpleFault1"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl/fault1"/>
+                       </fault>
+                       <fault name="SimpleFault2">
+                               <soap:fault
+                                       name="SimpleFault2"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl/fault2"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMultipleFaults4">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <fault name="SimpleFault1">
+                               <soap:fault
+                                       name="SimpleFault1"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <fault name="SimpleFault2">
+                               <soap:fault
+                                       name="SimpleFault2"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </fault>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+       </binding>
+
+       <service name="SimpleRpcEncService">
+               <port name="SimpleRpcEncPort" binding="tns:SimpleRpcEncBinding">
+                       <soap:address location="test://"/>
+               </port>
+       </service>
+</definitions>
+
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.inc b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.inc
new file mode 100644 (file)
index 0000000..cf6c374
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+class SOAP_Interop_GroupH {
+
+    function echoVersionMismatchFault()
+    {
+    }
+
+    function echoMustUnderstandFault()
+    {
+    }
+
+    function HeaderRequest($string)
+    {
+    }
+
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupH_soapfault.wsdl");
+$server->setClass("SOAP_Interop_GroupH");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.wsdl b/ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.wsdl
new file mode 100644 (file)
index 0000000..4f49b8f
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions
+       xmlns="http://schemas.xmlsoap.org/wsdl/"
+       xmlns:tns="http://soapinterop.org/wsdl"
+       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+       xmlns:ns2="http://soapinterop.org/types"
+       targetNamespace="http://soapinterop.org/wsdl">
+
+       <message name="echoVoidRequest"/>
+       <message name="echoVoidResponse"/>
+       <message name="HeaderRequest">
+               <part name="param" type="xsd:string"/>
+       </message>
+
+       <portType name="SOAPFaultPortType">
+               <operation name="echoVersionMismatchFault" parameterOrder="">
+                       <input message="tns:echoVoidRequest"/>
+                       <output message="tns:echoVoidResponse"/>
+               </operation>
+
+               <operation name="echoMustUnderstandFault" parameterOrder="">
+                       <input message="tns:echoVoidRequest"/>
+                       <output message="tns:echoVoidResponse"/>
+               </operation>
+       </portType>
+
+       <binding name="SOAPFaultBinding" type="tns:SOAPFaultPortType">
+               <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
+               <!--
+                       If the server receives an envelope with an incorrect
+                       namespace, then a fault with VersionMismatch fault code
+                       is populated in the SOAP response
+               -->
+               <operation name="echoVersionMismatchFault">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+               <operation name="echoMustUnderstandFault">
+                       <input>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                               <soap:header
+                                       message="tns:HeaderRequest"
+                                       part="param"
+                                       use="encoded"
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
+                       </input>
+                       <output>
+                               <soap:body
+                                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+                                       use="encoded"
+                                       namespace="http://soapinterop.org/wsdl"/>
+                       </output>
+                       <soap:operation soapAction=""/>
+               </operation>
+
+       </binding>
+
+       <service name="SOAPFaultService">
+               <port name="SOAPFaultPort" binding="tns:SOAPFaultBinding">
+                       <soap:address location="test://"/>
+               </port>
+       </service>
+</definitions>
+
+
diff --git a/ext/soap/tests/interop/Round4/GroupH/skipif.inc b/ext/soap/tests/interop/Round4/GroupH/skipif.inc
new file mode 100644 (file)
index 0000000..fa8574e
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt
new file mode 100644 (file)
index 0000000..2ed20e9
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 001 (php/wsdl): echoVoid
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoVoid();
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoVoid/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoVoidResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt
new file mode 100644 (file)
index 0000000..27ff0fc
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 002 (php/wsdl): echoInteger
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoInteger(array("inputInteger"=>22));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoInteger><ns1:inputInteger>22</ns1:inputInteger></ns1:echoInteger></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerResponse><ns1:return>22</ns1:return></ns1:echoIntegerResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt
new file mode 100644 (file)
index 0000000..29ea32c
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 003 (php/wsdl): echoFloat
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoFloat(array("inputFloat"=>12.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloat><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoFloat></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatResponse><ns1:return>12.345</ns1:return></ns1:echoFloatResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt
new file mode 100644 (file)
index 0000000..3e765bb
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 004 (php/wsdl): echoString
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(array("inputString"=>"Hello World"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoString><ns1:inputString>Hello World</ns1:inputString></ns1:echoString></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringResponse><ns1:return>Hello World</ns1:return></ns1:echoStringResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt
new file mode 100644 (file)
index 0000000..6960190
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 005 (php/wsdl): echoString(empty)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoString(array());
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoString/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_006w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_006w.phpt
new file mode 100644 (file)
index 0000000..58e6b46
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 006 (php/wsdl): echoBase64
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBase64(array("inputBase64"=>"AID/AEhFTExPAH8="));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoBase64><ns1:inputBase64>AID/AEhFTExPAH8=</ns1:inputBase64></ns1:echoBase64></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoBase64Response><ns1:return>AID/AEhFTExPAH8=</ns1:return></ns1:echoBase64Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt
new file mode 100644 (file)
index 0000000..ddde658
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 007 (php/wsdl): echoDate
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDate(array("inputDate"=>"2002-12-22T21:41:17Z"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDate><ns1:inputDate>2002-12-22T21:41:17Z</ns1:inputDate></ns1:echoDate></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDateResponse><ns1:return>2002-12-22T21:41:17Z</ns1:return></ns1:echoDateResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt
new file mode 100644 (file)
index 0000000..23dc33b
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 008 (php/wsdl): echoComplexType
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexType(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexType><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt
new file mode 100644 (file)
index 0000000..9182029
--- /dev/null
@@ -0,0 +1,28 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 009 (php/wsdl): echoComplexType(minOccur=0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+unset($struct->varString);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexType(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexType><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt
new file mode 100644 (file)
index 0000000..bb6e77f
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 010 (php/wsdl): echoIntegerMultiOccurs
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoIntegerMultiOccurs(array("inputIntegerMultiOccurs"=>array(22,29,36)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerMultiOccurs><ns1:inputIntegerMultiOccurs><ns1:int>22</ns1:int><ns1:int>29</ns1:int><ns1:int>36</ns1:int></ns1:inputIntegerMultiOccurs></ns1:echoIntegerMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoIntegerMultiOccursResponse><ns1:return>22</ns1:return><ns1:return>29</ns1:return><ns1:return>36</ns1:return></ns1:echoIntegerMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt
new file mode 100644 (file)
index 0000000..4b268a7
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 011 (php/wsdl): echoFloatMultiOccurs
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoFloatMultiOccurs(array("inputFloatMultiOccurs"=>array(22.5,12.345)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatMultiOccurs><ns1:inputFloatMultiOccurs><ns1:float>22.5</ns1:float><ns1:float>12.345</ns1:float></ns1:inputFloatMultiOccurs></ns1:echoFloatMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoFloatMultiOccursResponse><ns1:return>22.5</ns1:return><ns1:return>12.345</ns1:return></ns1:echoFloatMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt
new file mode 100644 (file)
index 0000000..c2c47f4
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 012 (php/wsdl): echoStringMultiOccurs
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringMultiOccurs(array("inputStringMultiOccurs"=>array("arg1","arg2","arg3")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccurs><ns1:inputStringMultiOccurs><ns1:string>arg1</ns1:string><ns1:string>arg2</ns1:string><ns1:string>arg3</ns1:string></ns1:inputStringMultiOccurs></ns1:echoStringMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccursResponse><ns1:return>arg1</ns1:return><ns1:return>arg2</ns1:return><ns1:return>arg3</ns1:return></ns1:echoStringMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt
new file mode 100644 (file)
index 0000000..5c2f6ec
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 013 (php/wsdl): echoStringMultiOccurs(nil)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoStringMultiOccurs(array("inputStringMultiOccurs"=>array("arg1",NULL,"arg3")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><ns1:echoStringMultiOccurs><ns1:inputStringMultiOccurs><ns1:string>arg1</ns1:string><ns1:string xsi:nil="1"/><ns1:string>arg3</ns1:string></ns1:inputStringMultiOccurs></ns1:echoStringMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoStringMultiOccursResponse><ns1:return>arg1</ns1:return><ns1:return/><ns1:return>arg3</ns1:return></ns1:echoStringMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt
new file mode 100644 (file)
index 0000000..0da7004
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 014 (php/wsdl): echoComplexTypeMultiOccurs(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexTypeMultiOccurs(array("inputComplexTypeMultiOccurs"=>array($struct,$struct,$struct)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccurs><ns2:inputComplexTypeMultiOccurs><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType></ns2:inputComplexTypeMultiOccurs></ns2:echoComplexTypeMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccursResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt
new file mode 100644 (file)
index 0000000..52b08c6
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 015 (php/wsdl): echoComplexTypeMultiOccurs(nil)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexTypeMultiOccurs(array("inputComplexTypeMultiOccurs"=>array($struct,null,$struct)));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccurs><ns2:inputComplexTypeMultiOccurs><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType><ns2:SOAPComplexType xsi:nil="1"/><ns2:SOAPComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:SOAPComplexType></ns2:inputComplexTypeMultiOccurs></ns2:echoComplexTypeMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeMultiOccursResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return><ns2:return/><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoComplexTypeMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt
new file mode 100644 (file)
index 0000000..a5f060c
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 016 (php/wsdl): echoDecimal
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoDecimal(array("inputDecimal"=>"123456789.123456789"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDecimal><ns1:inputDecimal>123456789.123456789</ns1:inputDecimal></ns1:echoDecimal></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoDecimalResponse><ns1:return>123456789.123456789</ns1:return></ns1:echoDecimalResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt
new file mode 100644 (file)
index 0000000..7661a60
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 017 (php/wsdl): echoBoolean
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoBoolean(array("inputBoolean"=>true));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoBoolean><ns1:inputBoolean>1</ns1:inputBoolean></ns1:echoBoolean></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoBooleanResponse><ns1:return>1</ns1:return></ns1:echoBooleanResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt
new file mode 100644 (file)
index 0000000..dde09df
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 018 (php/wsdl): echoHexBinary
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoHexBinary(array("inputHexBinary"=>"80FF00017F"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoHexBinary><ns1:inputHexBinary>80FF00017F</ns1:inputHexBinary></ns1:echoHexBinary></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoHexBinaryResponse><ns1:return>80FF00017F</ns1:return></ns1:echoHexBinaryResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt
new file mode 100644 (file)
index 0000000..4b81f6e
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 019 (php/wsdl): echoComplexTypeAsSimpleTypes
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexTypeAsSimpleTypes(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeAsSimpleTypes><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexTypeAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoComplexTypeAsSimpleTypesResponse><ns1:outputString>arg</ns1:outputString><ns1:outputInteger>34</ns1:outputInteger><ns1:outputFloat>325.325</ns1:outputFloat></ns1:echoComplexTypeAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt
new file mode 100644 (file)
index 0000000..afc8ece
--- /dev/null
@@ -0,0 +1,28 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 020 (php/wsdl): echoComplexTypeAsSimpleTypes(minOccurs=0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+unset($struct->varString);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoComplexTypeAsSimpleTypes(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoComplexTypeAsSimpleTypes><ns2:inputComplexType><ns1:varInt>34</ns1:varInt><ns1:varFloat>325.325</ns1:varFloat></ns2:inputComplexType></ns2:echoComplexTypeAsSimpleTypes></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoComplexTypeAsSimpleTypesResponse><ns1:outputInteger>34</ns1:outputInteger><ns1:outputFloat>325.325</ns1:outputFloat></ns1:echoComplexTypeAsSimpleTypesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt
new file mode 100644 (file)
index 0000000..cd92d51
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 021 (php/wsdl): echoSimpleTypesAsComplexType
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSimpleTypesAsComplexType(array("inputInteger"=>34,
+                                            "inputFloat"=>12.345,
+                                            "inputString"=>"arg"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsComplexType><ns1:inputString>arg</ns1:inputString><ns1:inputInteger>34</ns1:inputInteger><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoSimpleTypesAsComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoSimpleTypesAsComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoSimpleTypesAsComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt
new file mode 100644 (file)
index 0000000..cd408df
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 022 (php/wsdl): echoSimpleTypesAsComplexType(minOccurs=0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoSimpleTypesAsComplexType(array("inputInteger"=>34,
+                                            "inputFloat"=>12.345));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoSimpleTypesAsComplexType><ns1:inputInteger>34</ns1:inputInteger><ns1:inputFloat>12.345</ns1:inputFloat></ns1:echoSimpleTypesAsComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoSimpleTypesAsComplexTypeResponse><ns2:return><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoSimpleTypesAsComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt
new file mode 100644 (file)
index 0000000..d960748
--- /dev/null
@@ -0,0 +1,35 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 023 (php/wsdl): echoNestedComplexType
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+class SOAPComplexTypeComplexType {
+    function SOAPComplexTypeComplexType($s, $i, $f, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+        $this->varComplexType = $c;
+    }
+}
+$struct = new SOAPComplexTypeComplexType("arg",34,12.345,new SOAPComplexType("arg",43,54.321));
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedComplexType(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexType><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varComplexType><ns1:varInt>43</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>54.321</ns1:varFloat></ns1:varComplexType></ns2:inputComplexType></ns2:echoNestedComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexTypeResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varComplexType><ns1:varInt>43</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>54.321</ns1:varFloat></ns1:varComplexType></ns2:return></ns2:echoNestedComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt
new file mode 100644 (file)
index 0000000..4152b99
--- /dev/null
@@ -0,0 +1,29 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 024 (php/wsdl): echoNestedComplexType(minOccurs=0)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexTypeComplexType {
+    function SOAPComplexTypeComplexType($s, $i, $f, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+        $this->varComplexType = $c;
+    }
+}
+$struct = new SOAPComplexTypeComplexType("arg",34,12.345,NULL);
+unset($struct->varComplexType);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedComplexType(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexType><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:inputComplexType></ns2:echoNestedComplexType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedComplexTypeResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:return></ns2:echoNestedComplexTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt
new file mode 100644 (file)
index 0000000..cba1d1c
--- /dev/null
@@ -0,0 +1,28 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 025 (php/wsdl): echoNestedMultiOccurs
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPMultiOccursComplexType {
+    function SOAPMultiOccursComplexType($s, $i, $f, $c) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+        $this->varMultiOccurs = $c;
+    }
+}
+$struct = new SOAPMultiOccursComplexType("arg",34,12.345,array("red","green","blue"));
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoNestedMultiOccurs(array("inputComplexType"=>$struct));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedMultiOccurs><ns2:inputComplexType><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varMultiOccurs><ns1:string>red</ns1:string><ns1:string>green</ns1:string><ns1:string>blue</ns1:string></ns1:varMultiOccurs></ns2:inputComplexType></ns2:echoNestedMultiOccurs></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoNestedMultiOccursResponse><ns2:return><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat><ns1:varMultiOccurs><ns1:string>red</ns1:string><ns1:string>green</ns1:string><ns1:string>blue</ns1:string></ns1:varMultiOccurs></ns2:return></ns2:echoNestedMultiOccursResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt
new file mode 100644 (file)
index 0000000..07e24f5
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 026 (php/wsdl): echoChoice
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoChoice(array("inputChoice"=>(object)array("name1"=>"Hello World")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoChoice><ns2:inputChoice><ns1:name1>Hello World</ns1:name1></ns2:inputChoice></ns2:echoChoice></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoChoiceResponse><ns2:return><ns1:name1>Hello World</ns1:name1></ns2:return></ns2:echoChoiceResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt
new file mode 100644 (file)
index 0000000..e4a270a
--- /dev/null
@@ -0,0 +1,19 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 027 (php/wsdl): echoEnum
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoEnum(array("inputEnum"=>"bitTwo"));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoEnum><ns1:inputEnum>bitTwo</ns1:inputEnum></ns1:echoEnum></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Body><ns1:echoEnumResponse><ns1:return>bitTwo</ns1:return></ns1:echoEnumResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt
new file mode 100644 (file)
index 0000000..b9e13e2
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 028 (php/wsdl): echoAnyType
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+class SOAPComplexType {
+    function SOAPComplexType($s, $i, $f) {
+        $this->varString = $s;
+        $this->varInt = $i;
+        $this->varFloat = $f;
+    }
+}
+$struct = new SOAPComplexType('arg',34,325.325);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoAnyType(array('inputAnyType'=>new SoapVar($struct,SOAP_ENC_OBJECT,"SOAPComplexType","http://soapinterop.org/xsd")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoAnyType><ns2:inputAnyType xsi:type="ns1:SOAPComplexType"><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:inputAnyType></ns2:echoAnyType></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Body><ns2:echoAnyTypeResponse><ns2:return xsi:type="ns1:SOAPComplexType"><ns1:varInt>34</ns1:varInt><ns1:varString>arg</ns1:varString><ns1:varFloat>325.325</ns1:varFloat></ns2:return></ns2:echoAnyTypeResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt
new file mode 100644 (file)
index 0000000..5af5b8b
--- /dev/null
@@ -0,0 +1,15 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 029 (php/wsdl): echoAnyElement
+--SKIPIF--
+<?php require_once('skipif.inc');  die('skip <any> is not supported yet'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->echoAnyElement(array("inputAny"=>(object)array("something"=>"Hello World")));
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt
new file mode 100644 (file)
index 0000000..d7f7487
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 030 (php/wsdl): echoVoidSoapHeader(1)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array("varString"=>"Hello World"), 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeStringRequest SOAP-ENV:mustUnderstand="1"><ns2:varString>Hello World</ns2:varString></ns3:echoMeStringRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringResponse><ns1:varString>Hello World</ns1:varString></ns2:echoMeStringResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt
new file mode 100644 (file)
index 0000000..b4273bf
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 031 (php/wsdl): echoVoidSoapHeader(2)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array(), 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringRequest SOAP-ENV:mustUnderstand="1"/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/"><SOAP-ENV:Header><ns1:echoMeStringResponse/></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt
new file mode 100644 (file)
index 0000000..ffd18e3
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 032 (php/wsdl): echoVoidSoapHeader(3)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varString"=>"arg","varFloat"=>12.345), 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1"><ns2:varString>arg</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt
new file mode 100644 (file)
index 0000000..3c024fc
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 033 (php/wsdl): echoVoidSoapHeader(4)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varFloat"=>12.345), 1);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1"><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt
new file mode 100644 (file)
index 0000000..d3cec8c
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 034 (php/wsdl): echoVoidSoapHeader(5)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeStringRequest", array("varString"=>"Hello World"), 1, SOAP_ACTOR_NEXT);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeStringRequest SOAP-ENV:mustUnderstand="1" SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"><ns2:varString>Hello World</ns2:varString></ns3:echoMeStringRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeStringResponse><ns1:varString>Hello World</ns1:varString></ns2:echoMeStringResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt
new file mode 100644 (file)
index 0000000..6dc0b92
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+SOAP Interop Round4 GroupI XSD 035 (php/wsdl): echoVoidSoapHeader(6)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$hdr = new SoapHeader("http://soapinterop.org/","echoMeComplexTypeRequest", array("varInt"=>34,"varString"=>"arg","varFloat"=>12.345), 1, SOAP_ACTOR_NEXT);
+$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
+$client->__soapCall("echoVoidSoapHeader",array(),null,$hdr);
+echo $client->__getlastrequest();
+$HTTP_RAW_POST_DATA = $client->__getlastrequest();
+include("round4_groupI_xsd.inc");
+echo "ok\n";
+?>
+--EXPECT--
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org" xmlns:ns2="http://soapinterop.org/echoheader/" xmlns:ns3="http://soapinterop.org/"><SOAP-ENV:Header><ns3:echoMeComplexTypeRequest SOAP-ENV:mustUnderstand="1" SOAP-ENV:actor="http://schemas.xmlsoap.org/soap/actor/next"><ns2:varString>arg</ns2:varString><ns2:varInt>34</ns2:varInt><ns2:varFloat>12.345</ns2:varFloat></ns3:echoMeComplexTypeRequest></SOAP-ENV:Header><SOAP-ENV:Body><ns1:echoVoidSoapHeader/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+<?xml version="1.0" encoding="UTF-8"?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://soapinterop.org/echoheader/" xmlns:ns2="http://soapinterop.org/"><SOAP-ENV:Header><ns2:echoMeComplexTypeResponse><ns1:varString>arg</ns1:varString><ns1:varInt>34</ns1:varInt><ns1:varFloat>12.345</ns1:varFloat></ns2:echoMeComplexTypeResponse></SOAP-ENV:Header><SOAP-ENV:Body><ns2:echoVoidSoapHeaderResponse/></SOAP-ENV:Body></SOAP-ENV:Envelope>
+ok
diff --git a/ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.inc b/ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.inc
new file mode 100644 (file)
index 0000000..0c50f19
--- /dev/null
@@ -0,0 +1,198 @@
+<?php
+class SOAP_Interop_GroupI {
+
+    function echoString($inputString)
+    {
+       if (isset($inputString->inputString)) {
+             return array("return"=>$inputString->inputString);
+           } else {
+             return $inputString;
+           }
+    }
+
+    function echoInteger($inputInteger)
+    {
+      return array("return"=>$inputInteger->inputInteger);
+    }
+
+    function echoFloat($inputFloat)
+    {
+      return array("return"=>$inputFloat->inputFloat);
+    }
+
+    function echoVoid()
+    {
+    }
+
+    function echoBase64($inputBase64)
+    {
+       if (isset($inputBase64->inputBase64)) {
+             return array("return"=>$inputBase64->inputBase64);
+           } else {
+             return $inputBase64;
+           }
+    }
+
+    function echoDate($timeInstant)
+    {
+      return array("return"=>$timeInstant->inputDate);
+    }
+
+    function echoComplexType($inputComplexType)
+    {
+       if (isset($inputComplexType->inputComplexType)) {
+             return array("return"=>$inputComplexType->inputComplexType);
+           } else {
+             return $inputComplexType;
+           }
+    }
+
+    function echoIntegerMultiOccurs($input)
+    {
+       if (isset($input->inputIntegerMultiOccurs->int)) {
+             return array("return"=>$input->inputIntegerMultiOccurs->int);
+           } else {
+             return array();
+           }
+    }
+
+    function echoFloatMultiOccurs($input)
+    {
+       if (isset($input->inputFloatMultiOccurs->float)) {
+             return array("return"=>$input->inputFloatMultiOccurs->float);
+           } else {
+             return array();
+           }
+    }
+
+    function echoStringMultiOccurs($input)
+    {
+       if (isset($input->inputStringMultiOccurs->string)) {
+             return array("return"=>$input->inputStringMultiOccurs->string);
+           } else {
+             return array();
+           }
+    }
+
+    function echoComplexTypeMultiOccurs($input)
+    {
+       if (isset($input->inputComplexTypeMultiOccurs->SOAPComplexType)) {
+             return array("return"=>$input->inputComplexTypeMultiOccurs->SOAPComplexType);
+           } else {
+             return array();
+           }
+    }
+
+    function echoHexBinary($hb)
+    {
+       if (isset($hb->inputHexBinary)) {
+             return array("return"=>$hb->inputHexBinary);
+           } else {
+             return $hb;
+           }
+    }
+
+    function echoDecimal($dec)
+    {
+      return array("return"=>$dec->inputDecimal);
+    }
+
+    function echoBoolean($boolean)
+    {
+      return array("return"=>$boolean->inputBoolean);
+    }
+
+    function echoComplexTypeAsSimpleTypes($input) 
+    {
+       if (isset($input->inputComplexType)) {
+         $ret = array("outputInteger" => $input->inputComplexType->varInt,
+                      "outputFloat"   => $input->inputComplexType->varFloat);
+         if (isset($input->inputComplexType->varString)) {
+           $ret["outputString"] = $input->inputComplexType->varString;
+         }
+             return $ret;
+           } else {
+             return array();
+           }
+         }
+
+    function echoSimpleTypesAsComplexType($input) 
+    {
+         $ret = array("varInt"   => $input->inputInteger,
+                      "varFloat" => $input->inputFloat);
+         if (isset($input->inputString)) {
+           $ret["varString"] = $input->inputString;
+         }
+         return array("return"=>$ret);
+    }
+
+    function echoNestedComplexType($inputComplexType)
+    {
+       if (isset($inputComplexType->inputComplexType)) {
+             return array("return"=>$inputComplexType->inputComplexType);
+           } else {
+             return $inputComplexType;
+           }
+    }
+
+    function echoNestedMultiOccurs($inputComplexType)
+    {
+       if (isset($inputComplexType->inputComplexType)) {
+             return array("return"=>$inputComplexType->inputComplexType);
+           } else {
+             return $inputComplexType;
+           }
+    }
+
+    function echoChoice($input)
+    {
+       if (isset($input->inputChoice)) {
+             return array("return"=>$input->inputChoice);
+           } else {
+             return $input;
+           }
+    }
+
+    function echoEnum($input)
+    {
+      return array("return"=>$input->inputEnum);
+    }
+
+    function echoAnyType($input)
+    {
+       if (isset($input->inputAnyType)) {
+             return array("return"=>$input->inputAnyType);
+           } else {
+             return $input;
+           }
+    }
+
+    function echoAnyElement($input)
+    {
+       if (isset($input->inputAny)) {
+             return array("return"=>$input->inputAny);
+           } else {
+             return $input;
+           }
+    }
+
+    function echoVoidSoapHeader()
+    {
+    }
+
+    function echoMeStringRequest($input)
+    {
+      return new SoapHeader("http://soapinterop.org/","echoMeStringResponse",$input);
+    }
+
+    function echoMeComplexTypeRequest($input)
+    {
+      return new SoapHeader("http://soapinterop.org/","echoMeComplexTypeResponse",$input);
+    }
+
+}
+
+$server = new SoapServer(dirname(__FILE__)."/round4_groupI_xsd.wsdl");
+$server->setClass("SOAP_Interop_GroupI");
+$server->handle();
+?>
diff --git a/ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.wsdl b/ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.wsdl
new file mode 100644 (file)
index 0000000..b620846
--- /dev/null
@@ -0,0 +1,1113 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<definitions xmlns:s1="http://soapinterop.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://soapinterop.org/" xmlns:s3="http://soapinterop.org/echoheader/" xmlns:soap12enc="http://www.w3.org/2002/06/soap-envelope" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s2="http://soapinterop.org" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">\r
+  <types>\r
+    <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">\r
+      <s:import namespace="http://soapinterop.org/xsd" />\r
+      <s:import namespace="http://soapinterop.org/echoheader/" />\r
+      <s:element name="echoVoid">\r
+        <s:complexType />\r
+      </s:element>\r
+      <s:element name="echoVoidResponse">\r
+        <s:complexType />\r
+      </s:element>\r
+      <s:element name="echoInteger">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="inputInteger" type="s:int" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoIntegerResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="return" type="s:int" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoFloat">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="inputFloat" type="s:float" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoFloatResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="return" type="s:float" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoString">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputString" type="s:string" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoStringResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s:string" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoBase64">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputBase64" type="s:base64Binary" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoBase64Response">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s:base64Binary" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoDate">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="inputDate" type="s:dateTime" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoDateResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="return" type="s:dateTime" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoComplexType">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputComplexType" type="s1:SOAPComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoComplexTypeResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:SOAPComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoIntegerMultiOccurs">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputIntegerMultiOccurs" type="s0:ArrayOfInt" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:complexType name="ArrayOfInt">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:element name="echoIntegerMultiOccursResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="unbounded" name="return" type="s:int" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoFloatMultiOccurs">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputFloatMultiOccurs" type="s0:ArrayOfFloat" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:complexType name="ArrayOfFloat">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="unbounded" name="float" type="s:float" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:element name="echoFloatMultiOccursResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="unbounded" name="return" type="s:float" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoStringMultiOccurs">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputStringMultiOccurs" type="s0:ArrayOfString" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:complexType name="ArrayOfString">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:element name="echoStringMultiOccursResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="unbounded" name="return" type="s:string" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoComplexTypeMultiOccurs">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputComplexTypeMultiOccurs" type="s1:ArrayOfSOAPComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="SOAPComplexType" nillable="true" type="s1:SOAPComplexType" />\r
+      <s:element name="echoComplexTypeMultiOccursResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="unbounded" name="return" type="s1:SOAPComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoDecimal">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="inputDecimal" type="s:decimal" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoDecimalResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="return" type="s:decimal" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoBoolean">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="inputBoolean" type="s:boolean" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoBooleanResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="return" type="s:boolean" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoHexBinary">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputHexBinary" type="s:hexBinary" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoHexBinaryResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s:hexBinary" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoComplexTypeAsSimpleTypes">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputComplexType" type="s1:SOAPComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoComplexTypeAsSimpleTypesResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="outputString" type="s:string" />\r
+            <s:element minOccurs="1" maxOccurs="1" name="outputInteger" type="s:int" />\r
+            <s:element minOccurs="1" maxOccurs="1" name="outputFloat" type="s:float" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoSimpleTypesAsComplexType">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputString" type="s:string" />\r
+            <s:element minOccurs="1" maxOccurs="1" name="inputInteger" type="s:int" />\r
+            <s:element minOccurs="1" maxOccurs="1" name="inputFloat" type="s:float" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoSimpleTypesAsComplexTypeResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:SOAPComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoNestedComplexType">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputComplexType" type="s1:SOAPComplexTypeComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoNestedComplexTypeResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:SOAPComplexTypeComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoNestedMultiOccurs">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputComplexType" type="s1:SOAPMultiOccursComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoNestedMultiOccursResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:SOAPMultiOccursComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoChoice">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoChoiceResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoEnum">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="inputEnum" type="s1:Enum" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoEnumResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="1" maxOccurs="1" name="return" type="s1:Enum" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoAnyType">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputAnyType" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoAnyTypeResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return" />\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoAnyElement">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="inputAny">\r
+              <s:complexType>\r
+                <s:sequence>\r
+                  <s:any />\r
+                </s:sequence>\r
+              </s:complexType>\r
+            </s:element>\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoAnyElementResponse">\r
+        <s:complexType>\r
+          <s:sequence>\r
+            <s:element minOccurs="0" maxOccurs="1" name="return">\r
+              <s:complexType>\r
+                <s:sequence>\r
+                  <s:any />\r
+                </s:sequence>\r
+              </s:complexType>\r
+            </s:element>\r
+          </s:sequence>\r
+        </s:complexType>\r
+      </s:element>\r
+      <s:element name="echoVoidSoapHeaderResponse">\r
+        <s:complexType />\r
+      </s:element>\r
+      <s:element name="echoMeComplexTypeRequest" type="s3:echoMeComplexTypeRequest" />\r
+      <s:element name="echoMeStringRequest" type="s3:echoMeStringRequest" />\r
+      <s:element name="echoMeComplexTypeResponse" type="s3:echoMeComplexTypeResponse" />\r
+      <s:element name="echoMeStringResponse" type="s3:echoMeStringResponse" />\r
+    </s:schema>\r
+    <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">\r
+      <s:import namespace="http://soapinterop.org/" />\r
+      <s:complexType name="SOAPComplexType">\r
+        <s:sequence>\r
+          <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />\r
+          <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:complexType name="ArrayOfSOAPComplexType">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="unbounded" ref="s0:SOAPComplexType" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:complexType name="SOAPComplexTypeComplexType">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />\r
+          <s:element minOccurs="0" maxOccurs="1" name="varComplexType" type="s1:SOAPComplexType" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:complexType name="SOAPMultiOccursComplexType">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />\r
+          <s:element minOccurs="0" maxOccurs="1" name="varMultiOccurs" type="s1:ArrayOfString" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:complexType name="ArrayOfString">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:complexType name="ChoiceComplexType">\r
+        <s:sequence>\r
+          <s:choice minOccurs="1" maxOccurs="1">\r
+            <s:element minOccurs="0" maxOccurs="1" name="name0" type="s:string" />\r
+            <s:element minOccurs="0" maxOccurs="1" name="name1" type="s:string" />\r
+          </s:choice>\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:simpleType name="Enum">\r
+        <s:restriction base="s:string">\r
+          <s:enumeration value="BitOne" />\r
+          <s:enumeration value="BitTwo" />\r
+          <s:enumeration value="BitThree" />\r
+          <s:enumeration value="BitFour" />\r
+          <s:enumeration value="BitFive" />\r
+        </s:restriction>\r
+      </s:simpleType>\r
+    </s:schema>\r
+    <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org">\r
+      <s:element name="echoVoidSoapHeader">\r
+        <s:complexType />\r
+      </s:element>\r
+    </s:schema>\r
+    <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/echoheader/">\r
+      <s:complexType name="echoMeComplexTypeRequest">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:complexType name="echoMeStringRequest">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:complexType name="echoMeComplexTypeResponse">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />\r
+          <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+      <s:complexType name="echoMeStringResponse">\r
+        <s:sequence>\r
+          <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />\r
+        </s:sequence>\r
+      </s:complexType>\r
+    </s:schema>\r
+  </types>\r
+  <message name="echoVoidSoapIn">\r
+    <part name="parameters" element="s0:echoVoid" />\r
+  </message>\r
+  <message name="echoVoidSoapOut">\r
+    <part name="parameters" element="s0:echoVoidResponse" />\r
+  </message>\r
+  <message name="echoIntegerSoapIn">\r
+    <part name="parameters" element="s0:echoInteger" />\r
+  </message>\r
+  <message name="echoIntegerSoapOut">\r
+    <part name="parameters" element="s0:echoIntegerResponse" />\r
+  </message>\r
+  <message name="echoFloatSoapIn">\r
+    <part name="parameters" element="s0:echoFloat" />\r
+  </message>\r
+  <message name="echoFloatSoapOut">\r
+    <part name="parameters" element="s0:echoFloatResponse" />\r
+  </message>\r
+  <message name="echoStringSoapIn">\r
+    <part name="parameters" element="s0:echoString" />\r
+  </message>\r
+  <message name="echoStringSoapOut">\r
+    <part name="parameters" element="s0:echoStringResponse" />\r
+  </message>\r
+  <message name="echoBase64SoapIn">\r
+    <part name="parameters" element="s0:echoBase64" />\r
+  </message>\r
+  <message name="echoBase64SoapOut">\r
+    <part name="parameters" element="s0:echoBase64Response" />\r
+  </message>\r
+  <message name="echoDateSoapIn">\r
+    <part name="parameters" element="s0:echoDate" />\r
+  </message>\r
+  <message name="echoDateSoapOut">\r
+    <part name="parameters" element="s0:echoDateResponse" />\r
+  </message>\r
+  <message name="echoComplexTypeSoapIn">\r
+    <part name="parameters" element="s0:echoComplexType" />\r
+  </message>\r
+  <message name="echoComplexTypeSoapOut">\r
+    <part name="parameters" element="s0:echoComplexTypeResponse" />\r
+  </message>\r
+  <message name="echoIntegerMultiOccursSoapIn">\r
+    <part name="parameters" element="s0:echoIntegerMultiOccurs" />\r
+  </message>\r
+  <message name="echoIntegerMultiOccursSoapOut">\r
+    <part name="parameters" element="s0:echoIntegerMultiOccursResponse" />\r
+  </message>\r
+  <message name="echoFloatMultiOccursSoapIn">\r
+    <part name="parameters" element="s0:echoFloatMultiOccurs" />\r
+  </message>\r
+  <message name="echoFloatMultiOccursSoapOut">\r
+    <part name="parameters" element="s0:echoFloatMultiOccursResponse" />\r
+  </message>\r
+  <message name="echoStringMultiOccursSoapIn">\r
+    <part name="parameters" element="s0:echoStringMultiOccurs" />\r
+  </message>\r
+  <message name="echoStringMultiOccursSoapOut">\r
+    <part name="parameters" element="s0:echoStringMultiOccursResponse" />\r
+  </message>\r
+  <message name="echoComplexTypeMultiOccursSoapIn">\r
+    <part name="parameters" element="s0:echoComplexTypeMultiOccurs" />\r
+  </message>\r
+  <message name="echoComplexTypeMultiOccursSoapOut">\r
+    <part name="parameters" element="s0:echoComplexTypeMultiOccursResponse" />\r
+  </message>\r
+  <message name="echoDecimalSoapIn">\r
+    <part name="parameters" element="s0:echoDecimal" />\r
+  </message>\r
+  <message name="echoDecimalSoapOut">\r
+    <part name="parameters" element="s0:echoDecimalResponse" />\r
+  </message>\r
+  <message name="echoBooleanSoapIn">\r
+    <part name="parameters" element="s0:echoBoolean" />\r
+  </message>\r
+  <message name="echoBooleanSoapOut">\r
+    <part name="parameters" element="s0:echoBooleanResponse" />\r
+  </message>\r
+  <message name="echoHexBinarySoapIn">\r
+    <part name="parameters" element="s0:echoHexBinary" />\r
+  </message>\r
+  <message name="echoHexBinarySoapOut">\r
+    <part name="parameters" element="s0:echoHexBinaryResponse" />\r
+  </message>\r
+  <message name="echoComplexTypeAsSimpleTypesSoapIn">\r
+    <part name="parameters" element="s0:echoComplexTypeAsSimpleTypes" />\r
+  </message>\r
+  <message name="echoComplexTypeAsSimpleTypesSoapOut">\r
+    <part name="parameters" element="s0:echoComplexTypeAsSimpleTypesResponse" />\r
+  </message>\r
+  <message name="echoSimpleTypesAsComplexTypeSoapIn">\r
+    <part name="parameters" element="s0:echoSimpleTypesAsComplexType" />\r
+  </message>\r
+  <message name="echoSimpleTypesAsComplexTypeSoapOut">\r
+    <part name="parameters" element="s0:echoSimpleTypesAsComplexTypeResponse" />\r
+  </message>\r
+  <message name="echoNestedComplexTypeSoapIn">\r
+    <part name="parameters" element="s0:echoNestedComplexType" />\r
+  </message>\r
+  <message name="echoNestedComplexTypeSoapOut">\r
+    <part name="parameters" element="s0:echoNestedComplexTypeResponse" />\r
+  </message>\r
+  <message name="echoNestedMultiOccursSoapIn">\r
+    <part name="parameters" element="s0:echoNestedMultiOccurs" />\r
+  </message>\r
+  <message name="echoNestedMultiOccursSoapOut">\r
+    <part name="parameters" element="s0:echoNestedMultiOccursResponse" />\r
+  </message>\r
+  <message name="echoChoiceSoapIn">\r
+    <part name="parameters" element="s0:echoChoice" />\r
+  </message>\r
+  <message name="echoChoiceSoapOut">\r
+    <part name="parameters" element="s0:echoChoiceResponse" />\r
+  </message>\r
+  <message name="echoEnumSoapIn">\r
+    <part name="parameters" element="s0:echoEnum" />\r
+  </message>\r
+  <message name="echoEnumSoapOut">\r
+    <part name="parameters" element="s0:echoEnumResponse" />\r
+  </message>\r
+  <message name="echoAnyTypeSoapIn">\r
+    <part name="parameters" element="s0:echoAnyType" />\r
+  </message>\r
+  <message name="echoAnyTypeSoapOut">\r
+    <part name="parameters" element="s0:echoAnyTypeResponse" />\r
+  </message>\r
+  <message name="echoAnyElementSoapIn">\r
+    <part name="parameters" element="s0:echoAnyElement" />\r
+  </message>\r
+  <message name="echoAnyElementSoapOut">\r
+    <part name="parameters" element="s0:echoAnyElementResponse" />\r
+  </message>\r
+  <message name="echoVoidSoapHeaderSoapIn">\r
+    <part name="parameters" element="s2:echoVoidSoapHeader" />\r
+  </message>\r
+  <message name="echoVoidSoapHeaderSoapOut">\r
+    <part name="parameters" element="s0:echoVoidSoapHeaderResponse" />\r
+  </message>\r
+  <message name="echoVoidSoapHeaderechoMeComplexTypeRequest">\r
+    <part name="echoMeComplexTypeRequest" element="s0:echoMeComplexTypeRequest" />\r
+  </message>\r
+  <message name="echoVoidSoapHeaderechoMeComplexTypeResponse">\r
+    <part name="echoMeComplexTypeResponse" element="s0:echoMeComplexTypeResponse" />\r
+  </message>\r
+  <message name="echoVoidSoapHeaderechoMeStringRequest">\r
+    <part name="echoMeStringRequest" element="s0:echoMeStringRequest" />\r
+  </message>\r
+  <message name="echoVoidSoapHeaderechoMeStringResponse">\r
+    <part name="echoMeStringResponse" element="s0:echoMeStringResponse" />\r
+  </message>\r
+  <portType name="Round4XSDTestSoap">\r
+    <operation name="echoVoid">\r
+      <input message="s0:echoVoidSoapIn" />\r
+      <output message="s0:echoVoidSoapOut" />\r
+    </operation>\r
+    <operation name="echoInteger">\r
+      <input message="s0:echoIntegerSoapIn" />\r
+      <output message="s0:echoIntegerSoapOut" />\r
+    </operation>\r
+    <operation name="echoFloat">\r
+      <input message="s0:echoFloatSoapIn" />\r
+      <output message="s0:echoFloatSoapOut" />\r
+    </operation>\r
+    <operation name="echoString">\r
+      <input message="s0:echoStringSoapIn" />\r
+      <output message="s0:echoStringSoapOut" />\r
+    </operation>\r
+    <operation name="echoBase64">\r
+      <input message="s0:echoBase64SoapIn" />\r
+      <output message="s0:echoBase64SoapOut" />\r
+    </operation>\r
+    <operation name="echoDate">\r
+      <input message="s0:echoDateSoapIn" />\r
+      <output message="s0:echoDateSoapOut" />\r
+    </operation>\r
+    <operation name="echoComplexType">\r
+      <input message="s0:echoComplexTypeSoapIn" />\r
+      <output message="s0:echoComplexTypeSoapOut" />\r
+    </operation>\r
+    <operation name="echoIntegerMultiOccurs">\r
+      <input message="s0:echoIntegerMultiOccursSoapIn" />\r
+      <output message="s0:echoIntegerMultiOccursSoapOut" />\r
+    </operation>\r
+    <operation name="echoFloatMultiOccurs">\r
+      <input message="s0:echoFloatMultiOccursSoapIn" />\r
+      <output message="s0:echoFloatMultiOccursSoapOut" />\r
+    </operation>\r
+    <operation name="echoStringMultiOccurs">\r
+      <input message="s0:echoStringMultiOccursSoapIn" />\r
+      <output message="s0:echoStringMultiOccursSoapOut" />\r
+    </operation>\r
+    <operation name="echoComplexTypeMultiOccurs">\r
+      <input message="s0:echoComplexTypeMultiOccursSoapIn" />\r
+      <output message="s0:echoComplexTypeMultiOccursSoapOut" />\r
+    </operation>\r
+    <operation name="echoDecimal">\r
+      <input message="s0:echoDecimalSoapIn" />\r
+      <output message="s0:echoDecimalSoapOut" />\r
+    </operation>\r
+    <operation name="echoBoolean">\r
+      <input message="s0:echoBooleanSoapIn" />\r
+      <output message="s0:echoBooleanSoapOut" />\r
+    </operation>\r
+    <operation name="echoHexBinary">\r
+      <input message="s0:echoHexBinarySoapIn" />\r
+      <output message="s0:echoHexBinarySoapOut" />\r
+    </operation>\r
+    <operation name="echoComplexTypeAsSimpleTypes">\r
+      <input message="s0:echoComplexTypeAsSimpleTypesSoapIn" />\r
+      <output message="s0:echoComplexTypeAsSimpleTypesSoapOut" />\r
+    </operation>\r
+    <operation name="echoSimpleTypesAsComplexType">\r
+      <input message="s0:echoSimpleTypesAsComplexTypeSoapIn" />\r
+      <output message="s0:echoSimpleTypesAsComplexTypeSoapOut" />\r
+    </operation>\r
+    <operation name="echoNestedComplexType">\r
+      <input message="s0:echoNestedComplexTypeSoapIn" />\r
+      <output message="s0:echoNestedComplexTypeSoapOut" />\r
+    </operation>\r
+    <operation name="echoNestedMultiOccurs">\r
+      <input message="s0:echoNestedMultiOccursSoapIn" />\r
+      <output message="s0:echoNestedMultiOccursSoapOut" />\r
+    </operation>\r
+    <operation name="echoChoice">\r
+      <input message="s0:echoChoiceSoapIn" />\r
+      <output message="s0:echoChoiceSoapOut" />\r
+    </operation>\r
+    <operation name="echoEnum">\r
+      <input message="s0:echoEnumSoapIn" />\r
+      <output message="s0:echoEnumSoapOut" />\r
+    </operation>\r
+    <operation name="echoAnyType">\r
+      <input message="s0:echoAnyTypeSoapIn" />\r
+      <output message="s0:echoAnyTypeSoapOut" />\r
+    </operation>\r
+    <operation name="echoAnyElement">\r
+      <input message="s0:echoAnyElementSoapIn" />\r
+      <output message="s0:echoAnyElementSoapOut" />\r
+    </operation>\r
+    <operation name="echoVoidSoapHeader">\r
+      <input message="s0:echoVoidSoapHeaderSoapIn" />\r
+      <output message="s0:echoVoidSoapHeaderSoapOut" />\r
+    </operation>\r
+  </portType>\r
+  <binding name="Round4XSDTestSoap" type="s0:Round4XSDTestSoap">\r
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />\r
+    <operation name="echoVoid">\r
+      <soap:operation soapAction="http://soapinterop.org/echoVoid" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoInteger">\r
+      <soap:operation soapAction="http://soapinterop.org/echoInteger" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoFloat">\r
+      <soap:operation soapAction="http://soapinterop.org/echoFloat" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoString">\r
+      <soap:operation soapAction="http://soapinterop.org/echoString" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoBase64">\r
+      <soap:operation soapAction="http://soapinterop.org/echoBase64" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoDate">\r
+      <soap:operation soapAction="http://soapinterop.org/echoDate" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoComplexType">\r
+      <soap:operation soapAction="http://soapinterop.org/echoComplexType" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoIntegerMultiOccurs">\r
+      <soap:operation soapAction="http://soapinterop.org/echoIntegerMultiOccurs" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoFloatMultiOccurs">\r
+      <soap:operation soapAction="http://soapinterop.org/echoFloatMultiOccurs" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoStringMultiOccurs">\r
+      <soap:operation soapAction="http://soapinterop.org/echoStringMultiOccurs" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoComplexTypeMultiOccurs">\r
+      <soap:operation soapAction="http://soapinterop.org/echoComplexTypeMultiOccurs" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoDecimal">\r
+      <soap:operation soapAction="http://soapinterop.org/echoDecimal" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoBoolean">\r
+      <soap:operation soapAction="http://soapinterop.org/echoBoolean" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoHexBinary">\r
+      <soap:operation soapAction="http://soapinterop.org/echoHexBinary" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoComplexTypeAsSimpleTypes">\r
+      <soap:operation soapAction="http://soapinterop.org/echoComplexTypeAsSimpleTypes" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoSimpleTypesAsComplexType">\r
+      <soap:operation soapAction="http://soapinterop.org/echoSimpleTypesAsComplexType" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoNestedComplexType">\r
+      <soap:operation soapAction="http://soapinterop.org/echoNestedComplexType" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoNestedMultiOccurs">\r
+      <soap:operation soapAction="http://soapinterop.org/echoNestedMultiOccurs" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoChoice">\r
+      <soap:operation soapAction="http://soapinterop.org/echoChoice" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoEnum">\r
+      <soap:operation soapAction="http://soapinterop.org/echoEnum" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoAnyType">\r
+      <soap:operation soapAction="http://soapinterop.org/echoAnyType" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoAnyElement">\r
+      <soap:operation soapAction="http://soapinterop.org/echoAnyElement" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoVoidSoapHeader">\r
+      <soap:operation soapAction="http://soapinterop.org" style="document" />\r
+      <input>\r
+        <soap:body use="literal" />\r
+        <soap:header message="s0:echoVoidSoapHeaderechoMeComplexTypeRequest" part="echoMeComplexTypeRequest" use="literal" />\r
+        <soap:header message="s0:echoVoidSoapHeaderechoMeStringRequest" part="echoMeStringRequest" use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap:body use="literal" />\r
+        <soap:header message="s0:echoVoidSoapHeaderechoMeComplexTypeResponse" part="echoMeComplexTypeResponse" use="literal" />\r
+        <soap:header message="s0:echoVoidSoapHeaderechoMeStringResponse" part="echoMeStringResponse" use="literal" />\r
+      </output>\r
+    </operation>\r
+  </binding>\r
+  <binding name="Round4XSDTestSoap12" type="s0:Round4XSDTestSoap">\r
+    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />\r
+    <operation name="echoVoid">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoVoid" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoInteger">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoInteger" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoFloat">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoFloat" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoString">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoString" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoBase64">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoBase64" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoDate">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoDate" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoComplexType">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoComplexType" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoIntegerMultiOccurs">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoIntegerMultiOccurs" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoFloatMultiOccurs">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoFloatMultiOccurs" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoStringMultiOccurs">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoStringMultiOccurs" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoComplexTypeMultiOccurs">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoComplexTypeMultiOccurs" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoDecimal">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoDecimal" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoBoolean">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoBoolean" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoHexBinary">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoHexBinary" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoComplexTypeAsSimpleTypes">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoComplexTypeAsSimpleTypes" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoSimpleTypesAsComplexType">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoSimpleTypesAsComplexType" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoNestedComplexType">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoNestedComplexType" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoNestedMultiOccurs">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoNestedMultiOccurs" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoChoice">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoChoice" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoEnum">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoEnum" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoAnyType">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoAnyType" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoAnyElement">\r
+      <soap12:operation soapAction="http://soapinterop.org/echoAnyElement" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+      </output>\r
+    </operation>\r
+    <operation name="echoVoidSoapHeader">\r
+      <soap12:operation soapAction="http://soapinterop.org" style="document" />\r
+      <input>\r
+        <soap12:body use="literal" />\r
+        <soap12:header message="s0:echoVoidSoapHeaderechoMeComplexTypeRequest" part="echoMeComplexTypeRequest" use="literal" />\r
+        <soap12:header message="s0:echoVoidSoapHeaderechoMeStringRequest" part="echoMeStringRequest" use="literal" />\r
+      </input>\r
+      <output>\r
+        <soap12:body use="literal" />\r
+        <soap12:header message="s0:echoVoidSoapHeaderechoMeComplexTypeResponse" part="echoMeComplexTypeResponse" use="literal" />\r
+        <soap12:header message="s0:echoVoidSoapHeaderechoMeStringResponse" part="echoMeStringResponse" use="literal" />\r
+      </output>\r
+    </operation>\r
+  </binding>\r
+  <service name="Round4XSDTest">\r
+    <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>\r
+    <port name="Round4XSDTestSoap" binding="s0:Round4XSDTestSoap">\r
+      <soap:address location="test://" />\r
+    </port>\r
+    <port name="Round4XSDTestSoap12" binding="s0:Round4XSDTestSoap12">\r
+      <soap12:address location="http://mssoapinterop.org/asmx/xsd/round4xsd.asmx" />\r
+    </port>\r
+  </service>\r
+</definitions>
\ No newline at end of file
diff --git a/ext/soap/tests/interop/Round4/GroupI/skipif.inc b/ext/soap/tests/interop/Round4/GroupI/skipif.inc
new file mode 100644 (file)
index 0000000..fa8574e
--- /dev/null
@@ -0,0 +1,3 @@
+<?php
+  if (!extension_loaded('soap')) die('skip soap extension not available');
+?>