summaryrefslogtreecommitdiff
path: root/ext/soap
diff options
context:
space:
mode:
Diffstat (limited to 'ext/soap')
-rw-r--r--ext/soap/CREDITS2
-rw-r--r--ext/soap/TODO98
-rw-r--r--ext/soap/TODO.old39
-rw-r--r--ext/soap/config.m425
-rw-r--r--ext/soap/config.w3215
-rw-r--r--ext/soap/interop/client_round2.php113
-rw-r--r--ext/soap/interop/client_round2_interop.php785
-rw-r--r--ext/soap/interop/client_round2_params.php622
-rw-r--r--ext/soap/interop/client_round2_results.php75
-rw-r--r--ext/soap/interop/client_round2_run.php53
-rw-r--r--ext/soap/interop/config.php.dist5
-rw-r--r--ext/soap/interop/database_round2.sql44
-rw-r--r--ext/soap/interop/echoheadersvc.wsdl.php398
-rw-r--r--ext/soap/interop/index.php59
-rw-r--r--ext/soap/interop/interop.wsdl.php336
-rw-r--r--ext/soap/interop/interopB.wsdl.php196
-rw-r--r--ext/soap/interop/server_round2_base.php105
-rw-r--r--ext/soap/interop/server_round2_groupB.php58
-rw-r--r--ext/soap/interop/server_round2_groupC.php43
-rw-r--r--ext/soap/interop/test.utility.php143
-rw-r--r--ext/soap/package.xml64
-rw-r--r--ext/soap/php_encoding.c3201
-rw-r--r--ext/soap/php_encoding.h225
-rw-r--r--ext/soap/php_http.c1246
-rw-r--r--ext/soap/php_http.h36
-rw-r--r--ext/soap/php_packet_soap.c404
-rw-r--r--ext/soap/php_packet_soap.h27
-rw-r--r--ext/soap/php_schema.c2448
-rw-r--r--ext/soap/php_schema.h34
-rw-r--r--ext/soap/php_sdl.c2484
-rw-r--r--ext/soap/php_sdl.h264
-rw-r--r--ext/soap/php_soap.dsp156
-rw-r--r--ext/soap/php_soap.h209
-rw-r--r--ext/soap/php_xml.c340
-rw-r--r--ext/soap/php_xml.h86
-rw-r--r--ext/soap/readme.html646
-rw-r--r--ext/soap/soap.c4433
-rw-r--r--ext/soap/tests/bugs/bug27722.phpt13
-rw-r--r--ext/soap/tests/bugs/bug27722.wsdl92
-rw-r--r--ext/soap/tests/bugs/bug27742.phpt13
-rw-r--r--ext/soap/tests/bugs/bug27742.wsdl854
-rw-r--r--ext/soap/tests/bugs/bug28751.phpt38
-rw-r--r--ext/soap/tests/bugs/bug28969.phpt38
-rw-r--r--ext/soap/tests/bugs/bug28985.phpt204
-rw-r--r--ext/soap/tests/bugs/bug28985.wsdl683
-rw-r--r--ext/soap/tests/bugs/bug29061.phpt12
-rw-r--r--ext/soap/tests/bugs/bug29061.wsdl41
-rw-r--r--ext/soap/tests/bugs/bug29109.phpt18
-rw-r--r--ext/soap/tests/bugs/bug29109.wsdl121
-rw-r--r--ext/soap/tests/bugs/bug29236.phpt20
-rw-r--r--ext/soap/tests/bugs/bug29236.wsdl287
-rw-r--r--ext/soap/tests/bugs/bug29795.phpt32
-rw-r--r--ext/soap/tests/bugs/bug29795.wsdl40
-rw-r--r--ext/soap/tests/bugs/bug29830.phpt25
-rw-r--r--ext/soap/tests/bugs/bug29839.phpt41
-rw-r--r--ext/soap/tests/bugs/bug29839.wsdl42
-rw-r--r--ext/soap/tests/bugs/bug29844.phpt36
-rw-r--r--ext/soap/tests/bugs/bug29844.wsdl66
-rw-r--r--ext/soap/tests/bugs/bug30045.phpt171
-rw-r--r--ext/soap/tests/bugs/bug30106.phpt72
-rw-r--r--ext/soap/tests/bugs/bug30106.wsdl59
-rw-r--r--ext/soap/tests/bugs/bug30175.phpt47
-rw-r--r--ext/soap/tests/bugs/bug30175.wsdl126
-rw-r--r--ext/soap/tests/bugs/bug30799.phpt25
-rw-r--r--ext/soap/tests/bugs/bug30928.phpt63
-rw-r--r--ext/soap/tests/bugs/bug30928.wsdl49
-rw-r--r--ext/soap/tests/bugs/bug30994.phpt47
-rw-r--r--ext/soap/tests/bugs/bug31422.phpt42
-rw-r--r--ext/soap/tests/bugs/bug31695.phpt62
-rw-r--r--ext/soap/tests/bugs/bug31695.wsdl47
-rw-r--r--ext/soap/tests/bugs/bug31755.phpt17
-rw-r--r--ext/soap/tests/bugs/bug32776.phpt47
-rw-r--r--ext/soap/tests/bugs/bug32776.wsdl47
-rwxr-xr-xext/soap/tests/bugs/bug32941.phpt41
-rwxr-xr-xext/soap/tests/bugs/bug32941.wsdl141
-rw-r--r--ext/soap/tests/bugs/skipif.inc3
-rw-r--r--ext/soap/tests/bugs/xml.xsd34
-rw-r--r--ext/soap/tests/classmap.wsdl60
-rw-r--r--ext/soap/tests/classmap001.phpt50
-rw-r--r--ext/soap/tests/classmap002.phpt44
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt21
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt21
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt21
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt23
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt22
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt21
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt20
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt24
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt24
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt27
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt24
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt27
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt28
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt38
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt28
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/Base/round2_base.inc80
-rw-r--r--ext/soap/tests/interop/Round2/Base/round2_base.wsdl332
-rw-r--r--ext/soap/tests/interop/Round2/Base/skipif.inc3
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt24
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt22
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt19
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt22
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt31
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt22
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt29
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt29
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt29
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt24
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt29
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt24
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/round2_groupB.inc37
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/round2_groupB.wsdl192
-rw-r--r--ext/soap/tests/interop/Round2/GroupB/skipif.inc3
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/imported/import1B.wsdl20
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/imported/import2B.wsdl22
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/imported/import2B.xsd12
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt28
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt37
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt27
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt27
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt27
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt27
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt27
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt27
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.inc17
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.wsdl85
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.inc12
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.wsdl65
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.inc28
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.wsdl135
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.inc29
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.wsdl175
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.inc14
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.wsdl37
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.inc14
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.wsdl26
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.inc14
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.wsdl26
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2_absolute.wsdl26
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.inc19
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.wsdl75
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.inc28
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.wsdl126
-rw-r--r--ext/soap/tests/interop/Round3/GroupD/skipif.inc3
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt35
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt42
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt49
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt28
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt50
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt50
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.inc17
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.wsdl61
-rw-r--r--ext/soap/tests/interop/Round3/GroupE/skipif.inc3
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt15
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt20
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt20
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt23
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.inc14
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.wsdl72
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/round3_groupF_extreq.wsdl73
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.inc22
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.wsdl70
-rw-r--r--ext/soap/tests/interop/Round3/GroupF/skipif.inc3
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.inc33
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.wsdl216
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.inc33
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.wsdl171
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.inc25
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.wsdl185
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.inc25
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.wsdl151
-rw-r--r--ext/soap/tests/interop/Round4/GroupG/skipif.inc3
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt26
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt32
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt40
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt35
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt35
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt35
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt51
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt51
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt51
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt51
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt26
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt25
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt33
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt33
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt33
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt33
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt41
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt41
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt41
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt41
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt21
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt21
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt21
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt21
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt18
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.inc38
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.wsdl329
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.inc38
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.wsdl301
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.inc56
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.wsdl418
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.inc56
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.wsdl408
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.inc22
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.wsdl81
-rw-r--r--ext/soap/tests/interop/Round4/GroupH/skipif.inc3
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_006w.phptbin1026 -> 0 bytes
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt27
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt28
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt27
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt27
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt27
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt28
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt21
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt35
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt29
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt28
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt27
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt19
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt20
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.inc198
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.wsdl1113
-rw-r--r--ext/soap/tests/interop/Round4/GroupI/skipif.inc3
-rw-r--r--ext/soap/tests/schema/schema001.phpt20
-rw-r--r--ext/soap/tests/schema/schema002.phpt23
-rw-r--r--ext/soap/tests/schema/schema003.phpt23
-rw-r--r--ext/soap/tests/schema/schema004.phpt20
-rw-r--r--ext/soap/tests/schema/schema005.phpt24
-rw-r--r--ext/soap/tests/schema/schema006.phpt25
-rw-r--r--ext/soap/tests/schema/schema007.phpt25
-rw-r--r--ext/soap/tests/schema/schema008.phpt27
-rw-r--r--ext/soap/tests/schema/schema009.phpt20
-rw-r--r--ext/soap/tests/schema/schema010.phpt20
-rw-r--r--ext/soap/tests/schema/schema011.phpt24
-rw-r--r--ext/soap/tests/schema/schema012.phpt24
-rw-r--r--ext/soap/tests/schema/schema013.phpt20
-rw-r--r--ext/soap/tests/schema/schema014.phpt20
-rw-r--r--ext/soap/tests/schema/schema015.phpt30
-rw-r--r--ext/soap/tests/schema/schema016.phpt30
-rw-r--r--ext/soap/tests/schema/schema017.phpt27
-rw-r--r--ext/soap/tests/schema/schema018.phpt27
-rw-r--r--ext/soap/tests/schema/schema019.phpt27
-rw-r--r--ext/soap/tests/schema/schema020.phpt27
-rw-r--r--ext/soap/tests/schema/schema021.phpt24
-rw-r--r--ext/soap/tests/schema/schema022.phpt24
-rw-r--r--ext/soap/tests/schema/schema023.phpt29
-rw-r--r--ext/soap/tests/schema/schema024.phpt31
-rw-r--r--ext/soap/tests/schema/schema025.phpt30
-rw-r--r--ext/soap/tests/schema/schema026.phpt31
-rw-r--r--ext/soap/tests/schema/schema027.phpt35
-rw-r--r--ext/soap/tests/schema/schema028.phpt36
-rw-r--r--ext/soap/tests/schema/schema029.phpt38
-rw-r--r--ext/soap/tests/schema/schema030.phpt28
-rw-r--r--ext/soap/tests/schema/schema031.phpt28
-rw-r--r--ext/soap/tests/schema/schema032.phpt26
-rw-r--r--ext/soap/tests/schema/schema033.phpt36
-rw-r--r--ext/soap/tests/schema/schema034.phpt37
-rw-r--r--ext/soap/tests/schema/schema035.phpt38
-rw-r--r--ext/soap/tests/schema/schema036.phpt37
-rw-r--r--ext/soap/tests/schema/schema037.phpt28
-rw-r--r--ext/soap/tests/schema/schema038.phpt29
-rw-r--r--ext/soap/tests/schema/schema039.phpt31
-rw-r--r--ext/soap/tests/schema/schema040.phpt32
-rw-r--r--ext/soap/tests/schema/schema041.phpt31
-rw-r--r--ext/soap/tests/schema/schema042.phpt29
-rw-r--r--ext/soap/tests/schema/schema043.phpt38
-rw-r--r--ext/soap/tests/schema/schema044.phpt29
-rw-r--r--ext/soap/tests/schema/schema045.phpt36
-rw-r--r--ext/soap/tests/schema/schema046.phpt38
-rw-r--r--ext/soap/tests/schema/schema047.phpt34
-rw-r--r--ext/soap/tests/schema/schema048.phpt36
-rw-r--r--ext/soap/tests/schema/schema049.phpt34
-rw-r--r--ext/soap/tests/schema/schema050.phpt28
-rw-r--r--ext/soap/tests/schema/schema051.phpt33
-rw-r--r--ext/soap/tests/schema/schema052.phpt28
-rw-r--r--ext/soap/tests/schema/schema053.phpt26
-rw-r--r--ext/soap/tests/schema/schema054.phpt21
-rw-r--r--ext/soap/tests/schema/schema055.phpt28
-rw-r--r--ext/soap/tests/schema/schema056.phpt29
-rw-r--r--ext/soap/tests/schema/schema057.phpt31
-rw-r--r--ext/soap/tests/schema/schema058.phpt30
-rw-r--r--ext/soap/tests/schema/schema059.phpt31
-rw-r--r--ext/soap/tests/schema/schema060.phpt36
-rw-r--r--ext/soap/tests/schema/schema061.phpt38
-rw-r--r--ext/soap/tests/schema/schema062.phpt29
-rw-r--r--ext/soap/tests/schema/schema063.phpt16
-rw-r--r--ext/soap/tests/schema/schema064.phpt57
-rw-r--r--ext/soap/tests/schema/schema065.phpt26
-rw-r--r--ext/soap/tests/schema/schema066.phpt26
-rw-r--r--ext/soap/tests/schema/schema067.phpt26
-rw-r--r--ext/soap/tests/schema/schema068.phpt18
-rw-r--r--ext/soap/tests/schema/schema069.phpt27
-rw-r--r--ext/soap/tests/schema/schema070.phpt29
-rw-r--r--ext/soap/tests/schema/schema071.phpt23
-rw-r--r--ext/soap/tests/schema/schema072.phpt25
-rw-r--r--ext/soap/tests/schema/schema073.phpt24
-rw-r--r--ext/soap/tests/schema/schema074.phpt29
-rw-r--r--ext/soap/tests/schema/schema075.phpt30
-rw-r--r--ext/soap/tests/schema/schema076.phpt30
-rw-r--r--ext/soap/tests/schema/schema077.phpt30
-rw-r--r--ext/soap/tests/schema/schema078.phpt32
-rw-r--r--ext/soap/tests/schema/schema079.phpt32
-rw-r--r--ext/soap/tests/schema/schema080.phpt32
-rw-r--r--ext/soap/tests/schema/skipif.inc3
-rw-r--r--ext/soap/tests/schema/test_schema.inc77
-rw-r--r--ext/soap/tests/server001.phpt33
-rw-r--r--ext/soap/tests/server002.phpt37
-rw-r--r--ext/soap/tests/server003.phpt32
-rw-r--r--ext/soap/tests/server004.phpt40
-rw-r--r--ext/soap/tests/server005.phpt36
-rw-r--r--ext/soap/tests/server006.phpt42
-rw-r--r--ext/soap/tests/server007.phpt26
-rw-r--r--ext/soap/tests/server008.phpt29
-rw-r--r--ext/soap/tests/server009.phpt66
-rw-r--r--ext/soap/tests/server010.phpt61
-rw-r--r--ext/soap/tests/server011.phpt25
-rw-r--r--ext/soap/tests/server012.phpt20
-rw-r--r--ext/soap/tests/server013.phpt44
-rw-r--r--ext/soap/tests/server014.phpt37
-rw-r--r--ext/soap/tests/server015.phpt33
-rw-r--r--ext/soap/tests/server016.phpt34
-rw-r--r--ext/soap/tests/server017.phpt33
-rw-r--r--ext/soap/tests/server018.phpt33
-rw-r--r--ext/soap/tests/server019.phpt37
-rw-r--r--ext/soap/tests/server020.phpt37
-rw-r--r--ext/soap/tests/server021.phpt40
-rw-r--r--ext/soap/tests/skipif.inc3
-rw-r--r--ext/soap/tests/soap12/T01.phpt23
-rw-r--r--ext/soap/tests/soap12/T02.phpt23
-rw-r--r--ext/soap/tests/soap12/T03.phpt22
-rw-r--r--ext/soap/tests/soap12/T04.phpt23
-rw-r--r--ext/soap/tests/soap12/T05.phpt23
-rw-r--r--ext/soap/tests/soap12/T10.phpt23
-rw-r--r--ext/soap/tests/soap12/T11.phpt24
-rw-r--r--ext/soap/tests/soap12/T12.phpt23
-rw-r--r--ext/soap/tests/soap12/T13.phpt23
-rw-r--r--ext/soap/tests/soap12/T14.phpt23
-rw-r--r--ext/soap/tests/soap12/T15.phpt24
-rw-r--r--ext/soap/tests/soap12/T19.phpt24
-rw-r--r--ext/soap/tests/soap12/T22.phpt24
-rw-r--r--ext/soap/tests/soap12/T23.phpt24
-rw-r--r--ext/soap/tests/soap12/T24.phpt21
-rw-r--r--ext/soap/tests/soap12/T25.phpt22
-rw-r--r--ext/soap/tests/soap12/T26.phpt21
-rw-r--r--ext/soap/tests/soap12/T27.phpt29
-rw-r--r--ext/soap/tests/soap12/T28.phpt22
-rw-r--r--ext/soap/tests/soap12/T29.phpt23
-rw-r--r--ext/soap/tests/soap12/T30.phpt20
-rw-r--r--ext/soap/tests/soap12/T31.phpt22
-rw-r--r--ext/soap/tests/soap12/T32.phpt25
-rw-r--r--ext/soap/tests/soap12/T33.phpt20
-rw-r--r--ext/soap/tests/soap12/T34.phpt24
-rw-r--r--ext/soap/tests/soap12/T35.phpt24
-rw-r--r--ext/soap/tests/soap12/T36.phpt23
-rw-r--r--ext/soap/tests/soap12/T37.phpt23
-rw-r--r--ext/soap/tests/soap12/T38_1.phpt27
-rw-r--r--ext/soap/tests/soap12/T38_2.phpt27
-rw-r--r--ext/soap/tests/soap12/T39.phpt22
-rw-r--r--ext/soap/tests/soap12/T40.phpt26
-rw-r--r--ext/soap/tests/soap12/T41.phpt30
-rw-r--r--ext/soap/tests/soap12/T42.phpt39
-rw-r--r--ext/soap/tests/soap12/T43.phpt30
-rw-r--r--ext/soap/tests/soap12/T44.phpt27
-rw-r--r--ext/soap/tests/soap12/T45.phpt35
-rw-r--r--ext/soap/tests/soap12/T46.phpt36
-rw-r--r--ext/soap/tests/soap12/T47.phpt29
-rw-r--r--ext/soap/tests/soap12/T48.phpt29
-rw-r--r--ext/soap/tests/soap12/T49.phpt29
-rw-r--r--ext/soap/tests/soap12/T50.phpt29
-rw-r--r--ext/soap/tests/soap12/T51.phpt27
-rw-r--r--ext/soap/tests/soap12/T52.phpt25
-rw-r--r--ext/soap/tests/soap12/T53.phpt25
-rw-r--r--ext/soap/tests/soap12/T54.phpt25
-rw-r--r--ext/soap/tests/soap12/T55.phpt25
-rw-r--r--ext/soap/tests/soap12/T56.phpt34
-rw-r--r--ext/soap/tests/soap12/T57.phpt32
-rw-r--r--ext/soap/tests/soap12/T58.phpt28
-rw-r--r--ext/soap/tests/soap12/T59.phpt28
-rw-r--r--ext/soap/tests/soap12/T60.phpt29
-rw-r--r--ext/soap/tests/soap12/T61.phpt28
-rw-r--r--ext/soap/tests/soap12/T63.phpt24
-rw-r--r--ext/soap/tests/soap12/T64.phpt24
-rw-r--r--ext/soap/tests/soap12/T65.phpt26
-rw-r--r--ext/soap/tests/soap12/T66.phpt23
-rw-r--r--ext/soap/tests/soap12/T67.phpt23
-rw-r--r--ext/soap/tests/soap12/T68.phpt32
-rw-r--r--ext/soap/tests/soap12/T69.phpt19
-rw-r--r--ext/soap/tests/soap12/T70.phpt23
-rw-r--r--ext/soap/tests/soap12/T71.phpt24
-rw-r--r--ext/soap/tests/soap12/T72.phpt22
-rw-r--r--ext/soap/tests/soap12/T73.phpt26
-rw-r--r--ext/soap/tests/soap12/T74.phpt28
-rw-r--r--ext/soap/tests/soap12/T75.phpt28
-rw-r--r--ext/soap/tests/soap12/T76_1.phpt25
-rw-r--r--ext/soap/tests/soap12/T76_2.phpt32
-rw-r--r--ext/soap/tests/soap12/T77_1.phpt25
-rw-r--r--ext/soap/tests/soap12/T77_2.phpt24
-rw-r--r--ext/soap/tests/soap12/T77_3.phpt27
-rw-r--r--ext/soap/tests/soap12/T78.phpt23
-rw-r--r--ext/soap/tests/soap12/T80.phpt19
-rw-r--r--ext/soap/tests/soap12/skipif.inc3
-rw-r--r--ext/soap/tests/soap12/soap12-test.inc130
-rw-r--r--ext/soap/tests/soap12/soap12-test.wsdl771
-rw-r--r--ext/soap/tests/test.wsdl55
-rw-r--r--ext/soap/tests/transport001.phpt36
536 files changed, 0 insertions, 40334 deletions
diff --git a/ext/soap/CREDITS b/ext/soap/CREDITS
deleted file mode 100644
index 83c9b1cc5c..0000000000
--- a/ext/soap/CREDITS
+++ /dev/null
@@ -1,2 +0,0 @@
-SOAP
-Brad Lafountain, Shane Caraveo, Dmitry Stogov
diff --git a/ext/soap/TODO b/ext/soap/TODO
deleted file mode 100644
index ad0b11c948..0000000000
--- a/ext/soap/TODO
+++ /dev/null
@@ -1,98 +0,0 @@
-General
--------
-- make sure soapserver.map(), soap_encode_to_xml() and soap_encode_to_zval() are really need
-- reimplement SoapObject::__getfunctions() and SoapObject::__gettypes()
- to return structures instead of strings
-- error handling???
-
-SOAP
-----
-- SOAP routing
-- root attribute (it is defined by SOAP 1.1, but not SOAP 1.2)
-- make sure soap 1.1 and 1.2 are supported fully
-
-Encoding
---------
-? full support for standard simple types (
- ? language, (pattern: "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*")
- ? NMTOKEN, (pattern: "\c+") (\c: [a-zA-Z0-9.\-_:])
- ? NMTOKENS, (list: NMTOKEN, minLength: 1)
- ? Name, (pattern: "\i\c*") (\i: [a-zA-Z_:]
- ? NCName, (pattern: "[\i-[:]][\c-[:]]*")
- ? ID, (base: NCName)
- ? IDREF, (base: NCName)
- ? IDREFS, (list: IDREF; minLength: 1)
- ? ENTITY, (base: NCName)
- ? ENTITIES, (list: ENTITY; minLength: 1)
- ? duration)
-? full support for standard date/time types (
- ? dateTime,
- ? time,
- ? date,
- ? gYearMonth,
- ? gYear,
- ? gMonthDay,
- ? gDay,
- ? gMonth)
-? full support for arrays
- - SOAP 1.1 encoding of arrays with holes (partially transmitted and sparse arrays)
- SOAP 1.2 doesn't support partially transmitted and sparse arrays
-- references to external resources
-? support for "nillable" and "nil"
-? default values of <element>
-? provide schema 1999/2001 support???
-? make internal refrences for soap encoding (use seralization logic)???
-? provide user space overriding of serialization certin objects and types???
-
-WSDL
-----
-? server part support for "document" style encoding
-? support for <fault>, <soap:fault>
-? <soap:headerfault>
-- <soap:body> parts attribute (with MIME/DIME binding)
-- MIME binding
-- DIME binding
-- support for portType/operation parameterOrder attribute
-- support for binding operation input/output name attribute (part of overloading)
-- function/method overloading/redeclaration (test(int); test(string))
-- wsdl auto generation
-- HTTP GET/POST binding
-- SOAP security extension
-
-Schema
-------
-- <redefine>
-? support for user defined simple types
- ? restiction
- ? enumeration
- ? length (for string, anyURI, hexBinary, base64Binary and derived) list???
- ? minLength (for string, hexBinary, base64Binary and derived) list???
- ? maxLength (for string, hexBinary, base64Binary and derived) list???
- + whiteSpace (preserve, replace [#x9,#xA,#xD=>#x20], collapse [replace+?])
- - pattern
- - minExclusive (for numeric, date types)
- - minInclusive (for numeric, date types)
- - maxExclusive (for numeric, date types)
- - maxInclusive (for numeric, date types)
- - totalDigits (for decimal)
- - fractionDigits (for decimal)
- ? union
-? support for user defined complex types
- ? full support for content model encoding/decoding
- - <any>
- - <anyAttribute>
-
-Transport
----------
-? HTTP status codes
-? HTTP chunked Transfer-Encoding
-? support for HTTP compression (gzip,x-gzip,defalte)
-- transport abstraction layer???
-
-Interop Testing
----------------
-- more interop rounds/groups
-
-UDDI
-----
-- ???
diff --git a/ext/soap/TODO.old b/ext/soap/TODO.old
deleted file mode 100644
index a1cc15c397..0000000000
--- a/ext/soap/TODO.old
+++ /dev/null
@@ -1,39 +0,0 @@
-TODO:
-make sure soap 1.1 and 1.2 is supported fully
-Better WSDL support Client and server (how much validation is needed here?)
-UDDI??
-make internal refrences for soap encoding (use seralization logic)
-add ini option for always soap_error_handler
-provide user space overriding of serialization certin objects and types
-serialization in general needs to be polished/finished... all xsd types
-make perstistant objects and work with or without register_globals on
-look to see if php-soap will work with out always_populate_raw_post_data on
-see if client will work with ssl.. should be eaiser with php_streams
-work on soap seralizer (php serialization)
--work on a soap-service 'regiestry' and 'proxy' (apache soap style)
--convert all string mainpulation to use smart_str
-make the 'soap' packet abstract.. maybe incorperate xml-rpc
-make the transport layer abstract.. what other transport layers are needed?... who uses smtp? what about jabber?
-make $soap_object->data = 'text'; maybe invoke a set_*() and/or get_*() method
-when using wsdls and function names are similar find the best match
- void test(int);
- void test(string);
- maybe use the same alogrithim as ext/java.
-investigate further http keep_alive... inital testing proved slower.. maybe php_streams will speed things up..
-provide schema 1999/2001 support....
-through memory leak testing
-possible using shared memory for sdl caching...
-api for clearing/checking sdl caching...
-make php-soap work as a standalone server using php_streams and the new socket extension
-http authication
-proxy support
-wsdl generation static and auto (.net style (http://server.com/soapserver.php?WSDL)) using phpdoc parsing engine
-interpo testing...
-BENCHMARKING...... lets prove how fast it is.
-do some more work on website
-
-does this list stop... what exactly have i done?
-im sure im forgetting 20 thousand more things....
-
-
- - brad
diff --git a/ext/soap/config.m4 b/ext/soap/config.m4
deleted file mode 100644
index 8acad8dee3..0000000000
--- a/ext/soap/config.m4
+++ /dev/null
@@ -1,25 +0,0 @@
-dnl $Id$
-dnl config.m4 for extension soap
-
-PHP_ARG_ENABLE(soap, whether to enable SOAP support,
-[ --enable-soap Enable SOAP support])
-
-if test -z "$PHP_LIBXML_DIR"; then
- PHP_ARG_WITH(libxml-dir, libxml2 install dir,
- [ --with-libxml-dir=DIR SOAP: libxml2 install prefix], no, no)
-fi
-
-if test "$PHP_SOAP" != "no"; then
-
- if test "$PHP_LIBXML" = "no"; then
- AC_MSG_ERROR([SOAP extension requires LIBXML extension, add --enable-libxml])
- fi
-
- PHP_SETUP_LIBXML(SOAP_SHARED_LIBADD, [
- AC_DEFINE(HAVE_SOAP,1,[ ])
- PHP_NEW_EXTENSION(soap, soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c, $ext_shared)
- PHP_SUBST(SOAP_SHARED_LIBADD)
- ], [
- AC_MSG_ERROR([xml2-config not found. Please check your libxml2 installation.])
- ])
-fi
diff --git a/ext/soap/config.w32 b/ext/soap/config.w32
deleted file mode 100644
index 048fd70ca1..0000000000
--- a/ext/soap/config.w32
+++ /dev/null
@@ -1,15 +0,0 @@
-// $Id$
-// vim:ft=javascript
-
-ARG_ENABLE("soap", "SOAP support", "no");
-
-if (PHP_SOAP != "no" && PHP_LIBXML == "yes") {
- EXTENSION('soap', 'soap.c php_encoding.c php_http.c php_packet_soap.c php_schema.c php_sdl.c php_xml.c');
- AC_DEFINE('HAVE_PHP_SOAP', 1, "SOAP support");
-
- if (!PHP_SOAP_SHARED) {
- ADD_FLAG('CFLAGS_SOAP', "/D LIBXML_STATIC ");
- }
- ADD_EXTENSION_DEP('soap', 'libxml');
-}
-
diff --git a/ext/soap/interop/client_round2.php b/ext/soap/interop/client_round2.php
deleted file mode 100644
index c1307472c4..0000000000
--- a/ext/soap/interop/client_round2.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <title>Round 2 Interop Client Tests</title>
-</head>
-
-<body>
-<a href="index.php">Back to Interop Index</a><br>
-<p>&nbsp;</p>
-<?php
-require_once 'client_round2_interop.php';
-
-$iop = new Interop_Client();
-
-function endpointList($test,$sel_endpoint)
-{
- global $iop;
- $iop->getEndpoints($test);
- echo "<select name='endpoint'>\n";
- echo "<option value=''>-- All Endpoints --</option>\n";
- foreach ($iop->endpoints as $epname => $epinfo) {
- $selected = '';
- if ($sel_endpoint == $epname) $selected = ' SELECTED';
- echo "<option value='$epname'$selected>$epname</option>\n";
- }
- echo "</select>\n";
-}
-function methodList($test,$sel_method)
-{
- global $iop;
- global $soap_tests;
-
- echo "<select name='method'>\n";
- echo "<option value='ALL'>-- Run All Methods --</option>\n";
- $prev_method = "";
- foreach ($soap_tests[$test] as $x) {
- $method = $x->test_name;
- if ($method != $prev_method) {
- $prev_method = $method;
- $selected = '';
- if ($sel_method == $method) $selected = ' SELECTED';
- echo "<option value='$method'$selected>$method</option>\n";
- }
- }
- echo "</select>\n";
-}
-
-function endpointTestForm($test, $endpoint, $method, $paramType, $useWSDL)
-{
- global $PHP_SELF;
- if (!$test) $test = 'base';
- echo "Round 2 '$test' Selected<br>\n";
- echo "Select endpoint and method to run:<br>\n";
- echo "<form action='$PHP_SELF' method='post'>\n";
- echo "<input type='hidden' name='test' value='$test'>\n";
- endpointList($test, $endpoint);
- methodList($test, $method);
- echo "<select name='paramType'>";
-// echo "<option value='all'>-- All --</option>";
- echo "<option value='soapval'".($paramType=='soapval'?' selected':'').">soap value</option>";
- echo "<option value='php'".($paramType=='php'?' selected':'').">php internal type</option></select>\n";
- echo "<select name='useWSDL'>";
-// echo "<option value='all'>-- All --</option>";
- echo "<option value='0'>go Direct</option>";
- echo "<option value='1'".($useWSDL?' selected':'').">use WSDL</option></select>\n";
- echo "<input type='submit' value='Go'>\n";
- echo "</form><br>\n";
-}
-
-function testSelectForm($selected_test = NULL)
-{
- global $iop, $PHP_SELF;
- echo "Select a Round 2 test case to run:<br>\n";
- echo "<form action='$PHP_SELF' method='post'>\n";
- echo "<select name='test'>\n";
- foreach ($iop->tests as $test) {
- $selected = '';
- if ($selected_test == $test) $selected = ' SELECTED';
- echo "<option value='$test'$selected>$test</option>\n";
- }
- echo "</select>\n";
- echo "<input type='submit' value='Go'>\n";
- echo "</form><br>\n";
-}
-
-testSelectForm($_POST['test']);
-endpointTestForm($_POST['test'],$_POST['endpoint'],$_POST['method'],$_POST['paramType'],$_POST['useWSDL']);
-
-if ($_POST['test'] && array_key_exists('endpoint', $_POST) && array_key_exists('method', $_POST)) {
- // here we execute the orders
- echo "<h2>Calling {$_POST['method']} at {$_POST['endpoint']}</h2>\n";
- echo "NOTE: wire's are slightly modified to display better in web browsers.<br>\n";
-
- $iop->currentTest = $_POST['test']; // see $tests above
- $iop->paramType = $_POST['paramType']; // 'php' or 'soapval'
- $iop->useWSDL = $_POST['useWSDL']; // 1= do wsdl tests
- $iop->numServers = 0; // 0 = all
- $iop->specificEndpoint = $_POST['endpoint']; // test only this endpoint
- $iop->testMethod = $_POST['method']=='ALL'?'':$_POST['method']; // test only this method
- $iop->skipEndpointList = array(); // endpoints to skip
- $iop->nosave = 0; // 1= disable saving results to database
- // debug output
- $iop->show = 0;
- $iop->debug = 0;
- $iop->showFaults = 0; // used in result table output
- echo '<pre>';
- $iop->doTest(); // run a single set of tests using above options
- echo '</pre>';
-}
-?>
-</body>
-</html>
diff --git a/ext/soap/interop/client_round2_interop.php b/ext/soap/interop/client_round2_interop.php
deleted file mode 100644
index 588ee92888..0000000000
--- a/ext/soap/interop/client_round2_interop.php
+++ /dev/null
@@ -1,785 +0,0 @@
-<?php
-//
-// +----------------------------------------------------------------------+
-// | PHP Version 4 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.02 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Authors: Shane Caraveo <Shane@Caraveo.com> |
-// +----------------------------------------------------------------------+
-//
-// $Id$
-//
-require_once 'DB.php'; // PEAR/DB
-require_once 'client_round2_params.php';
-require_once 'test.utility.php';
-require_once 'config.php';
-
-error_reporting(E_ALL ^ E_NOTICE);
-
-class Interop_Client
-{
- // database DNS
- var $DSN = "";
-
- var $baseURL = "";
-
- // our central interop server, where we can get the list of endpoints
- var $interopServer = "http://www.whitemesa.net/wsdl/interopInfo.wsdl";
-
- // our local endpoint, will always get added to the database for all tests
- var $localEndpoint;
-
- // specify testing
- var $currentTest = 'base'; // see $tests above
- var $paramType = 'php'; // 'php' or 'soapval'
- var $useWSDL = 0; // 1= do wsdl tests
- var $numServers = 0; // 0 = all
- var $specificEndpoint = ''; // test only this endpoint
- var $testMethod = ''; // test only this method
- var $skipEndpointList = array(); // endpoints to skip
- var $nosave = 0;
- var $startAt = ''; // start in list at this endpoint
- // debug output
- var $show = 1;
- var $debug = 0;
- var $showFaults = 0; // used in result table output
-
- // PRIVATE VARIABLES
- var $dbc = NULL;
- var $totals = array();
- var $tests = array('base','GroupB', 'GroupC');
- var $paramTypes = array('php', 'soapval');
- var $endpoints = array();
- var $html = 1;
-
- function Interop_Client() {
- global $interopConfig;
- $this->DSN = $interopConfig['DSN'];
- $this->baseURL = $interopConfig['baseURL'];
- //$this->baseURL = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
- // set up the database connection
- $this->dbc = DB::connect($this->DSN, true);
- // if it errors out, just ignore it and rely on regular methods
- if (DB::isError($this->dbc)) {
- echo $this->dbc->getMessage();
- $this->dbc = NULL;
- }
- // set up local endpoint
- $this->localEndpoint['base'] = (object)array(
- 'endpointName'=>'PHP ext/soap',
- 'endpointURL'=>$this->baseURL.'/server_round2_base.php',
- 'wsdlURL'=>$this->baseURL.'/interop.wsdl.php'
- );
- $this->localEndpoint['GroupB'] = (object)array(
- 'endpointName'=>'PHP ext/soap',
- 'endpointURL'=>$this->baseURL.'/server_round2_groupB.php',
- 'wsdlURL'=>$this->baseURL.'/interopB.wsdl.php'
- );
- $this->localEndpoint['GroupC'] = (object)array(
- 'endpointName'=>'PHP ext/soap',
- 'endpointURL'=>$this->baseURL.'/server_round2_groupC.php',
- 'wsdlURL'=>$this->baseURL.'/echoheadersvc.wsdl.php');
- }
-
- function _fetchEndpoints(&$soapclient, $test) {
- $this->_getEndpoints($test, 1);
-
- // retreive endpoints from the endpoint server
- $endpointArray = $soapclient->__soapCall("GetEndpointInfo",array("groupName"=>$test),array('soapaction'=>"http://soapinterop.org/",'uri'=>"http://soapinterop.org/"));
- if (is_soap_fault($endpointArray) || PEAR::isError($endpointArray)) {
- if ($this->html) print "<pre>";
- print $soapclient->wire."\n";
- print_r($endpointArray);
- if ($this->html) print "</pre>";
- print "\n";
- return;
- }
-
- // add our local endpoint
- if ($this->localEndpoint[$test]) {
- array_push($endpointArray, $this->localEndpoint[$test]);
- }
-
- if (!$endpointArray) return;
-
- // reset the status to zero
- $res = $this->dbc->query("update endpoints set status = 0 where class='$test'");
- if (DB::isError($res)) {
- die ($res->getMessage());
- }
- if (is_object($res)) $res->free();
- // save new endpoints into database
- foreach($endpointArray as $k => $v){
- if (array_key_exists($v->endpointName,$this->endpoints)) {
- $res = $this->dbc->query("update endpoints set endpointURL='{$v->endpointURL}', wsdlURL='{$v->wsdlURL}', status=1 where id={$this->endpoints[$v->endpointName]['id']}");
- } else {
- $res = $this->dbc->query("insert into endpoints (endpointName,endpointURL,wsdlURL,class) values('{$v->endpointName}','{$v->endpointURL}','{$v->wsdlURL}','$test')");
- }
- if (DB::isError($res)) {
- die ($res->getMessage());
- }
- if (is_object($res)) $res->free();
- }
- }
-
- /**
- * fetchEndpoints
- * retreive endpoints interop server
- *
- * @return boolean result
- * @access private
- */
- function fetchEndpoints($test = NULL) {
- // fetch from the interop server
- try {
- $soapclient = new SoapClient($this->interopServer);
- if ($test) {
- $this->_fetchEndpoints($soapclient, $test);
- } else {
- foreach ($this->tests as $test) {
- $this->_fetchEndpoints($soapclient, $test);
- }
- $test = 'base';
- }
- } catch (SoapFault $fault) {
- if ($this->html) {
- echo "<pre>$fault</pre>\n";
- } else {
- echo "$fault\n";
- }
- return NULL;
- }
- // retreive all endpoints now
- $this->currentTest = $test;
- $x = $this->_getEndpoints($test);
- return $x;
- }
-
- /**
- * getEndpoints
- * retreive endpoints from either database or interop server
- *
- * @param string base (see local var $tests)
- * @param boolean all (if false, only get valid endpoints, status=1)
- * @return boolean result
- * @access private
- */
- function getEndpoints($base = 'base', $all = 0) {
- if (!$this->_getEndpoints($base, $all)) {
- return $this->fetchEndpoints($base);
- }
- return TRUE;
- }
-
- /**
- * _getEndpoints
- * retreive endpoints from database
- *
- * @param string base (see local var $tests)
- * @param boolean all (if false, only get valid endpoints, status=1)
- * @return boolean result
- * @access private
- */
- function _getEndpoints($base = "", $all = 0) {
- $this->endpoints = array();
-
- // build sql
- $sql = "select * from endpoints ";
- if ($base) {
- $sql .= "where class='$base' ";
- if (!$all) $sql .= "and status=1";
- } else
- if (!$all) $sql .= "where status=1";
- $sql .= " order by endpointName";
-
-
- $db_ep = $this->dbc->getAll($sql,NULL, DB_FETCHMODE_ASSOC );
- if (DB::isError($db_ep)) {
- echo $sql."\n";
- echo $db_ep->getMessage();
- return FALSE;
- }
- // rearange the array
- foreach ($db_ep as $entry) {
- $this->endpoints[$entry['endpointName']] = $entry;
- }
-
- if (count($this->endpoints) > 0) {
- $this->currentTest = $base;
- return TRUE;
- }
- return FALSE;
- }
-
- /**
- * getResults
- * retreive results from the database, stuff them into the endpoint array
- *
- * @access private
- */
- function getResults($test = 'base', $type = 'php', $wsdl = 0) {
- // be sure we have the right endpoints for this test result
- $this->getEndpoints($test);
-
- // retreive the results and put them into the endpoint info
- $sql = "select * from results where class='$test' and type='$type' and wsdl=$wsdl";
- $results = $this->dbc->getAll($sql,NULL, DB_FETCHMODE_ASSOC );
- foreach ($results as $result) {
- // find the endpoint
- foreach ($this->endpoints as $epn => $epi) {
- if ($epi['id'] == $result['endpoint']) {
- // store the info
- $this->endpoints[$epn]['methods'][$result['function']] = $result;
- break;
- }
- }
- }
- }
-
- /**
- * saveResults
- * save the results of a method test into the database
- *
- * @access private
- */
- function _saveResults($endpoint_id, &$soap_test) {
- if ($this->nosave) return;
-
- $result = $soap_test->result;
- $wire = $result['wire'];
- if ($result['success']) {
- $success = 'OK';
- $error = '';
- } else {
- $success = $result['fault']->faultcode;
- $pos = strpos($success,':');
- if ($pos !== false) {
- $success = substr($success,$pos+1);
- }
- $error = $result['fault']->faultstring;
- if (!$wire) $wire= $result['fault']->detail;
- }
-
- $test_name = $soap_test->test_name;
-
- $sql = "delete from results where endpoint=$endpoint_id ".
- "and class='$this->currentTest' and type='$this->paramType' ".
- "and wsdl=$this->useWSDL and function=".
- $this->dbc->quote($test_name);
- #echo "\n".$sql;
- $res = $this->dbc->query($sql);
- if (DB::isError($res)) {
- die ($res->getMessage());
- }
- if (is_object($res)) $res->free();
-
- $sql = "insert into results (endpoint,stamp,class,type,wsdl,function,result,error,wire) ".
- "values($endpoint_id,".time().",'$this->currentTest',".
- "'$this->paramType',$this->useWSDL,".
- $this->dbc->quote($test_name).",".
- $this->dbc->quote($success).",".
- $this->dbc->quote($error).",".
- ($wire?$this->dbc->quote($wire):"''").")";
- #echo "\n".$sql;
- $res = $this->dbc->query($sql);
-
- if (DB::isError($res)) {
- die ($res->getMessage());
- }
- if (is_object($res)) $res->free();
- }
-
- /**
- * decodeSoapval
- * decodes a soap value to php type, used for test result comparisions
- *
- * @param SOAP_Value soapval
- * @return mixed result
- * @access public
- */
- function decodeSoapval($soapval)
- {
- if (gettype($soapval) == "object" &&
- (strcasecmp(get_class($soapval),"SoapParam") == 0 ||
- strcasecmp(get_class($soapval),"SoapVar") == 0)) {
- if (strcasecmp(get_class($soapval),"SoapParam") == 0)
- $val = $soapval->param_data->enc_value;
- else
- $val = $soapval->enc_value;
- } else {
- $val = $soapval;
- }
- if (is_array($val)) {
- foreach($val as $k => $v) {
- if (gettype($v) == "object" &&
- (strcasecmp(get_class($soapval),"SoapParam") == 0 ||
- strcasecmp(get_class($soapval),"SoapVar") == 0)) {
- $val[$k] = $this->decodeSoapval($v);
- }
- }
- }
- return $val;
- }
-
- /**
- * compareResult
- * compare two php types for a match
- *
- * @param string expect
- * @param string test_result
- * @return boolean result
- * @access public
- */
- function compareResult($expect, $result, $type = NULL)
- {
- return compare($expect, $result);
- }
-
-
- /**
- * doEndpointMethod
- * run a method on an endpoint and store it's results to the database
- *
- * @param array endpoint_info
- * @param SOAP_Test test
- * @return boolean result
- * @access public
- */
- function doEndpointMethod(&$endpoint_info, &$soap_test) {
- $ok = FALSE;
-
- // prepare a holder for the test results
- $soap_test->result['class'] = $this->currentTest;
- $soap_test->result['type'] = $this->paramType;
- $soap_test->result['wsdl'] = $this->useWSDL;
-
- if ($this->useWSDL) {
- if (array_key_exists('wsdlURL',$endpoint_info)) {
- if (!array_key_exists('client',$endpoint_info)) {
- try {
- $endpoint_info['client'] = new SoapClient($endpoint_info['wsdlURL'], array("trace"=>1));
- } catch (SoapFault $ex) {
- $endpoint_info['client']->wsdl->fault = $ex;
- }
- }
- $soap =& $endpoint_info['client'];
-
- # XXX how do we determine a failure on retreiving/parsing wsdl?
- if ($soap->wsdl->fault) {
- $fault = $soap->wsdl->fault;
- $soap_test->setResult(0,'WSDL',
- $fault->faultstring."\n\n".$fault->detail,
- $fault->faultstring,
- $fault
- );
- return FALSE;
- }
- } else {
- $fault = new SoapFault('WSDL',"no WSDL defined for $endpoint");
- $soap_test->setResult(0,'WSDL',
- $fault->faultstring,
- $fault->faultstring,
- $fault
- );
- return FALSE;
- }
- $namespace = false;
- $soapaction = false;
- } else {
- $namespace = $soapaction = 'http://soapinterop.org/';
- // hack to make tests work with MS SoapToolkit
- // it's the only one that uses this soapaction, and breaks if
- // it isn't right. Can't wait for soapaction to be fully depricated
- if ($this->currentTest == 'base' &&
- strstr($endpoint_info['endpointName'],'MS SOAP ToolKit 2.0')) {
- $soapaction = 'urn:soapinterop';
- }
- if (!array_key_exists('client',$endpoint_info)) {
- $endpoint_info['client'] = new SoapClient(null,array('location'=>$endpoint_info['endpointURL'],'uri'=>$soapaction,'trace'=>1));
- }
- $soap = $endpoint_info['client'];
- }
-// // add headers to the test
-// if ($soap_test->headers) {
-// // $header is already a SOAP_Header class
-// foreach ($soap_test->headers as $header) {
-// $soap->addHeader($header);
-// }
-// }
- // XXX no way to set encoding
- // this lets us set UTF-8, US-ASCII or other
- //$soap->setEncoding($soap_test->encoding);
-try {
- if ($this->useWSDL && !$soap_test->headers && !$soap_test->headers_expect) {
- $args = '';
- foreach ($soap_test->method_params as $pname => $param) {
- $arg = '$soap_test->method_params["'.$pname.'"]';
- $args .= $args?','.$arg:$arg;
- }
- $return = eval('return $soap->'.$soap_test->method_name.'('.$args.');');
- } else {
- if ($soap_test->headers || $soap_test->headers_expect) {
- $return = $soap->__soapCall($soap_test->method_name,$soap_test->method_params,array('soapaction'=>$soapaction,'uri'=>$namespace), $soap_test->headers, $result_headers);
- } else {
- $return = $soap->__soapCall($soap_test->method_name,$soap_test->method_params,array('soapaction'=>$soapaction,'uri'=>$namespace));
- }
- }
-} catch (SoapFault $ex) {
- $return = $ex;
-}
-
- if(!is_soap_fault($return)){
- if ($soap_test->expect !== NULL) {
- $sent = $soap_test->expect;
- } else if (is_array($soap_test->method_params) && count($soap_test->method_params) == 1) {
- reset($soap_test->method_params);
- $sent = current($soap_test->method_params);
- } else if (is_array($soap_test->method_params) && count($soap_test->method_params) == 0) {
- $sent = null;
- } else {
- $sent = $soap_test->method_params;
- }
-
- // compare header results
- $headers_ok = TRUE;
- if ($soap_test->headers || $soap_test->headers_expect) {
- $headers_ok = $this->compareResult($soap_test->headers_expect, $result_headers);
- }
-
- # we need to decode what we sent so we can compare!
- $sent_d = $this->decodeSoapval($sent);
-
- $soap_test->result['sent'] = $sent;
- $soap_test->result['return'] = $return;
-
- // compare the results with what we sent
-
- if ($soap_test->cmp_func !== NULL) {
- $cmp_func = $soap_test->cmp_func;
- $ok = $cmp_func($sent_d,$return);
- } else {
- $ok = $this->compareResult($sent_d,$return, $sent->type);
- if (!$ok && $soap_test->expect) {
- $ok = $this->compareResult($soap_test->expect,$return);
- }
- }
-
- // save the wire
- $wire = "REQUEST:\n".str_replace('" ',"\" \n",str_replace('>',">\n",$soap->__getlastrequest()))."\n\n".
- "RESPONSE:\n".str_replace('" ',"\" \n",str_replace('>',">\n",$soap->__getlastresponse()))."\n\n".
- "EXPECTED:\n".var_dump_str($sent_d)."\n".
- "RESULTL:\n".var_dump_str($return);
- if ($soap_test->headers_expect) {
- $wire .= "\nEXPECTED HEADERS:\n".var_dump_str($soap_test->headers_expect)."\n".
- "RESULT HEADERS:\n".var_dump_str($result_headers);
- }
- #print "Wire:".htmlentities($wire);
-
- if($ok){
- if (!$headers_ok) {
- $fault = new SoapFault('HEADER','The returned result did not match what we expected to receive');
- $soap_test->setResult(0,$fault->faultcode,
- $wire,
- $fault->faultstring,
- $fault
- );
- } else {
- $soap_test->setResult(1,'OK',$wire);
- $success = TRUE;
- }
- } else {
- $fault = new SoapFault('RESULT','The returned result did not match what we expected to receive');
- $soap_test->setResult(0,$fault->faultcode,
- $wire,
- $fault->faultstring,
- $fault
- );
- }
- } else {
- $fault = $return;
- if ($soap_test->expect_fault) {
- $ok = 1;
- $res = 'OK';
- } else {
- $ok = 0;
- $res =$fault->faultcode;
- $pos = strpos($res,':');
- if ($pos !== false) {
- $res = substr($res,$pos+1);
- }
- }
- // save the wire
- $wire = "REQUEST:\n".str_replace('" ',"\" \n",str_replace('>',">\n",$soap->__getlastrequest()))."\n\n".
- "RESPONSE:\n".str_replace('" ',"\" \n",str_replace('>',">\n",$soap->__getlastresponse()))."\n".
- "RESULTL:\n".var_dump_str($return);
- #print "Wire:".htmlentities($wire);
-
- $soap_test->setResult($ok,$res, $wire,$fault->faultstring, $fault);
-
- }
- return $ok;
- }
-
-
- /**
- * doTest
- * run a single round of tests
- *
- * @access public
- */
- function doTest() {
- global $soap_tests;
- // get endpoints for this test
- $this->getEndpoints($this->currentTest);
- #clear totals
- $this->totals = array();
-
- $i = 0;
- foreach($this->endpoints as $endpoint => $endpoint_info){
-
- // if we specify an endpoint, skip until we find it
- if ($this->specificEndpoint && $endpoint != $this->specificEndpoint) continue;
- if ($this->useWSDL && !$endpoint_info['endpointURL']) continue;
-
- $skipendpoint = FALSE;
- $this->totals['servers']++;
- #$endpoint_info['tests'] = array();
-
- if ($this->show) {
- print "Processing $endpoint at {$endpoint_info['endpointURL']}";
- if ($this->html) print "<br>\n"; else print "\n";
- }
-
- foreach($soap_tests[$this->currentTest] as $soap_test) {
- //foreach(array_keys($method_params[$this->currentTest][$this->paramType]) as $method)
-
- // only run the type of test we're looking for (php or soapval)
- if ($soap_test->type != $this->paramType) continue;
-
- // if we haven't reached our startpoint, skip
- if ($this->startAt && $this->startAt != $endpoint_info['endpointName']) continue;
- $this->startAt = '';
-
- // if this is in our skip list, skip it
- if (in_array($endpoint, $this->skipEndpointList)) {
- $skipendpoint = TRUE;
- $skipfault = new SoapFault('SKIP','endpoint skipped');
- $soap_test->setResult(0,$fault->faultcode, '',
- $skipfault->faultstring,
- $skipfault
- );
- #$endpoint_info['tests'][] = &$soap_test;
- #$soap_test->showTestResult($this->debug, $this->html);
- #$this->_saveResults($endpoint_info['id'], $soap_test->method_name);
- $soap_test->result = NULL;
- continue;
- }
-
- // if we're looking for a specific method, skip unless we have it
- if ($this->testMethod && strcmp($this->testMethod,$soap_test->test_name) != 0) continue;
-
- // if we are skipping the rest of the tests (due to error) note a fault
- if ($skipendpoint) {
- $soap_test->setResult(0,$fault->faultcode, '',
- $skipfault->faultstring,
- $skipfault
- );
- #$endpoint_info['tests'][] = &$soap_test;
- $this->totals['fail']++;
- } else {
- // run the endpoint test
- if ($this->doEndpointMethod($endpoint_info, $soap_test)) {
- $this->totals['success']++;
- } else {
- $skipendpoint = $soap_test->result['fault']->faultcode=='HTTP'
- && strstr($soap_test->result['fault']->faultstring,'Connect Error');
- $skipfault = $soap_test->result['fault'];
- $this->totals['fail']++;
- }
- #$endpoint_info['tests'][] = &$soap_test;
- }
- $soap_test->showTestResult($this->debug, $this->html);
- $this->_saveResults($endpoint_info['id'], $soap_test);
- $soap_test->result = NULL;
- $this->totals['calls']++;
- }
- if ($this->numservers && ++$i >= $this->numservers) break;
- }
- }
-
- function doGroupTests() {
- $dowsdl = array(0,1);
- foreach($dowsdl as $usewsdl) {
- $this->useWSDL = $usewsdl;
- foreach($this->paramTypes as $ptype) {
- // skip a pointless test
- if ($usewsdl && $ptype == 'soapval') break;
- $this->paramType = $ptype;
- $this->doTest();
- }
- }
- }
-
- /**
- * doTests
- * go all out. This takes time.
- *
- * @access public
- */
- function doTests() {
- // the mother of all interop tests
- $dowsdl = array(0,1);
- foreach($this->tests as $test) {
- $this->currentTest = $test;
- foreach($dowsdl as $usewsdl) {
- $this->useWSDL = $usewsdl;
- foreach($this->paramTypes as $ptype) {
- // skip a pointless test
- if ($usewsdl && $ptype == 'soapval') break;
- $this->paramType = $ptype;
- $this->doTest();
- }
- }
- }
- }
-
- // ***********************************************************
- // output functions
-
- /**
- * getResults
- * retreive results from the database, stuff them into the endpoint array
- *
- * @access private
- */
- function getMethodList($test = 'base') {
- // retreive the results and put them into the endpoint info
- $sql = "select distinct(function) from results where class='$test' order by function";
- $results = $this->dbc->getAll($sql);
- $ar = array();
- foreach($results as $result) {
- $ar[] = $result[0];
- }
- return $ar;
- }
-
- function outputTable()
- {
- $methods = $this->getMethodList($this->currentTest);
- if (!$methods) return;
- $this->getResults($this->currentTest,$this->paramType,$this->useWSDL);
-
- echo "<b>Testing $this->currentTest ";
- if ($this->useWSDL) echo "using WSDL ";
- else echo "using Direct calls ";
- echo "with $this->paramType values</b><br>\n";
-
- // calculate totals for this table
- $this->totals['success'] = 0;
- $this->totals['fail'] = 0;
- $this->totals['servers'] = 0; #count($this->endpoints);
- foreach ($this->endpoints as $endpoint => $endpoint_info) {
- if (count($endpoint_info['methods']) > 0) {
- $this->totals['servers']++;
- foreach ($methods as $method) {
- $r = $endpoint_info['methods'][$method]['result'];
- if ($r == 'OK') $this->totals['success']++;
- else $this->totals['fail']++;
- }
- } else {
- unset($this->endpoints[$endpoint]);
- }
- }
- $this->totals['calls'] = count($methods) * $this->totals['servers'];
-
- echo "\n\n<b>Servers: {$this->totals['servers']} Calls: {$this->totals['calls']} Success: {$this->totals['success']} Fail: {$this->totals['fail']}</b><br>\n";
-
- echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n";
- echo "<tr><td class=\"BLANK\">Endpoint</td>\n";
- foreach ($methods as $method) {
- $info = split(':', $method);
- echo "<td class='BLANK' valign='top'>";
- foreach ($info as $m) {
- $hi = split(',',$m);
- echo '<b>'.$hi[0]."</b><br>\n";
- if (count($hi) > 1) {
- echo "&nbsp;&nbsp;Actor=".($hi[1]?'Target':'Not Target')."<br>\n";
- echo "&nbsp;&nbsp;MustUnderstand=$hi[2]<br>\n";
- }
- }
- echo "</td>\n";
- }
- echo "</tr>\n";
- $faults = array();
- $fi = 0;
- foreach ($this->endpoints as $endpoint => $endpoint_info) {
- if (array_key_exists('wsdlURL',$endpoint_info)) {
- echo "<tr><td class=\"BLANK\"><a href=\"{$endpoint_info['wsdlURL']}\">$endpoint</a></td>\n";
- } else {
- echo "<tr><td class=\"BLANK\">$endpoint</td>\n";
- }
- foreach ($methods as $method) {
- $id = $endpoint_info['methods'][$method]['id'];
- $r = $endpoint_info['methods'][$method]['result'];
- $e = $endpoint_info['methods'][$method]['error'];
- if ($e) {
- $faults[$fi++] = $e;
- }
- if ($r) {
- echo "<td class='$r'><a href='$PHP_SELF?wire=$id'>$r</a></td>\n";
- } else {
- echo "<td class='untested'>untested</td>\n";
- }
- }
- echo "</tr>\n";
- }
- echo "</table><br>\n";
- if ($this->showFaults && count($faults) > 0) {
- echo "<b>ERROR Details:</b><br>\n<ul>\n";
- # output more error detail
- foreach ($faults as $fault) {
- echo '<li>'.HTMLSpecialChars($fault)."</li>\n";
- }
- }
- echo "</ul><br><br>\n";
- }
-
- function outputTables() {
- // the mother of all interop tests
- $dowsdl = array(0,1);
- foreach($this->tests as $test) {
- $this->currentTest = $test;
- foreach($dowsdl as $usewsdl) {
- $this->useWSDL = $usewsdl;
- foreach($this->paramTypes as $ptype) {
- // skip a pointless test
- if ($usewsdl && $ptype == 'soapval') break;
- $this->paramType = $ptype;
- $this->outputTable();
- }
- }
- }
- }
-
- function showWire($id) {
- $results = $this->dbc->getAll("select * from results where id=$id",NULL, DB_FETCHMODE_ASSOC );
- #$wire = preg_replace("/>/",">\n",$results[0]['wire']);
- $wire = $results[0]['wire'];
- if ($this->html) print "<pre>";
- echo "\n".HTMLSpecialChars($wire);
- if ($this->html) print "</pre>";
- print "\n";
- }
-
-}
-
-?> \ No newline at end of file
diff --git a/ext/soap/interop/client_round2_params.php b/ext/soap/interop/client_round2_params.php
deleted file mode 100644
index 04f9fd64a4..0000000000
--- a/ext/soap/interop/client_round2_params.php
+++ /dev/null
@@ -1,622 +0,0 @@
-<?php
-//
-// +----------------------------------------------------------------------+
-// | PHP Version 4 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.02 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Authors: Shane Caraveo <Shane@Caraveo.com> |
-// +----------------------------------------------------------------------+
-//
-// $Id$
-//
-
-define('SOAP_TEST_ACTOR_OTHER','http://some/other/actor');
-
-class SOAP_Test {
- var $type = 'php';
- var $test_name = NULL;
- var $method_name = NULL;
- var $method_params = NULL;
- var $cmp_func = NULL;
- var $expect = NULL;
- var $expect_fault = FALSE;
- var $headers = NULL;
- var $headers_expect = NULL;
- var $result = array();
- var $show = 1;
- var $debug = 0;
- var $encoding = 'UTF-8';
-
- function SOAP_Test($methodname, $params, $expect = NULL, $cmp_func = NULL) {
- # XXX we have to do this to make php-soap happy with NULL params
- if (!$params) $params = array();
-
- if (strchr($methodname,'(')) {
- preg_match('/(.*)\((.*)\)/',$methodname,$matches);
- $this->test_name = $methodname;
- $this->method_name = $matches[1];
- } else {
- $this->test_name = $this->method_name = $methodname;
- }
- $this->method_params = $params;
- if ($expect !== NULL) {
- $this->expect = $expect;
- }
- if ($cmp_func !== NULL) {
- $this->cmp_func = $cmp_func;
- }
-
- // determine test type
- if ($params) {
- $v = array_values($params);
- if (gettype($v[0]) == 'object' &&
- (get_class($v[0]) == 'SoapVar' || get_class($v[0]) == 'SoapParam'))
- $this->type = 'soapval';
- }
- }
-
- function setResult($ok, $result, $wire, $error = '', $fault = NULL)
- {
- $this->result['success'] = $ok;
- $this->result['result'] = $result;
- $this->result['error'] = $error;
- $this->result['wire'] = $wire;
- $this->result['fault'] = $fault;
- }
-
- /**
- * showMethodResult
- * print simple output about a methods result
- *
- * @param array endpoint_info
- * @param string method
- * @access public
- */
- function showTestResult($debug = 0, $html = 0) {
- // debug output
- if ($debug) $this->show = 1;
- if ($debug) {
- echo str_repeat("-",50).$html?"<br>\n":"\n";
- }
-
- echo "testing $this->test_name : ";
-
- if ($debug) {
- print "method params: ";
- print_r($this->params);
- print "\n";
- }
-
- $ok = $this->result['success'];
- if ($ok) {
- if ($html) {
- print "<font color=\"#00cc00\">SUCCESS</font>\n";
- } else {
- print "SUCCESS\n";
- }
- } else {
- $fault = $this->result['fault'];
- if ($fault) {
- $res = $fault->faultcode;
- $pos = strpos($res,':');
- if ($pos !== false) {
- $res = substr($res,$pos+1);
- }
- if ($html) {
- print "<font color=\"#ff0000\">FAILED: [$res] {$fault->faultstring}</font>\n";
- } else {
- print "FAILED: [$res] {$fault->faultstring}\n";
- }
- } else {
- if ($html) {
- print "<font color=\"#ff0000\">FAILED: ".$this->result['result']."</font>\n";
- } else {
- print "FAILED: ".$this->result['result']."\n";
- }
- }
- }
- if ($debug) {
- if ($html) {
- echo "<pre>\n".htmlentities($this->result['wire'])."</pre>\n";
- } else {
- echo "\n".htmlentities($this->result['wire'])."\n";
- }
- }
- }
-}
-
-# XXX I know this isn't quite right, need to deal with this better
-function make_2d($x, $y)
-{
- for ($_x = 0; $_x < $x; $_x++) {
- for ($_y = 0; $_y < $y; $_y++) {
- $a[$_x][$_y] = "x{$_x}y{$_y}";
- }
- }
- return $a;
-}
-
-function soap_value($name, $value, $type, $type_name=NULL, $type_ns=NULL) {
- return new SoapParam(new SoapVar($value,$type,$type_name,$type_ns),$name);
-}
-
-class SOAPStruct {
- var $varString;
- var $varInt;
- var $varFloat;
- function SOAPStruct($s, $i, $f) {
- $this->varString = $s;
- $this->varInt = $i;
- $this->varFloat = $f;
- }
-}
-
-//***********************************************************
-// Base echoString
-
-$soap_tests['base'][] = new SOAP_Test('echoString', array('inputString' => 'hello world!'));
-$soap_tests['base'][] = new SOAP_Test('echoString', array('inputString' => soap_value('inputString','hello world',XSD_STRING)));
-$soap_tests['base'][] = new SOAP_Test('echoString(empty)', array('inputString' => ''));
-$soap_tests['base'][] = new SOAP_Test('echoString(empty)', array('inputString' => soap_value('inputString','',XSD_STRING)));
-$soap_tests['base'][] = new SOAP_Test('echoString(null)', array('inputString' => NULL));
-$soap_tests['base'][] = new SOAP_Test('echoString(null)', array('inputString' => soap_value('inputString',NULL,XSD_STRING)));
-//$soap_tests['base'][] = new SOAP_Test('echoString(entities)', array('inputString' => ">,<,&,\",',0:\x00",1:\x01,2:\x02,3:\x03,4:\x04,5:\x05,6:\x06,7:\x07,8:\x08,9:\x09,10:\x0a,11:\x0b,12:\x0c,13:\x0d,14:\x0e,15:\x0f,16:\x10,17:\x11,18:\x12,19:\x13,20:\x14,21:\x15,22:\x16,23:\x17,24:\x18,25:\x19,26:\x1a,27:\x1b,28:\x1c,29:\x1d,30:\x1e,31:\x1f"));
-//$soap_tests['base'][] = new SOAP_Test('echoString(entities)', array('inputString' => soap_value('inputString',">,<,&,\",',0:\x00",1:\x01,2:\x02,3:\x03,4:\x04,5:\x05,6:\x06,7:\x07,8:\x08,9:\x09,10:\x0a,11:\x0b,12:\x0c,13:\x0d,14:\x0e,15:\x0f,16:\x10,17:\x11,18:\x12,19:\x13,20:\x14,21:\x15,22:\x16,23:\x17,24:\x18,25:\x19,26:\x1a,27:\x1b,28:\x1c,29:\x1d,30:\x1e,31:\x1f",XSD_STRING)));
-$soap_tests['base'][] = new SOAP_Test('echoString(entities)', array('inputString' => ">,<,&,\",',\\,\n"));
-$soap_tests['base'][] = new SOAP_Test('echoString(entities)', array('inputString' => soap_value('inputString',">,<,&,\",',\\,\n",XSD_STRING)));
-$test = new SOAP_Test('echoString(utf-8)', array('inputString' => utf8_encode('ỗÈéóÒ₧⅜ỗỸ')));
-$test->encoding = 'UTF-8';
-$soap_tests['base'][] = $test;
-$test = new SOAP_Test('echoString(utf-8)', array('inputString' => soap_value('inputString',utf8_encode('ỗÈéóÒ₧⅜ỗỸ'),XSD_STRING)));
-$test->encoding = 'UTF-8';
-$soap_tests['base'][] = $test;
-
-//***********************************************************
-// Base echoStringArray
-
-$soap_tests['base'][] = new SOAP_Test('echoStringArray',
- array('inputStringArray' => array('good','bad')));
-$soap_tests['base'][] = new SOAP_Test('echoStringArray',
- array('inputStringArray' =>
- soap_value('inputStringArray',array('good','bad'),SOAP_ENC_ARRAY,"ArrayOfstring","http://soapinterop.org/xsd")));
-
-$soap_tests['base'][] = new SOAP_Test('echoStringArray(one)',
- array('inputStringArray' => array('good')));
-$soap_tests['base'][] = new SOAP_Test('echoStringArray(one)',
- array('inputStringArray' =>
- soap_value('inputStringArray',array('good'),SOAP_ENC_ARRAY,"ArrayOfstring","http://soapinterop.org/xsd")));
-
-// empty array test
-$soap_tests['base'][] = new SOAP_Test('echoStringArray(empty)', array('inputStringArray' => array()));
-$soap_tests['base'][] = new SOAP_Test('echoStringArray(empty)', array('inputStringArray' => soap_value('inputStringArray',array(),SOAP_ENC_ARRAY,"ArrayOfstring","http://soapinterop.org/xsd")));
-
-# XXX NULL Arrays not supported
-// null array test
-$soap_tests['base'][] = new SOAP_Test('echoStringArray(null)', array('inputStringArray' => NULL));
-$soap_tests['base'][] = new SOAP_Test('echoStringArray(null)', array('inputStringArray' => soap_value('inputStringArray',NULL,SOAP_ENC_ARRAY,"ArrayOfstring","http://soapinterop.org/xsd")));
-
-//***********************************************************
-// Base echoInteger
-$x = new SOAP_Test('echoInteger', array('inputInteger' => 34345));
-$soap_tests['base'][] = new SOAP_Test('echoInteger', array('inputInteger' => 34345));
-$soap_tests['base'][] = new SOAP_Test('echoInteger', array('inputInteger' => soap_value('inputInteger',12345,XSD_INT)));
-
-//***********************************************************
-// Base echoIntegerArray
-
-$soap_tests['base'][] = new SOAP_Test('echoIntegerArray', array('inputIntegerArray' => array(1,234324324,2)));
-$soap_tests['base'][] = new SOAP_Test('echoIntegerArray',
- array('inputIntegerArray' =>
- soap_value('inputIntegerArray',
- array(new SoapVar(12345,XSD_INT),new SoapVar(654321,XSD_INT)),
- SOAP_ENC_ARRAY,"ArrayOfint","http://soapinterop.org/xsd")));
-
-//***********************************************************
-// Base echoFloat
-
-$soap_tests['base'][] = new SOAP_Test('echoFloat', array('inputFloat' => 342.23));
-$soap_tests['base'][] = new SOAP_Test('echoFloat', array('inputFloat' => soap_value('inputFloat',123.45,XSD_FLOAT)));
-
-//***********************************************************
-// Base echoFloatArray
-
-$soap_tests['base'][] = new SOAP_Test('echoFloatArray', array('inputFloatArray' => array(1.3223,34.2,325.325)));
-$soap_tests['base'][] = new SOAP_Test('echoFloatArray',
- array('inputFloatArray' =>
- soap_value('inputFloatArray',
- array(new SoapVar(123.45,XSD_FLOAT),new SoapVar(654.321,XSD_FLOAT)),
- SOAP_ENC_ARRAY,"ArrayOffloat","http://soapinterop.org/xsd")));
-//***********************************************************
-// Base echoStruct
-
-$soapstruct = new SOAPStruct('arg',34,325.325);
-# XXX no way to set a namespace!!!
-$soapsoapstruct = soap_value('inputStruct',$soapstruct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
-$soap_tests['base'][] = new SOAP_Test('echoStruct', array('inputStruct' =>$soapstruct));
-$soap_tests['base'][] = new SOAP_Test('echoStruct', array('inputStruct' =>$soapsoapstruct));
-
-//***********************************************************
-// Base echoStructArray
-
-$soap_tests['base'][] = new SOAP_Test('echoStructArray', array('inputStructArray' => array(
- $soapstruct,$soapstruct,$soapstruct)));
-$soap_tests['base'][] = new SOAP_Test('echoStructArray', array('inputStructArray' =>
- soap_value('inputStructArray',array(
- new SoapVar($soapstruct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- new SoapVar($soapstruct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- new SoapVar($soapstruct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd")),
- SOAP_ENC_ARRAY,"ArrayOfSOAPStruct","http://soapinterop.org/xsd")));
-
-
-//***********************************************************
-// Base echoVoid
-
-$soap_tests['base'][] = new SOAP_Test('echoVoid', NULL);
-$test = new SOAP_Test('echoVoid', NULL);
-$test->type = 'soapval';
-$soap_tests['base'][] = $test;
-
-//***********************************************************
-// Base echoBase64
-
-$soap_tests['base'][] = new SOAP_Test('echoBase64', array('inputBase64' => 'TmVicmFza2E='));
-$soap_tests['base'][] = new SOAP_Test('echoBase64', array('inputBase64' =>
- soap_value('inputBase64','TmVicmFza2E=',XSD_BASE64BINARY)));
-
-//***********************************************************
-// Base echoHexBinary
-
-$soap_tests['base'][] = new SOAP_Test('echoHexBinary', array('inputHexBinary' => '736F61707834'),'736F61707834','hex_compare');
-$soap_tests['base'][] = new SOAP_Test('echoHexBinary', array('inputHexBinary' =>
- soap_value('inputHexBinary','736F61707834',XSD_HEXBINARY)),'736F61707834','hex_compare');
-
-//***********************************************************
-// Base echoDecimal
-
-# XXX test fails because php-soap incorrectly sets decimal to long rather than float
-$soap_tests['base'][] = new SOAP_Test('echoDecimal', array('inputDecimal' => '12345.67890'));
-$soap_tests['base'][] = new SOAP_Test('echoDecimal', array('inputDecimal' =>
- soap_value('inputDecimal','12345.67890',XSD_DECIMAL)));
-
-//***********************************************************
-// Base echoDate
-
-# php-soap doesn't handle datetime types properly yet
-$soap_tests['base'][] = new SOAP_Test('echoDate', array('inputDate' => '2001-05-24T17:31:41Z'), null, 'date_compare');
-$soap_tests['base'][] = new SOAP_Test('echoDate', array('inputDate' =>
- soap_value('inputDate','2001-05-24T17:31:41Z',XSD_DATETIME)), null, 'date_compare');
-
-//***********************************************************
-// Base echoBoolean
-
-# php-soap sends boolean as zero or one, which is ok, but to be explicit, send true or false.
-$soap_tests['base'][] = new SOAP_Test('echoBoolean(true)', array('inputBoolean' => TRUE));
-$soap_tests['base'][] = new SOAP_Test('echoBoolean(true)', array('inputBoolean' =>
- soap_value('inputBoolean',TRUE,XSD_BOOLEAN)));
-$soap_tests['base'][] = new SOAP_Test('echoBoolean(false)', array('inputBoolean' => FALSE));
-$soap_tests['base'][] = new SOAP_Test('echoBoolean(false)', array('inputBoolean' =>
- soap_value('inputBoolean',FALSE,XSD_BOOLEAN)));
-$soap_tests['base'][] = new SOAP_Test('echoBoolean(1)', array('inputBoolean' => 1),true);
-$soap_tests['base'][] = new SOAP_Test('echoBoolean(1)', array('inputBoolean' =>
- soap_value('inputBoolean',1,XSD_BOOLEAN)),true);
-$soap_tests['base'][] = new SOAP_Test('echoBoolean(0)', array('inputBoolean' => 0),false);
-$soap_tests['base'][] = new SOAP_Test('echoBoolean(0)', array('inputBoolean' =>
- soap_value('inputBoolean',0,XSD_BOOLEAN)),false);
-
-
-
-//***********************************************************
-// GROUP B
-
-
-//***********************************************************
-// GroupB echoStructAsSimpleTypes
-
-$expect = array(
- 'outputString'=>'arg',
- 'outputInteger'=>34,
- 'outputFloat'=>325.325
- );
-$soap_tests['GroupB'][] = new SOAP_Test('echoStructAsSimpleTypes',
- array('inputStruct' => (object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325
- )), $expect);
-$soap_tests['GroupB'][] = new SOAP_Test('echoStructAsSimpleTypes',
- array('inputStruct' =>
- soap_value('inputStruct',
- (object)array('varString' => 'arg',
- 'varInt' => 34,
- 'varFloat' => 325.325
- ), SOAP_ENC_OBJECT, "SOAPStruct","http://soapinterop.org/xsd")), $expect);
-
-//***********************************************************
-// GroupB echoSimpleTypesAsStruct
-
-$expect =
- (object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325
- );
-$soap_tests['GroupB'][] = new SOAP_Test('echoSimpleTypesAsStruct',
- array(
- 'inputString'=>'arg',
- 'inputInteger'=>34,
- 'inputFloat'=>325.325
- ), $expect);
-$soap_tests['GroupB'][] = new SOAP_Test('echoSimpleTypesAsStruct',
- array(
- soap_value('inputString','arg', XSD_STRING),
- soap_value('inputInteger',34, XSD_INT),
- soap_value('inputFloat',325.325, XSD_FLOAT)
- ), $expect);
-
-//***********************************************************
-// GroupB echo2DStringArray
-
-$soap_tests['GroupB'][] = new SOAP_Test('echo2DStringArray',
- array('input2DStringArray' => make_2d(3,3)));
-
-$multidimarray =
- soap_value('input2DStringArray',
- array(
- array('row0col0', 'row0col1', 'row0col2'),
- array('row1col0', 'row1col1', 'row1col2')
- ), SOAP_ENC_ARRAY
- );
-//$multidimarray->options['flatten'] = TRUE;
-$soap_tests['GroupB'][] = new SOAP_Test('echo2DStringArray',
- array('input2DStringArray' => $multidimarray));
-
-//***********************************************************
-// GroupB echoNestedStruct
-
-$strstr = (object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325,
- 'varStruct' => (object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325
- ));
-$soap_tests['GroupB'][] = new SOAP_Test('echoNestedStruct',
- array('inputStruct' => $strstr));
-$soap_tests['GroupB'][] = new SOAP_Test('echoNestedStruct',
- array('inputStruct' =>
- soap_value('inputStruct',
- (object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325,
- 'varStruct' => new SoapVar((object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325
- ), SOAP_ENC_OBJECT, "SOAPStruct","http://soapinterop.org/xsd")
- ), SOAP_ENC_OBJECT, "SOAPStructStruct","http://soapinterop.org/xsd"
- )),$strstr);
-
-//***********************************************************
-// GroupB echoNestedArray
-
-$arrstr = (object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325,
- 'varArray' => array('red','blue','green')
- );
-$soap_tests['GroupB'][] = new SOAP_Test('echoNestedArray',
- array('inputStruct' => $arrstr));
-$soap_tests['GroupB'][] = new SOAP_Test('echoNestedArray',
- array('inputStruct' =>
- soap_value('inputStruct',
- (object)array('varString' => 'arg',
- 'varInt' => 34,
- 'varFloat' => 325.325,
- 'varArray' =>
- new SoapVar(array("red", "blue", "green"), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd")
- ), SOAP_ENC_OBJECT, "SOAPArrayStruct","http://soapinterop.org/xsd"
- )),$arrstr);
-
-
-//***********************************************************
-// GROUP C header tests
-
-//***********************************************************
-// echoMeStringRequest
-
-// echoMeStringRequest with endpoint as header destination, doesn't have to understand
-$test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=0 actor=next)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', 'hello world', 0, SOAP_ACTOR_NEXT);
-$test->headers_expect = array('echoMeStringResponse'=>'hello world');
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=0 actor=next)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', new SoapVar('hello world',XSD_STRING), 0, SOAP_ACTOR_NEXT);
-$test->headers_expect = array('echoMeStringResponse'=>'hello world');
-$soap_tests['GroupC'][] = $test;
-
-// echoMeStringRequest with endpoint as header destination, must understand
-$test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=1 actor=next)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', 'hello world', 1, SOAP_ACTOR_NEXT);
-$test->headers_expect = array('echoMeStringResponse'=>'hello world');
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=1 actor=next)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', new SoapVar('hello world',XSD_STRING), 1, SOAP_ACTOR_NEXT);
-$test->headers_expect = array('echoMeStringResponse'=>'hello world');
-$soap_tests['GroupC'][] = $test;
-
-// echoMeStringRequest with endpoint NOT header destination, doesn't have to understand
-$test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=0 actor=other)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', 'hello world', 0, SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=0 actor=other)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', new SoapVar('hello world',XSD_STRING), 0, SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-// echoMeStringRequest with endpoint NOT header destination, must understand
-$test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=1 actor=other)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', 'hello world', 1, SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=1 actor=other)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', new SoapVar('hello world', XSD_STRING), 1, SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-// echoMeStringRequest with endpoint header destination, must understand,
-// invalid namespace, should recieve a fault
-$test = new SOAP_Test('echoVoid(echoMeStringRequest invalid namespace)', NULL);
-$test->headers[] = new SoapHeader('http://unknown.org/echoheader/','echoMeStringRequest', 'hello world', 1, SOAP_ACTOR_NEXT);
-$test->headers_expect = array();
-$test->expect_fault = TRUE;
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStringRequest invalid namespace)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://unknown.org/echoheader/','echoMeStringRequest', new SoapVar('hello world', XSD_STRING), 1, SOAP_ACTOR_NEXT);
-$test->headers_expect = array();
-$test->expect_fault = TRUE;
-$soap_tests['GroupC'][] = $test;
-
-//***********************************************************
-// echoMeStructRequest
-
-// echoMeStructRequest with endpoint as header destination, doesn't have to understand
-$test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=0 actor=next)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SOAPStruct('arg',34,325.325), 0, SOAP_ACTOR_NEXT);
-$test->headers_expect =
- array('echoMeStructResponse'=> (object)array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325));
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=0 actor=next)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SoapVar(new SOAPStruct('arg',34,325.325),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- 0, SOAP_ACTOR_NEXT);
-$test->headers_expect =
- array('echoMeStructResponse'=> (object)array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325));
-$soap_tests['GroupC'][] = $test;
-
-// echoMeStructRequest with endpoint as header destination, must understand
-$test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=1 actor=next)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SOAPStruct('arg',34,325.325), 1, SOAP_ACTOR_NEXT);
-$test->headers_expect =
- array('echoMeStructResponse'=> (object)array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325));
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=1 actor=next)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SoapVar(new SOAPStruct('arg',34,325.325),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- 1, SOAP_ACTOR_NEXT);
-$test->headers_expect =
- array('echoMeStructResponse'=> (object)array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325));
-$soap_tests['GroupC'][] = $test;
-
-// echoMeStructRequest with endpoint NOT header destination, doesn't have to understand
-$test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=0 actor=other)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SOAPStruct('arg',34,325.325), 0, SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=0 actor=other)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SoapVar(new SOAPStruct('arg',34,325.325),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- 0, SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-// echoMeStructRequest with endpoint NOT header destination, must understand
-$test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=1 actor=other)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SOAPStruct('arg',34,325.325), 1, SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=1 actor=other)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SoapVar(new SOAPStruct('arg',34,325.325),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- 1, SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-//***********************************************************
-// echoMeUnknown
-
-// echoMeUnknown with endpoint as header destination, doesn't have to understand
-$test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=0 actor=next)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', 'nobody understands me!',0,SOAP_ACTOR_NEXT);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=0 actor=next)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', new SoapVar('nobody understands me!',XSD_STRING),0,SOAP_ACTOR_NEXT);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-// echoMeUnknown with endpoint as header destination, must understand
-$test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=1 actor=next)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', 'nobody understands me!',1,SOAP_ACTOR_NEXT);
-$test->headers_expect = array();
-$test->expect_fault = TRUE;
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=1 actor=next)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', new SoapVar('nobody understands me!',XSD_STRING),1,SOAP_ACTOR_NEXT);
-$test->headers_expect = array();
-$test->expect_fault = TRUE;
-$soap_tests['GroupC'][] = $test;
-
-// echoMeUnknown with endpoint NOT header destination, doesn't have to understand
-$test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=0 actor=other)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', 'nobody understands me!',0,SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=0 actor=other)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', new SoapVar('nobody understands me!',XSD_STRING),0,SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-// echoMeUnknown with endpoint NOT header destination, must understand
-$test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=1 actor=other)', NULL);
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', 'nobody understands me!',1,SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-
-$test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=1 actor=other)', NULL);
-$test->type = 'soapval';
-$test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', new SoapVar('nobody understands me!',XSD_STRING),1,SOAP_TEST_ACTOR_OTHER);
-$test->headers_expect = array();
-$soap_tests['GroupC'][] = $test;
-?>
diff --git a/ext/soap/interop/client_round2_results.php b/ext/soap/interop/client_round2_results.php
deleted file mode 100644
index 52e89c3ded..0000000000
--- a/ext/soap/interop/client_round2_results.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-// NOTE: do not run this directly under a web server, as it will take a very long
-// time to execute. Run from a command line or something, and redirect output
-// to an html file.
-//
-// +----------------------------------------------------------------------+
-// | PHP Version 4 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.02 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Authors: Shane Caraveo <Shane@Caraveo.com> |
-// +----------------------------------------------------------------------+
-//
-// $Id$
-//
-require_once 'client_round2_interop.php';
-?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-<style>
-TD { background-color: Red; }
-TD.BLANK { background-color: White; }
-TD.OK { background-color: Lime; }
-TD.RESULT { background-color: Green; }
-TD.untested { background-color: White; }
-TD.CONNECT { background-color: Yellow; }
-TD.TRANSPORT { background-color: Yellow; }
-TD.WSDL { background-color: Yellow; }
-TD.WSDLCACHE { background-color: Yellow; }
-TD.WSDLPARSER { background-color: Yellow; }
-TD.HTTP { background-color: Yellow; }
-TD.SMTP { background-color: Yellow; }
-</style>
- <title>PHP SOAP Client Interop Test Results</title>
-</head>
-
-<body bgcolor="White" text="Black">
-<h2 align="center">PHP SOAP Client Interop Test Results: Round2</h2>
-
-<a href="index.php">Back to Interop Index</a><br>
-<p>&nbsp;</p>
-
-<?php
-$iop = new Interop_Client();
-
-if ($_GET['detail'] == 1) $iop->showFaults = 1;
-
-if ($_GET['wire']) {
- $iop->showWire($_GET['wire']);
-} else {
- $iop->getEndpoints();
- $iop->getResults();
-
- if ($_GET['test']) {
- $iop->currentTest = $_GET['test'];
- $iop->useWSDL = $_GET['wsdl']?$_GET['wsdl']:0;
- $iop->paramType = $_GET['type']?$_GET['type']:'php';
- $iop->outputTable();
- } else {
- $iop->outputTables();
- }
-}
-?>
-</body>
-</html>
diff --git a/ext/soap/interop/client_round2_run.php b/ext/soap/interop/client_round2_run.php
deleted file mode 100644
index 1a1f9a8ea4..0000000000
--- a/ext/soap/interop/client_round2_run.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-// +----------------------------------------------------------------------+
-// | PHP Version 4 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.02 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Authors: Shane Caraveo <Shane@Caraveo.com> |
-// +----------------------------------------------------------------------+
-//
-// $Id$
-//
-
-set_time_limit(0);
-require_once 'client_round2_interop.php';
-
-$iop = new Interop_Client();
-$iop->html = 0;
-
-// force a fetch of endpoints, this happens irregardless if no endpoints in database
-$iop->fetchEndpoints();
-
-// set some options
-$iop->currentTest = 'GroupC'; // see $tests above
-$iop->paramType = 'php'; // 'php' or 'soapval'
-$iop->useWSDL = 1; // 1= do wsdl tests
-$iop->numServers = 0; // 0 = all
-//$iop->specificEndpoint = 'PHP ext/soap'; // test only this endpoint
-//$iop->testMethod = 'echoString'; // test only this method
-
-// endpoints to skip
-//$iop->skipEndpointList = array('Apache Axis','IONA XMLBus','IONA XMLBus (CORBA)','MS SOAP ToolKit 2.0','MS SOAP ToolKit 3.0','Spheon JSOAP','SQLData SOAP Server','WASP Advanced 3.0');
-$iop->startAt='';
-$iop->nosave = 0; // 1= disable saving results to database
-// debug output
-$iop->show = 1;
-$iop->debug = 0;
-$iop->showFaults = 0; // used in result table output
-
-$iop->doTest(); // run a single set of tests using above options
-#$iop->doGroupTests(); // run a group of tests set in $currentTest
-#$iop->doTests(); // run all tests, ignore above options
-#$iop->outputTables();
-echo "done\n";
-
-?>
diff --git a/ext/soap/interop/config.php.dist b/ext/soap/interop/config.php.dist
deleted file mode 100644
index afdeaf9f6c..0000000000
--- a/ext/soap/interop/config.php.dist
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-// configuration items
-$interopConfig['DSN'] = 'mysql://root@localhost/soapinterop';
-$interopConfig['baseURL'] = 'http://localhost/soap/interop';
-?> \ No newline at end of file
diff --git a/ext/soap/interop/database_round2.sql b/ext/soap/interop/database_round2.sql
deleted file mode 100644
index 6834b0eeae..0000000000
--- a/ext/soap/interop/database_round2.sql
+++ /dev/null
@@ -1,44 +0,0 @@
-# phpMyAdmin MySQL-Dump
-# version 2.2.5
-# http://phpwizard.net/phpMyAdmin/
-# http://phpmyadmin.sourceforge.net/ (download page)
-#
-# Host: localhost
-# Generation Time: Apr 08, 2002 at 08:32 PM
-# Server version: 3.23.49
-# PHP Version: 4.1.1
-# Database : `interop`
-# --------------------------------------------------------
-
-#
-# Table structure for table `endpoints`
-#
-
-CREATE TABLE endpoints (
- id int(11) NOT NULL auto_increment,
- endpointName varchar(50) NOT NULL default '',
- endpointURL varchar(255) NOT NULL default '',
- wsdlURL varchar(255) NOT NULL default '',
- class varchar(20) NOT NULL default '',
- status int(11) NOT NULL default '1',
- PRIMARY KEY (id)
-) TYPE=MyISAM;
-# --------------------------------------------------------
-
-#
-# Table structure for table `results`
-#
-
-CREATE TABLE results (
- id int(11) NOT NULL auto_increment,
- endpoint int(11) NOT NULL default '0',
- stamp int(11) NOT NULL default '0',
- class varchar(10) NOT NULL default '',
- type varchar(10) default NULL,
- wsdl int(11) NOT NULL default '0',
- function varchar(255) NOT NULL default '',
- result varchar(25) NOT NULL default '',
- error text,
- wire text NOT NULL,
- PRIMARY KEY (id)
-) TYPE=MyISAM;
diff --git a/ext/soap/interop/echoheadersvc.wsdl.php b/ext/soap/interop/echoheadersvc.wsdl.php
deleted file mode 100644
index e7070242a3..0000000000
--- a/ext/soap/interop/echoheadersvc.wsdl.php
+++ /dev/null
@@ -1,398 +0,0 @@
-<?php
-header("Content-Type: text/xml");
-echo '<?xml version="1.0"?>';
-echo "\n";
-?>
-<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>
- </schema>
- </types>
-
- <message name="echoHeaderString_Request">
- <part name="echoMeStringRequest" type="xsd:string"/>
- </message>
- <message name="echoHeaderString_Response">
- <part name="echoMeStringResponse" type="xsd:string"/>
- </message>
- <message name="echoHeaderStruct_Request">
- <part name="echoMeStructRequest" type="s:SOAPStruct"/>
- </message>
- <message name="echoHeaderStruct_Response">
- <part name="echoMeStructResponse" type="s:SOAPStruct"/>
- </message>
- <message name="echoStringRequest">
- <part name="inputString" type="xsd:string"/>
- </message>
- <message name="echoStringResponse">
- <part name="return" type="xsd:string"/>
- </message>
- <message name="echoStringArrayRequest">
- <part name="inputStringArray" type="s:ArrayOfstring"/>
- </message>
- <message name="echoStringArrayResponse">
- <part name="return" type="s:ArrayOfstring"/>
- </message>
- <message name="echoIntegerRequest">
- <part name="inputInteger" type="xsd:int"/>
- </message>
- <message name="echoIntegerResponse">
- <part name="return" type="xsd:int"/>
- </message>
- <message name="echoIntegerArrayRequest">
- <part name="inputIntegerArray" type="s:ArrayOfint"/>
- </message>
- <message name="echoIntegerArrayResponse">
- <part name="return" type="s:ArrayOfint"/>
- </message>
- <message name="echoFloatRequest">
- <part name="inputFloat" type="xsd:float"/>
- </message>
- <message name="echoFloatResponse">
- <part name="return" type="xsd:float"/>
- </message>
- <message name="echoFloatArrayRequest">
- <part name="inputFloatArray" type="s:ArrayOffloat"/>
- </message>
- <message name="echoFloatArrayResponse">
- <part name="return" type="s:ArrayOffloat"/>
- </message>
- <message name="echoStructRequest">
- <part name="inputStruct" type="s:SOAPStruct"/>
- </message>
- <message name="echoStructResponse">
- <part name="return" type="s:SOAPStruct"/>
- </message>
- <message name="echoStructArrayRequest">
- <part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
- </message>
- <message name="echoStructArrayResponse">
- <part name="return" type="s:ArrayOfSOAPStruct"/>
- </message>
- <message name="echoVoidRequest"/>
- <message name="echoVoidResponse"/>
- <message name="echoBase64Request">
- <part name="inputBase64" type="xsd:base64Binary"/>
- </message>
- <message name="echoBase64Response">
- <part name="return" type="xsd:base64Binary"/>
- </message>
- <message name="echoDateRequest">
- <part name="inputDate" type="xsd:dateTime"/>
- </message>
- <message name="echoDateResponse">
- <part name="return" type="xsd:dateTime"/>
- </message>
- <message name="echoHexBinaryRequest">
- <part name="inputHexBinary" type="xsd:hexBinary"/>
- </message>
- <message name="echoHexBinaryResponse">
- <part name="return" type="xsd:hexBinary"/>
- </message>
- <message name="echoDecimalRequest">
- <part name="inputDecimal" type="xsd:decimal"/>
- </message>
- <message name="echoDecimalResponse">
- <part name="return" type="xsd:decimal"/>
- </message>
- <message name="echoBooleanRequest">
- <part name="inputBoolean" type="xsd:boolean"/>
- </message>
- <message name="echoBooleanResponse">
- <part name="return" type="xsd:boolean"/>
- </message>
-
- <portType name="InteropTestPortType">
- <operation name="echoString" parameterOrder="inputString">
- <input message="tns:echoStringRequest"/>
- <output message="tns:echoStringResponse"/>
- </operation>
- <operation name="echoStringArray" parameterOrder="inputStringArray">
- <input message="tns:echoStringArrayRequest"/>
- <output message="tns:echoStringArrayResponse"/>
- </operation>
- <operation name="echoInteger" parameterOrder="inputInteger">
- <input message="tns:echoIntegerRequest"/>
- <output message="tns:echoIntegerResponse"/>
- </operation>
- <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
- <input message="tns:echoIntegerArrayRequest"/>
- <output message="tns:echoIntegerArrayResponse"/>
- </operation>
- <operation name="echoFloat" parameterOrder="inputFloat">
- <input message="tns:echoFloatRequest"/>
- <output message="tns:echoFloatResponse"/>
- </operation>
- <operation name="echoFloatArray" parameterOrder="inputFloatArray">
- <input message="tns:echoFloatArrayRequest"/>
- <output message="tns:echoFloatArrayResponse"/>
- </operation>
- <operation name="echoStruct" parameterOrder="inputStruct">
- <input message="tns:echoStructRequest"/>
- <output message="tns:echoStructResponse"/>
- </operation>
- <operation name="echoStructArray" parameterOrder="inputStructArray">
- <input message="tns:echoStructArrayRequest"/>
- <output message="tns:echoStructArrayResponse"/>
- </operation>
- <operation name="echoVoid">
- <input message="tns:echoVoidRequest"/>
- <output message="tns:echoVoidResponse"/>
- </operation>
- <operation name="echoBase64" parameterOrder="inputBase64">
- <input message="tns:echoBase64Request"/>
- <output message="tns:echoBase64Response"/>
- </operation>
- <operation name="echoDate" parameterOrder="inputDate">
- <input message="tns:echoDateRequest"/>
- <output message="tns:echoDateResponse"/>
- </operation>
- <operation name="echoHexBinary" parameterOrder="inputHexBinary">
- <input message="tns:echoHexBinaryRequest"/>
- <output message="tns:echoHexBinaryResponse"/>
- </operation>
- <operation name="echoDecimal" parameterOrder="inputDecimal">
- <input message="tns:echoDecimalRequest"/>
- <output message="tns:echoDecimalResponse"/>
- </operation>
- <operation name="echoBoolean" parameterOrder="inputBoolean">
- <input message="tns:echoBooleanRequest"/>
- <output message="tns:echoBooleanResponse"/>
- </operation>
- </portType>
-
- <binding name="InteropEchoHeaderBinding" type="tns:InteropTestPortType">
- <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.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoStringArray">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoInteger">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoIntegerArray">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoFloat">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoFloatArray">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoStruct">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" 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.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoVoid">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoBase64">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoDate">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoHexBinary">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoDecimal">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="echoBoolean">
- <soap:operation soapAction="http://soapinterop.org/"/>
- <input>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- <soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
-
- </binding>
-
- <service name="interopLabEchoHeader">
-
- <port name="interopPortEchoHdr" binding="tns:InteropEchoHeaderBinding">
- <soap:address location="<?php echo ((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));?>/server_round2_groupC.php"/>
- </port>
-
- </service>
-</definitions>
diff --git a/ext/soap/interop/index.php b/ext/soap/interop/index.php
deleted file mode 100644
index 1ae25d92f0..0000000000
--- a/ext/soap/interop/index.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <title>PHP SOAP Interop</title>
-</head>
-<?php
-// get our endpoint
-$server = $_SERVER['HTTP_HOST'].':'.$_SERVER['SERVER_PORT'];
-$base = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/interop.wsdl.php";
-$groupb = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php";
-$groupc = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/echoheadersvc.wsdl.php";
-?>
-<body>
-
-<h2 align='center'>PHP SOAP Interop</h2>
-<p>Welcome to the PHP SOAP Interop pages. These pages are set up for
-SOAP Builder interop tests. You can find out more about the interop tests
-at <a href="http://www.whitemesa.com/interop.htm">White Mesa</a>.</p>
-<p>Currently Round 2 base, Group B and Group C interop tests are enabled.</p>
-
-<h3>Round 2 Interop Server</h3>
-Base WSDL: <a href="<?php echo $base ?>"><?php echo $base ?></a><br>
-Group B WSDL: <a href="<?php echo $groupb ?>"><?php echo $groupb ?></a><br>
-Group C WSDL: <a href="<?php echo $groupc ?>"><?php echo $groupc ?></a><br>
-
-<h3>Interop Client</h3>
-
-<p>Notes: Tests are done both "Direct" and with "WSDL". WSDL tests use the supplied interop WSDL
-to run the tests against. The Direct method uses an internal prebuilt list of methods and parameters
-for the test.</p>
-<p>Tests are also run against two methods of generating method parameters. The first, 'php', attempts
-to directly serialize PHP variables into soap values. The second method, 'soapval', uses a SoapParam and SoapVar
-classes to define what the type of the value is.</p>
-
-<h3>Client Test Interface</h3>
-<p>The <a href="client_round2.php">client interface</a> allows you to run the PHP SOAP
-Client against a choosen interop server. Each run updates the results database below.</p>
-
-<h3>Interop Client Test Results</h3>
-<p>This is a database of the current test results using PHP SOAP Clients against interop servers.</p>
-<p>More detail (wire) about errors (marked yellow or red) can be obtained by clicking on the
-link in the result box. If we have an HTTP error
-attempting to connect to the endpoint, we will mark all consecutive attempts as errors, and skip
-testing that endpoint. This reduces the time it takes to run the tests if a server is unavailable.</p>
-<ul>
-<li><a href="client_round2_results.php?test=base&type=php&wsdl=0">Base results using PHP native types</a></li>
-<li><a href="client_round2_results.php?test=base&type=soapval&wsdl=0">Base results using SOAP types</a></li>
-<li><a href="client_round2_results.php?test=base&type=php&wsdl=1">Base results using PHP native types with WSDL</a></li>
-<li><a href="client_round2_results.php?test=GroupB&type=php&wsdl=0">Group B results using PHP native types</a></li>
-<li><a href="client_round2_results.php?test=GroupB&type=soapval&wsdl=0">Group B results using SOAP types</a></li>
-<li><a href="client_round2_results.php?test=GroupB&type=php&wsdl=1">Group B results using PHP native types with WSDL</a></li>
-<li><a href="client_round2_results.php?test=GroupC&type=php&wsdl=0">Group C results using PHP native types</a></li>
-<li><a href="client_round2_results.php?test=GroupC&type=soapval&wsdl=0">Group C results using SOAP types</a></li>
-<li><a href="client_round2_results.php?test=GroupC&type=php&wsdl=1">Group C results using PHP native types with WSDL</a></li>
-<li><a href="client_round2_results.php">Show All Results</a></li>
-</ul>
-</body>
-</html>
diff --git a/ext/soap/interop/interop.wsdl.php b/ext/soap/interop/interop.wsdl.php
deleted file mode 100644
index 6ed2d17d66..0000000000
--- a/ext/soap/interop/interop.wsdl.php
+++ /dev/null
@@ -1,336 +0,0 @@
-<?php
-header("Content-Type: text/xml");
-echo '<?xml version="1.0"?>';
-echo "\n";
-?>
-<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="<?php echo ((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));?>/server_round2_base.php"/>
- </port>
- </service>
-
-</definitions>
diff --git a/ext/soap/interop/interopB.wsdl.php b/ext/soap/interop/interopB.wsdl.php
deleted file mode 100644
index 3113b1c2fe..0000000000
--- a/ext/soap/interop/interopB.wsdl.php
+++ /dev/null
@@ -1,196 +0,0 @@
-<?php
-header("Content-Type: text/xml");
-echo '<?xml version="1.0"?>';
-echo "\n";
-?>
-<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="<?php echo ((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));?>/server_round2_groupB.php"/>
- </port>
- </service>
-
-</definitions>
diff --git a/ext/soap/interop/server_round2_base.php b/ext/soap/interop/server_round2_base.php
deleted file mode 100644
index 50c98aa139..0000000000
--- a/ext/soap/interop/server_round2_base.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?
-//
-// +----------------------------------------------------------------------+
-// | PHP Version 4 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.02 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Authors: Shane Caraveo <Shane@Caraveo.com> Port to PEAR and more |
-// | Authors: Dietrich Ayala <dietrich@ganx4.com> Original Author |
-// +----------------------------------------------------------------------+
-//
-// $Id$
-//
-
-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;
- }
-
- function echoMimeAttachment($stuff)
- {
- return new SOAP_Attachment('return','application/octet-stream',NULL,$stuff);
- }
-}
-
-$server = new SoapServer((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/interop.wsdl.php");
-$server->setClass("SOAP_Interop_Base");
-$server->handle();
-?> \ No newline at end of file
diff --git a/ext/soap/interop/server_round2_groupB.php b/ext/soap/interop/server_round2_groupB.php
deleted file mode 100644
index a390a4c75a..0000000000
--- a/ext/soap/interop/server_round2_groupB.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?
-//
-// +----------------------------------------------------------------------+
-// | PHP Version 4 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.02 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Authors: Shane Caraveo <Shane@Caraveo.com> Port to PEAR and more |
-// | Authors: Dietrich Ayala <dietrich@ganx4.com> Original Author |
-// +----------------------------------------------------------------------+
-//
-// $Id$
-//
-
-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((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php");
-$server->setClass("SOAP_Interop_GroupB");
-$server->handle();
-?> \ No newline at end of file
diff --git a/ext/soap/interop/server_round2_groupC.php b/ext/soap/interop/server_round2_groupC.php
deleted file mode 100644
index 25241d0429..0000000000
--- a/ext/soap/interop/server_round2_groupC.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?
-//
-// +----------------------------------------------------------------------+
-// | PHP Version 4 |
-// +----------------------------------------------------------------------+
-// | Copyright (c) 1997-2003 The PHP Group |
-// +----------------------------------------------------------------------+
-// | This source file is subject to version 2.02 of the PHP license, |
-// | that is bundled with this package in the file LICENSE, and is |
-// | available at through the world-wide-web at |
-// | http://www.php.net/license/2_02.txt. |
-// | If you did not receive a copy of the PHP license and are unable to |
-// | obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +----------------------------------------------------------------------+
-// | Authors: Shane Caraveo <Shane@Caraveo.com> |
-// +----------------------------------------------------------------------+
-//
-// $Id$
-//
-
-class SOAP_Interop_GroupC {
- var $method_namespace = 'http://soapinterop.org/echoheader/';
-
- function echoMeStringRequest($string)
- {
- return new SoapHeader($this->method_namespace, "echoMeStringResponse", $string);
- }
-
- function echoMeStructRequest($struct)
- {
- return new SoapHeader($this->method_namespace, "echoMeStructResponse", $struct);
- }
-
- function echoVoid()
- {
- }
-}
-
-$server = new SoapServer((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/echoheadersvc.wsdl.php");
-$server->setClass("SOAP_Interop_GroupC");
-$server->handle();
-?> \ No newline at end of file
diff --git a/ext/soap/interop/test.utility.php b/ext/soap/interop/test.utility.php
deleted file mode 100644
index 5b1f699c9b..0000000000
--- a/ext/soap/interop/test.utility.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-function timestamp_to_soap_datetime($t) {
- return date('Y-m-d\TH:i:sO',$t);
-}
-
-function soap_datetime_to_timestamp($t) {
- /* Ignore Microsecconds */
- $iso8601 = '(-?[0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(\.[0-9]*)?(Z|[+\-][0-9]{4}|[+\-][0-9]{2}:[0-9]{2})?';
- if (!is_int($t)) {
- if (!ereg($iso8601,$t,$r)) {
- return false;
- }
- $t = gmmktime($r[4],$r[5],$r[6],$r[2],$r[3],$r[1]);
- if (!empty($r[8]) && $r[8] != 'Z') {
- $op = substr($r[8],0,1);
- $h = substr($r[8],1,2);
- if (strstr($r[8],':')) {
- $m = substr($r[8],4,2);
- } else {
- $m = substr($r[8],3,2);
- }
- $t += (($op == "-"?1:-1) * $h * 60 + $m) * 60;
- }
- }
- return $t;
-}
-
-function date_compare($f1,$f2)
-{
- return soap_datetime_to_timestamp($f1) == soap_datetime_to_timestamp($f2);
-}
-
-function hex_compare($f1, $f2)
-{
- return strcasecmp($f1,$f2) == 0;
-}
-
-function number_compare($f1, $f2)
-{
- # figure out which has the least fractional digits
- preg_match('/.*?\.(.*)/',$f1,$m1);
- preg_match('/.*?\.(.*)/',$f2,$m2);
- #print_r($m1);
- # always use at least 2 digits of precision
- $d = max(min(strlen(count($m1)?$m1[1]:'0'),strlen(count($m2)?$m2[1]:'0')),2);
- $f1 = round($f1, $d);
- $f2 = round($f2, $d);
- return $f1 == $f2;
-// return bccomp($f1, $f2, $d) == 0;
-}
-
-function boolean_compare($f1, $f2)
-{
- if (($f1 == 'true' || $f1 === TRUE || $f1 != 0) &&
- ($f2 == 'true' || $f2 === TRUE || $f2 != 0)) return TRUE;
- if (($f1 == 'false' || $f1 === FALSE || $f1 == 0) &&
- ($f2 == 'false' || $f2 === FALSE || $f2 == 0)) return TRUE;
- return FALSE;
-}
-
-function string_compare($e1, $e2)
-{
- if (is_numeric($e1) && is_numeric($e2)) {
- return number_compare($e1, $e2);
- }
- # handle dateTime comparison
- $e1_type = gettype($e1);
- $e2_type = gettype($e2);
- $ok = FALSE;
- if ($e1_type == "string") {
-// $dt = new SOAP_Type_dateTime();
-// $ok = $dt->compare($e1, $e2) == 0;
- $oj = false;
- }
- return $ok || $e1 == $e2 || strcasecmp(trim($e1), trim($e2)) == 0;
-}
-
-function array_compare(&$ar1, &$ar2) {
- if (gettype($ar1) != 'array' || gettype($ar2) != 'array') return FALSE;
- if (count($ar1) != count($ar2)) return FALSE;
- foreach ($ar1 as $k => $v) {
- if (!array_key_exists($k,$ar2)) return FALSE;
- if (!compare($v,$ar2[$k])) return FALSE;
- }
- return TRUE;
-}
-
-function object_compare(&$obj1, &$obj2) {
- if (gettype($obj1) != 'object' || gettype($obj2) != 'object') return FALSE;
-// if (class_name(obj1) != class_name(obj2)) return FALSE;
- $ar1 = (array)$obj1;
- $ar2 = (array)$obj2;
- return array_compare($ar1,$ar2);
-}
-
-function compare(&$x,&$y) {
- $ok = 0;
- $x_type = gettype($x);
- $y_type = gettype($y);
- if ($x_type == $y_type) {
- if ($x_type == "array") {
- $ok = array_compare($x, $y);
- } else if ($x_type == "object") {
- $ok = object_compare($x, $y);
- } else if ($x_type == "double") {
- $ok = number_compare($x, $y);
-// } else if ($x_type == 'boolean') {
-// $ok = boolean_compare($x, $y);
- } else {
- $ok = ($x == $y);
-// $ok = string_compare($expect, $result);
- }
- }
- return $ok;
-}
-
-
-function parseMessage($msg)
-{
- # strip line endings
- #$msg = preg_replace('/\r|\n/', ' ', $msg);
- $response = new SOAP_Parser($msg);
- if ($response->fault) {
- return $response->fault->getFault();
- }
- $return = $response->getResponse();
- $v = $response->decode($return);
- if (gettype($v) == 'array' && count($v)==1) {
- return array_shift($v);
- }
- return $v;
-}
-
-function var_dump_str($var) {
- ob_start();
- var_dump($var);
- $res = ob_get_contents();
- ob_end_clean();
- return $res;
-}
-
-?> \ No newline at end of file
diff --git a/ext/soap/package.xml b/ext/soap/package.xml
deleted file mode 100644
index e43fd36024..0000000000
--- a/ext/soap/package.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!-- do not use the "Type" attribute here, that one is only for
- generated package.xml files -->
-<package>
- <name>ext_soap</name>
- <summary>Provides SOAP Services</summary>
- <description>
- Description of package....
- </description>
- <status>beta</status>
- <maintainers>
- <maintainer>
- <user>rodif_bl</user>
- <name>Brad Lafountain</name>
- <email>rodif_bl@yahoo.com</email>
- <role>lead</role>
- </maintainer>
- <maintainer>
- <user>shane</user>
- <name>Shane Caraveo</name>
- <email>shane@caraveo.com</email>
- <role>lead</role>
- </maintainer>
- <maintainer>
- <user>dmitry</user>
- <name>Dmitry Stogov</name>
- <email>dmitry@zend.com</email>
- <role>lead</role>
- </maintainer>
- </maintainers>
- <license>PHP</license>
- <release>
- <version>0.1</version>
- <date>2002-07-07</date>
- <state>alpha</state>
- <notes>
- - First offical PEAR/PECL release
- </notes>
- </release>
- <filelist>
- <dir name="/">
- <file role="doc">CREDITS</file>
- <file role="doc">EXPERIMENTAL</file>
- <file role="doc">TODO</file>
- <file role="src">config.m4</file>
- <file role="src">php_encoding.c</file>
- <file role="src">php_encoding.h</file>
- <file role="src">php_http.c</file>
- <file role="src">php_http.h</file>
- <file role="src">php_packet_soap.c</file>
- <file role="src">php_packet_soap.h</file>
- <file role="src">php_schema.c</file>
- <file role="src">php_schema.h</file>
- <file role="src">php_sdl.c</file>
- <file role="src">php_sdl.h</file>
- <file role="src">php_soap.h</file>
- <file role="src">php_soap.h</file>
- <file role="src">php_xml.c</file>
- <file role="src">php_xml.h</file>
- <file role="src">soap.c</file>
- <file role="src">php_soap.dsp</file>
- </dir>
- </filelist>
-</package>
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
deleted file mode 100644
index b53cf98937..0000000000
--- a/ext/soap/php_encoding.c
+++ /dev/null
@@ -1,3201 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#include <time.h>
-
-#include "php_soap.h"
-#include "ext/libxml/php_libxml.h"
-#include "ext/standard/base64.h"
-#include <libxml/parserInternals.h>
-#include "zend_strtod.h"
-
-/* zval type decode */
-static zval *to_zval_double(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_long(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_bool(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_string(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_stringr(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_stringc(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_map(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_null(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_base64(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_hexbin(encodeTypePtr type, xmlNodePtr data);
-
-static xmlNodePtr to_xml_long(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_double(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_bool(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
-/* String encode */
-static xmlNodePtr to_xml_string(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_base64(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_hexbin(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
-/* Null encode */
-static xmlNodePtr to_xml_null(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
-/* Array encode */
-static xmlNodePtr guess_array_map(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_map(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
-static xmlNodePtr to_xml_list(encodeTypePtr enc, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_list1(encodeTypePtr enc, zval *data, int style, xmlNodePtr parent);
-
-/* Datetime encode/decode */
-static xmlNodePtr to_xml_datetime_ex(encodeTypePtr type, zval *data, char *format, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_datetime(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_time(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_date(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_gyearmonth(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_gyear(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_gmonthday(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_gday(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_gmonth(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_duration(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
-static zval *to_zval_object(encodeTypePtr type, xmlNodePtr data);
-static zval *to_zval_array(encodeTypePtr type, xmlNodePtr data);
-
-static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-static xmlNodePtr to_xml_array(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
-static zval *to_zval_any(encodeTypePtr type, xmlNodePtr data);
-static xmlNodePtr to_xml_any(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
-/* Try and guess for non-wsdl clients and servers */
-static zval *guess_zval_convert(encodeTypePtr type, xmlNodePtr data);
-static xmlNodePtr guess_xml_convert(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
-static int is_map(zval *array);
-static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *out_type TSRMLS_DC);
-
-static xmlNodePtr check_and_resolve_href(xmlNodePtr data);
-
-static void get_type_str(xmlNodePtr node, const char* ns, const char* type, smart_str* ret);
-static void set_ns_and_type_ex(xmlNodePtr node, char *ns, char *type);
-
-static void set_ns_and_type(xmlNodePtr node, encodeTypePtr type);
-
-#define FIND_XML_NULL(xml,zval) \
- { \
- xmlAttrPtr null; \
- if (!xml) { \
- ZVAL_NULL(zval); \
- return zval; \
- } \
- if (xml->properties) { \
- null = get_attribute(xml->properties, "nil"); \
- if (null) { \
- ZVAL_NULL(zval); \
- return zval; \
- } \
- } \
- }
-
-#define FIND_ZVAL_NULL(zval, xml, style) \
-{ \
- if (!zval || Z_TYPE_P(zval) == IS_NULL) { \
- if (style == SOAP_ENCODED) {\
- xmlSetProp(xml, "xsi:nil", "1"); \
- } \
- return xml; \
- } \
-}
-
-encode defaultEncoding[] = {
- {{UNKNOWN_TYPE, NULL, NULL, NULL}, guess_zval_convert, guess_xml_convert},
-
- {{IS_NULL, "nil", XSI_NAMESPACE, NULL}, to_zval_null, to_xml_null},
- {{IS_STRING, XSD_STRING_STRING, XSD_NAMESPACE, NULL}, to_zval_string, to_xml_string},
- {{IS_LONG, XSD_INT_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{IS_DOUBLE, XSD_FLOAT_STRING, XSD_NAMESPACE, NULL}, to_zval_double, to_xml_double},
- {{IS_BOOL, XSD_BOOLEAN_STRING, XSD_NAMESPACE, NULL}, to_zval_bool, to_xml_bool},
- {{IS_CONSTANT, XSD_STRING_STRING, XSD_NAMESPACE, NULL}, to_zval_string, to_xml_string},
- {{IS_ARRAY, SOAP_ENC_ARRAY_STRING, SOAP_1_1_ENC_NAMESPACE, NULL}, to_zval_array, guess_array_map},
- {{IS_CONSTANT_ARRAY, SOAP_ENC_ARRAY_STRING, SOAP_1_1_ENC_NAMESPACE, NULL}, to_zval_array, to_xml_array},
- {{IS_OBJECT, SOAP_ENC_OBJECT_STRING, SOAP_1_1_ENC_NAMESPACE, NULL}, to_zval_object, to_xml_object},
- {{IS_ARRAY, SOAP_ENC_ARRAY_STRING, SOAP_1_2_ENC_NAMESPACE, NULL}, to_zval_array, guess_array_map},
- {{IS_CONSTANT_ARRAY, SOAP_ENC_ARRAY_STRING, SOAP_1_2_ENC_NAMESPACE, NULL}, to_zval_array, to_xml_array},
- {{IS_OBJECT, SOAP_ENC_OBJECT_STRING, SOAP_1_2_ENC_NAMESPACE, NULL}, to_zval_object, to_xml_object},
-
- {{XSD_STRING, XSD_STRING_STRING, XSD_NAMESPACE, NULL}, to_zval_string, to_xml_string},
- {{XSD_BOOLEAN, XSD_BOOLEAN_STRING, XSD_NAMESPACE, NULL}, to_zval_bool, to_xml_bool},
- {{XSD_DECIMAL, XSD_DECIMAL_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_FLOAT, XSD_FLOAT_STRING, XSD_NAMESPACE, NULL}, to_zval_double, to_xml_double},
- {{XSD_DOUBLE, XSD_DOUBLE_STRING, XSD_NAMESPACE, NULL}, to_zval_double, to_xml_double},
-
- {{XSD_DATETIME, XSD_DATETIME_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_datetime},
- {{XSD_TIME, XSD_TIME_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_time},
- {{XSD_DATE, XSD_DATE_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_date},
- {{XSD_GYEARMONTH, XSD_GYEARMONTH_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_gyearmonth},
- {{XSD_GYEAR, XSD_GYEAR_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_gyear},
- {{XSD_GMONTHDAY, XSD_GMONTHDAY_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_gmonthday},
- {{XSD_GDAY, XSD_GDAY_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_gday},
- {{XSD_GMONTH, XSD_GMONTH_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_gmonth},
- {{XSD_DURATION, XSD_DURATION_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_duration},
-
- {{XSD_HEXBINARY, XSD_HEXBINARY_STRING, XSD_NAMESPACE, NULL}, to_zval_hexbin, to_xml_hexbin},
- {{XSD_BASE64BINARY, XSD_BASE64BINARY_STRING, XSD_NAMESPACE, NULL}, to_zval_base64, to_xml_base64},
-
- {{XSD_LONG, XSD_LONG_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_INT, XSD_INT_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_SHORT, XSD_SHORT_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_BYTE, XSD_BYTE_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_NONPOSITIVEINTEGER, XSD_NONPOSITIVEINTEGER_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_POSITIVEINTEGER, XSD_POSITIVEINTEGER_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_NONNEGATIVEINTEGER, XSD_NONNEGATIVEINTEGER_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_NEGATIVEINTEGER, XSD_NEGATIVEINTEGER_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_UNSIGNEDBYTE, XSD_UNSIGNEDBYTE_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_UNSIGNEDSHORT, XSD_UNSIGNEDSHORT_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_UNSIGNEDINT, XSD_UNSIGNEDINT_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_UNSIGNEDLONG, XSD_UNSIGNEDLONG_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_INTEGER, XSD_INTEGER_STRING, XSD_NAMESPACE, NULL}, to_zval_long, to_xml_long},
-
- {{XSD_ANYTYPE, XSD_ANYTYPE_STRING, XSD_NAMESPACE, NULL}, guess_zval_convert, guess_xml_convert},
- {{XSD_UR_TYPE, XSD_UR_TYPE_STRING, XSD_NAMESPACE, NULL}, guess_zval_convert, guess_xml_convert},
- {{XSD_ANYURI, XSD_ANYURI_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_QNAME, XSD_QNAME_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_NOTATION, XSD_NOTATION_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_NORMALIZEDSTRING, XSD_NORMALIZEDSTRING_STRING, XSD_NAMESPACE, NULL}, to_zval_stringr, to_xml_string},
- {{XSD_TOKEN, XSD_TOKEN_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_LANGUAGE, XSD_LANGUAGE_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_NMTOKEN, XSD_NMTOKEN_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_NMTOKENS, XSD_NMTOKENS_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_list1},
- {{XSD_NAME, XSD_NAME_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_NCNAME, XSD_NCNAME_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_ID, XSD_ID_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_IDREF, XSD_IDREF_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_IDREFS, XSD_IDREFS_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_list1},
- {{XSD_ENTITY, XSD_ENTITY_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_ENTITIES, XSD_ENTITIES_STRING, XSD_NAMESPACE, NULL}, to_zval_stringc, to_xml_list1},
-
- {{APACHE_MAP, APACHE_MAP_STRING, APACHE_NAMESPACE, NULL}, to_zval_map, to_xml_map},
-
- {{SOAP_ENC_OBJECT, SOAP_ENC_OBJECT_STRING, SOAP_1_1_ENC_NAMESPACE, NULL}, to_zval_object, to_xml_object},
- {{SOAP_ENC_ARRAY, SOAP_ENC_ARRAY_STRING, SOAP_1_1_ENC_NAMESPACE, NULL}, to_zval_array, to_xml_array},
- {{SOAP_ENC_OBJECT, SOAP_ENC_OBJECT_STRING, SOAP_1_2_ENC_NAMESPACE, NULL}, to_zval_object, to_xml_object},
- {{SOAP_ENC_ARRAY, SOAP_ENC_ARRAY_STRING, SOAP_1_2_ENC_NAMESPACE, NULL}, to_zval_array, to_xml_array},
-
- /* support some of the 1999 data types */
- {{XSD_STRING, XSD_STRING_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_string, to_xml_string},
- {{XSD_BOOLEAN, XSD_BOOLEAN_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_bool, to_xml_bool},
- {{XSD_DECIMAL, XSD_DECIMAL_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
- {{XSD_FLOAT, XSD_FLOAT_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_double, to_xml_double},
- {{XSD_DOUBLE, XSD_DOUBLE_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_double, to_xml_double},
-
- {{XSD_LONG, XSD_LONG_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_INT, XSD_INT_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_SHORT, XSD_SHORT_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_BYTE, XSD_BYTE_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_long, to_xml_long},
- {{XSD_1999_TIMEINSTANT, XSD_1999_TIMEINSTANT_STRING, XSD_1999_NAMESPACE, NULL}, to_zval_stringc, to_xml_string},
-
- {{XSD_ANYXML, "<anyXML>", "<anyXML>", NULL}, to_zval_any, to_xml_any},
-
- {{END_KNOWN_TYPES, NULL, NULL, NULL}, guess_zval_convert, guess_xml_convert}
-};
-
-void whiteSpace_replace(char* str)
-{
- while (*str != '\0') {
- if (*str == '\x9' || *str == '\xA' || *str == '\xD') {
- *str = ' ';
- }
- str++;
- }
-}
-
-void whiteSpace_collapse(char* str)
-{
- char *pos;
- char old;
-
- pos = str;
- whiteSpace_replace(str);
- while (*str == ' ') {
- str++;
- }
- old = '\0';
- while (*str != '\0') {
- if (*str != ' ' || old != ' ') {
- *pos = *str;
- pos++;
- }
- old = *str;
- str++;
- }
- if (old == ' ') {
- --pos;
- }
- *pos = '\0';
-}
-
-xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr node = NULL;
- TSRMLS_FETCH();
-
- /* Special handling of class SoapVar */
- if (data &&
- Z_TYPE_P(data) == IS_OBJECT &&
- Z_OBJCE_P(data) == soap_var_class_entry) {
- zval **ztype, **zdata, **zns, **zstype, **zname, **znamens;
- encodePtr enc = NULL;
- HashTable *ht = Z_OBJPROP_P(data);
-
- if (zend_hash_find(ht, "enc_type", sizeof("enc_type"), (void **)&ztype) == FAILURE) {
- soap_error0(E_ERROR, "Encoding: SoapVar hasn't 'enc_type' propery");
- }
-
- if (SOAP_GLOBAL(sdl)) {
- if (zend_hash_find(ht, "enc_stype", sizeof("enc_stype"), (void **)&zstype) == SUCCESS) {
- if (zend_hash_find(ht, "enc_ns", sizeof("enc_ns"), (void **)&zns) == SUCCESS) {
- enc = get_encoder(SOAP_GLOBAL(sdl), Z_STRVAL_PP(zns), Z_STRVAL_PP(zstype));
- } else {
- enc = get_encoder(SOAP_GLOBAL(sdl), NULL, Z_STRVAL_PP(zstype));
- }
- }
- }
- if (enc == NULL) {
- enc = get_conversion(Z_LVAL_P(*ztype));
- }
- if (enc == NULL) {
- enc = encode;
- }
-
- if (zend_hash_find(ht, "enc_value", sizeof("enc_value"), (void **)&zdata) == FAILURE) {
- node = master_to_xml(enc, NULL, style, parent);
- } else {
- node = master_to_xml(enc, *zdata, style, parent);
- }
-
- if (style == SOAP_ENCODED || (SOAP_GLOBAL(sdl) && encode != enc)) {
- if (zend_hash_find(ht, "enc_stype", sizeof("enc_stype"), (void **)&zstype) == SUCCESS) {
- if (style == SOAP_LITERAL) {
- encode_add_ns(node, XSI_NAMESPACE);
- }
- if (zend_hash_find(ht, "enc_ns", sizeof("enc_ns"), (void **)&zns) == SUCCESS) {
- set_ns_and_type_ex(node, Z_STRVAL_PP(zns), Z_STRVAL_PP(zstype));
- } else {
- set_ns_and_type_ex(node, NULL, Z_STRVAL_PP(zstype));
- }
- }
- }
-
- if (zend_hash_find(ht, "enc_name", sizeof("enc_name"), (void **)&zname) == SUCCESS) {
- xmlNodeSetName(node, Z_STRVAL_PP(zname));
- }
- if (zend_hash_find(ht, "enc_namens", sizeof("enc_namens"), (void **)&znamens) == SUCCESS) {
- xmlNsPtr nsp = encode_add_ns(node, Z_STRVAL_PP(znamens));
- xmlSetNs(node, nsp);
- }
- } else {
- if (encode == NULL) {
- encode = get_conversion(UNKNOWN_TYPE);
- }
- if (encode->to_xml_before) {
- data = encode->to_xml_before(&encode->details, data);
- }
- if (encode->to_xml) {
- node = encode->to_xml(&encode->details, data, style, parent);
- }
- if (encode->to_xml_after) {
- node = encode->to_xml_after(&encode->details, node, style);
- }
- }
- return node;
-}
-
-static zval *master_to_zval_int(encodePtr encode, xmlNodePtr data)
-{
- zval *ret = NULL;
-
- if (encode->to_zval_before) {
- data = encode->to_zval_before(&encode->details, data, 0);
- }
- if (encode->to_zval) {
- ret = encode->to_zval(&encode->details, data);
- }
- if (encode->to_zval_after) {
- ret = encode->to_zval_after(&encode->details, ret);
- }
- return ret;
-}
-
-zval *master_to_zval(encodePtr encode, xmlNodePtr data)
-{
- TSRMLS_FETCH();
- data = check_and_resolve_href(data);
-
- if (encode == NULL) {
- encode = get_conversion(UNKNOWN_TYPE);
- } else {
- /* Use xsi:type if it is defined */
- xmlAttrPtr type_attr = get_attribute_ex(data->properties,"type", XSI_NAMESPACE);
-
- if (type_attr != NULL) {
- encodePtr enc = get_encoder_from_prefix(SOAP_GLOBAL(sdl), data, type_attr->children->content);
-
- if (enc != NULL && enc != encode) {
- encodePtr tmp = enc;
- while (tmp &&
- tmp->details.sdl_type != NULL &&
- tmp->details.sdl_type->kind != XSD_TYPEKIND_COMPLEX) {
- if (enc == tmp->details.sdl_type->encode ||
- tmp == tmp->details.sdl_type->encode) {
- enc = NULL;
- break;
- }
- tmp = tmp->details.sdl_type->encode;
- }
- if (enc != NULL) {
- encode = enc;
- }
- }
- }
- }
- return master_to_zval_int(encode, data);
-}
-
-#ifdef HAVE_PHP_DOMXML
-zval *to_xml_before_user(encodeTypePtr type, zval *data)
-{
- TSRMLS_FETCH();
-
- if (type.map->map_functions.to_xml_before) {
- if (call_user_function(EG(function_table), NULL, type.map->map_functions.to_xml_before, data, 1, &data TSRMLS_CC) == FAILURE) {
- soap_error0(E_ERROR, "Encoding: Error calling to_xml_before");
- }
- }
- return data;
-}
-
-xmlNodePtr to_xml_user(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- zval *ret, **addr;
- xmlNodePtr node;
- TSRMLS_FETCH();
-
- if (type.map->map_functions.to_xml) {
- MAKE_STD_ZVAL(ret);
- if (call_user_function(EG(function_table), NULL, type.map->map_functions.to_xml, ret, 1, &data TSRMLS_CC) == FAILURE) {
- soap_error0(E_ERROR, "Encoding: Error calling to_xml");
- }
-
- if (Z_TYPE_P(ret) != IS_OBJECT) {
- soap_error0(E_ERROR, "Encoding: Error serializing object from to_xml_user");
- }
-
- if (zend_hash_index_find(Z_OBJPROP_P(ret), 1, (void **)&addr) == SUCCESS) {
- node = (xmlNodePtr)Z_LVAL_PP(addr);
- node = xmlCopyNode(node, 1);
- set_ns_and_type(node, type);
- }
- zval_ptr_dtor(&ret);
- }
- return node;
-}
-
-xmlNodePtr to_xml_after_user(encodeTypePtr type, xmlNodePtr node, int style)
-{
- zval *ret, *param, **addr;
- int found;
- TSRMLS_FETCH();
-
- if (type.map->map_functions.to_xml_after) {
- MAKE_STD_ZVAL(ret);
- MAKE_STD_ZVAL(param);
- param = php_domobject_new(node, &found, NULL TSRMLS_CC);
-
- if (call_user_function(EG(function_table), NULL, type.map->map_functions.to_xml_after, ret, 1, &param TSRMLS_CC) == FAILURE) {
- soap_error0(E_ERROR, "Encoding: Error calling to_xml_after");
- }
- if (zend_hash_index_find(Z_OBJPROP_P(ret), 1, (void **)&addr) == SUCCESS) {
- node = (xmlNodePtr)Z_LVAL_PP(addr);
- set_ns_and_type(node, type);
- }
- zval_ptr_dtor(&ret);
- zval_ptr_dtor(&param);
- }
- return node;
-}
-
-xmlNodePtr to_zval_before_user(encodeTypePtr type, xmlNodePtr node, int style)
-{
- zval *ret, *param, **addr;
- int found;
- TSRMLS_FETCH();
-
- if (type.map->map_functions.to_zval_before) {
- MAKE_STD_ZVAL(ret);
- MAKE_STD_ZVAL(param);
- param = php_domobject_new(node, &found, NULL TSRMLS_CC);
-
- if (call_user_function(EG(function_table), NULL, type.map->map_functions.to_zval_before, ret, 1, &param TSRMLS_CC) == FAILURE) {
- soap_error0(E_ERROR, "Encoding: Error calling to_zval_before");
- }
- if (zend_hash_index_find(Z_OBJPROP_P(ret), 1, (void **)&addr) == SUCCESS) {
- node = (xmlNodePtr)Z_LVAL_PP(addr);
- set_ns_and_type(node, type);
- }
- zval_ptr_dtor(&ret);
- zval_ptr_dtor(&param);
- }
- return node;
-}
-
-zval *to_zval_user(encodeTypePtr type, xmlNodePtr node)
-{
- zval *ret, *param;
- int found;
- TSRMLS_FETCH();
-
- if (type.map->map_functions.to_zval) {
- MAKE_STD_ZVAL(ret);
- MAKE_STD_ZVAL(param);
- param = php_domobject_new(node, &found, NULL TSRMLS_CC);
-
- if (call_user_function(EG(function_table), NULL, type.map->map_functions.to_zval, ret, 1, &param TSRMLS_CC) == FAILURE) {
- soap_error0(E_ERROR, "Encoding: Error calling to_zval");
- }
- zval_ptr_dtor(&param);
- efree(param);
- }
- return ret;
-}
-
-zval *to_zval_after_user(encodeTypePtr type, zval *data)
-{
- TSRMLS_FETCH();
-
- if (type.map->map_functions.to_zval_after) {
- if (call_user_function(EG(function_table), NULL, type.map->map_functions.to_zval_after, data, 1, &data TSRMLS_CC) == FAILURE) {
- soap_error0(E_ERROR, "Encoding: Error calling to_zval_after");
- }
- }
- return data;
-}
-#endif
-
-/* TODO: get rid of "bogus".. ither by passing in the already created xmlnode or passing in the node name */
-/* String encode/decode */
-static zval *to_zval_string(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- if (data && data->children) {
- if (data->children->type == XML_TEXT_NODE && data->children->next == NULL) {
- TSRMLS_FETCH();
-
- if (SOAP_GLOBAL(encoding) != NULL) {
- xmlBufferPtr in = xmlBufferCreateStatic(data->children->content, strlen(data->children->content));
- xmlBufferPtr out = xmlBufferCreate();
- int n = xmlCharEncOutFunc(SOAP_GLOBAL(encoding), out, in);
-
- if (n >= 0) {
- ZVAL_STRING(ret, (char*)xmlBufferContent(out), 1);
- } else {
- ZVAL_STRING(ret, data->children->content, 1);
- }
- xmlBufferFree(out);
- xmlBufferFree(in);
- } else {
- ZVAL_STRING(ret, data->children->content, 1);
- }
- } else if (data->children->type == XML_CDATA_SECTION_NODE && data->children->next == NULL) {
- ZVAL_STRING(ret, data->children->content, 1);
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- } else {
- ZVAL_EMPTY_STRING(ret);
- }
- return ret;
-}
-
-static zval *to_zval_stringr(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- if (data && data->children) {
- if (data->children->type == XML_TEXT_NODE && data->children->next == NULL) {
- TSRMLS_FETCH();
-
- whiteSpace_replace(data->children->content);
- if (SOAP_GLOBAL(encoding) != NULL) {
- xmlBufferPtr in = xmlBufferCreateStatic(data->children->content, strlen(data->children->content));
- xmlBufferPtr out = xmlBufferCreate();
- int n = xmlCharEncOutFunc(SOAP_GLOBAL(encoding), out, in);
-
- if (n >= 0) {
- ZVAL_STRING(ret, (char*)xmlBufferContent(out), 1);
- } else {
- ZVAL_STRING(ret, data->children->content, 1);
- }
- xmlBufferFree(out);
- xmlBufferFree(in);
- } else {
- ZVAL_STRING(ret, data->children->content, 1);
- }
- } else if (data->children->type == XML_CDATA_SECTION_NODE && data->children->next == NULL) {
- ZVAL_STRING(ret, data->children->content, 1);
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- } else {
- ZVAL_EMPTY_STRING(ret);
- }
- return ret;
-}
-
-static zval *to_zval_stringc(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- if (data && data->children) {
- if (data->children->type == XML_TEXT_NODE && data->children->next == NULL) {
- TSRMLS_FETCH();
-
- whiteSpace_collapse(data->children->content);
- if (SOAP_GLOBAL(encoding) != NULL) {
- xmlBufferPtr in = xmlBufferCreateStatic(data->children->content, strlen(data->children->content));
- xmlBufferPtr out = xmlBufferCreate();
- int n = xmlCharEncOutFunc(SOAP_GLOBAL(encoding), out, in);
-
- if (n >= 0) {
- ZVAL_STRING(ret, (char*)xmlBufferContent(out), 1);
- } else {
- ZVAL_STRING(ret, data->children->content, 1);
- }
- xmlBufferFree(out);
- xmlBufferFree(in);
- } else {
- ZVAL_STRING(ret, data->children->content, 1);
- }
- } else if (data->children->type == XML_CDATA_SECTION_NODE && data->children->next == NULL) {
- ZVAL_STRING(ret, data->children->content, 1);
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- } else {
- ZVAL_EMPTY_STRING(ret);
- }
- return ret;
-}
-
-static zval *to_zval_base64(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- char *str;
- int str_len;
-
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- if (data && data->children) {
- if (data->children->type == XML_TEXT_NODE && data->children->next == NULL) {
- whiteSpace_collapse((char*)data->children->content);
- str = (char*)php_base64_decode(data->children->content, strlen((char*)data->children->content), &str_len);
- ZVAL_STRINGL(ret, str, str_len, 0);
- } else if (data->children->type == XML_CDATA_SECTION_NODE && data->children->next == NULL) {
- str = (char*)php_base64_decode(data->children->content, strlen((char*)data->children->content), &str_len);
- ZVAL_STRINGL(ret, str, str_len, 0);
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- } else {
- ZVAL_EMPTY_STRING(ret);
- }
- return ret;
-}
-
-static zval *to_zval_hexbin(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- unsigned char *str;
- int str_len, i, j;
- unsigned char c;
-
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- if (data && data->children) {
- if (data->children->type == XML_TEXT_NODE && data->children->next == NULL) {
- whiteSpace_collapse((char*)data->children->content);
- } else if (data->children->type != XML_CDATA_SECTION_NODE || data->children->next != NULL) {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- return ret;
- }
- str_len = strlen((char*)data->children->content) / 2;
- str = emalloc(str_len+1);
- for (i = j = 0; i < str_len; i++) {
- c = data->children->content[j++];
- if (c >= '0' && c <= '9') {
- str[i] = (c - '0') << 4;
- } else if (c >= 'a' && c <= 'f') {
- str[i] = (c - 'a' + 10) << 4;
- } else if (c >= 'A' && c <= 'F') {
- str[i] = (c - 'A' + 10) << 4;
- }
- c = data->children->content[j++];
- if (c >= '0' && c <= '9') {
- str[i] |= c - '0';
- } else if (c >= 'a' && c <= 'f') {
- str[i] |= c - 'a' + 10;
- } else if (c >= 'A' && c <= 'F') {
- str[i] |= c - 'A' + 10;
- }
- }
- str[str_len] = '\0';
- ZVAL_STRINGL(ret, (char*)str, str_len, 0);
- } else {
- ZVAL_EMPTY_STRING(ret);
- }
- return ret;
-}
-
-static xmlNodePtr to_xml_string(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr ret;
- char *str;
- int new_len;
- TSRMLS_FETCH();
-
- ret = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, ret);
- FIND_ZVAL_NULL(data, ret, style);
-
- if (Z_TYPE_P(data) == IS_STRING) {
- str = php_escape_html_entities(Z_STRVAL_P(data), Z_STRLEN_P(data), &new_len, 0, 0, NULL TSRMLS_CC);
- } else {
- zval tmp = *data;
-
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- str = php_escape_html_entities(Z_STRVAL(tmp), Z_STRLEN(tmp), &new_len, 0, 0, NULL TSRMLS_CC);
- zval_dtor(&tmp);
- }
-
- if (SOAP_GLOBAL(encoding) != NULL) {
- xmlBufferPtr in = xmlBufferCreateStatic(str, new_len);
- xmlBufferPtr out = xmlBufferCreate();
- int n = xmlCharEncInFunc(SOAP_GLOBAL(encoding), out, in);
-
- if (n >= 0) {
- efree(str);
- str = estrdup(xmlBufferContent(out));
- new_len = n;
- } else if (!php_libxml_xmlCheckUTF8(str)) {
- soap_error1(E_ERROR, "Encoding: string '%s' is not a valid utf-8 string", str);
- }
- xmlBufferFree(out);
- xmlBufferFree(in);
- } else if (!php_libxml_xmlCheckUTF8(str)) {
- soap_error1(E_ERROR, "Encoding: string '%s' is not a valid utf-8 string", str);
- }
-
- xmlNodeSetContentLen(ret, str, new_len);
- efree(str);
-
- if (style == SOAP_ENCODED) {
- set_ns_and_type(ret, type);
- }
- return ret;
-}
-
-static xmlNodePtr to_xml_base64(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr ret;
- unsigned char *str;
- int str_len;
-
- ret = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, ret);
- FIND_ZVAL_NULL(data, ret, style);
-
- if (Z_TYPE_P(data) == IS_STRING) {
- str = php_base64_encode((unsigned char*)Z_STRVAL_P(data), Z_STRLEN_P(data), &str_len);
- xmlNodeSetContentLen(ret, str, str_len);
- efree(str);
- } else {
- zval tmp = *data;
-
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- str = php_base64_encode((unsigned char*)Z_STRVAL(tmp), Z_STRLEN(tmp), &str_len);
- xmlNodeSetContentLen(ret, str, str_len);
- efree(str);
- zval_dtor(&tmp);
- }
-
- if (style == SOAP_ENCODED) {
- set_ns_and_type(ret, type);
- }
- return ret;
-}
-
-static xmlNodePtr to_xml_hexbin(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- static char hexconvtab[] = "0123456789ABCDEF";
- xmlNodePtr ret;
- unsigned char *str;
- zval tmp;
- int i, j;
-
- ret = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, ret);
- FIND_ZVAL_NULL(data, ret, style);
-
- if (Z_TYPE_P(data) != IS_STRING) {
- tmp = *data;
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- data = &tmp;
- }
- str = (unsigned char *) safe_emalloc(Z_STRLEN_P(data) * 2, sizeof(char), 1);
-
- for (i = j = 0; i < Z_STRLEN_P(data); i++) {
- str[j++] = hexconvtab[((unsigned char)Z_STRVAL_P(data)[i]) >> 4];
- str[j++] = hexconvtab[((unsigned char)Z_STRVAL_P(data)[i]) & 15];
- }
- str[j] = '\0';
-
- xmlNodeSetContentLen(ret, str, Z_STRLEN_P(data) * 2 * sizeof(char));
- efree(str);
- if (data == &tmp) {
- zval_dtor(&tmp);
- }
-
- if (style == SOAP_ENCODED) {
- set_ns_and_type(ret, type);
- }
- return ret;
-}
-
-static zval *to_zval_double(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
-
- if (data && data->children) {
- if (data->children->type == XML_TEXT_NODE && data->children->next == NULL) {
- whiteSpace_collapse(data->children->content);
- ZVAL_DOUBLE(ret, atof(data->children->content));
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- } else {
- ZVAL_NULL(ret);
- }
- return ret;
-}
-
-static zval *to_zval_long(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
-
- if (data && data->children) {
- if (data->children->type == XML_TEXT_NODE && data->children->next == NULL) {
- whiteSpace_collapse(data->children->content);
- errno = 0;
- ret->value.lval = strtol(data->children->content, NULL, 0);
- if (errno == ERANGE) { /* overflow */
- ret->value.dval = zend_strtod(data->children->content, NULL);
- ret->type = IS_DOUBLE;
- } else {
- ret->type = IS_LONG;
- }
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- } else {
- ZVAL_NULL(ret);
- }
- return ret;
-}
-
-static xmlNodePtr to_xml_long(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr ret;
-
- ret = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, ret);
- FIND_ZVAL_NULL(data, ret, style);
-
- if (Z_TYPE_P(data) == IS_DOUBLE) {
- char s[256];
-
- sprintf(s, "%0.0f",floor(Z_DVAL_P(data)));
- xmlNodeSetContent(ret, s);
- } else {
- zval tmp = *data;
-
- zval_copy_ctor(&tmp);
- if (Z_TYPE(tmp) != IS_LONG) {
- convert_to_long(&tmp);
- }
- convert_to_string(&tmp);
- xmlNodeSetContentLen(ret, Z_STRVAL(tmp), Z_STRLEN(tmp));
- zval_dtor(&tmp);
- }
-
- if (style == SOAP_ENCODED) {
- set_ns_and_type(ret, type);
- }
- return ret;
-}
-
-static xmlNodePtr to_xml_double(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr ret;
- zval tmp;
-
- ret = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, ret);
- FIND_ZVAL_NULL(data, ret, style);
-
- tmp = *data;
- zval_copy_ctor(&tmp);
- if (Z_TYPE(tmp) != IS_DOUBLE) {
- convert_to_double(&tmp);
- }
- convert_to_string(&tmp);
- xmlNodeSetContentLen(ret, Z_STRVAL(tmp), Z_STRLEN(tmp));
- zval_dtor(&tmp);
-
- if (style == SOAP_ENCODED) {
- set_ns_and_type(ret, type);
- }
- return ret;
-}
-
-static zval *to_zval_bool(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
-
- if (data && data->children) {
- if (data->children->type == XML_TEXT_NODE && data->children->next == NULL) {
- whiteSpace_collapse(data->children->content);
- if (stricmp(data->children->content,"true") == 0 ||
- stricmp(data->children->content,"t") == 0 ||
- strcmp(data->children->content,"1") == 0) {
- ZVAL_BOOL(ret, 1);
- } else {
- ZVAL_BOOL(ret, 0);
- }
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- } else {
- ZVAL_NULL(ret);
- }
- return ret;
-}
-
-static xmlNodePtr to_xml_bool(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr ret;
- zval tmp;
-
- ret = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, ret);
- FIND_ZVAL_NULL(data, ret, style);
-
- if (Z_TYPE_P(data) != IS_BOOL) {
- tmp = *data;
- zval_copy_ctor(&tmp);
- convert_to_boolean(data);
- data = &tmp;
- }
-
- if (data->value.lval == 1) {
- xmlNodeSetContent(ret, "true");
- } else {
- xmlNodeSetContent(ret, "false");
- }
-
- if (data == &tmp) {
- zval_dtor(&tmp);
- }
-
- if (style == SOAP_ENCODED) {
- set_ns_and_type(ret, type);
- }
- return ret;
-}
-
-/* Null encode/decode */
-static zval *to_zval_null(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- MAKE_STD_ZVAL(ret);
- ZVAL_NULL(ret);
- return ret;
-}
-
-static xmlNodePtr to_xml_null(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr ret;
-
- ret = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, ret);
- if (style == SOAP_ENCODED) {
- xmlSetProp(ret, "xsi:nil", "1");
- }
- return ret;
-}
-
-static void set_zval_property(zval* object, char* name, zval* val TSRMLS_DC)
-{
- zend_class_entry *old_scope;
-
- old_scope = EG(scope);
- EG(scope) = Z_OBJCE_P(object);
-#ifdef ZEND_ENGINE_2
- val->refcount--;
-#endif
- add_property_zval(object, name, val);
- EG(scope) = old_scope;
-}
-
-static zval* get_zval_property(zval* object, char* name TSRMLS_DC)
-{
- if (Z_TYPE_P(object) == IS_OBJECT) {
- zval member;
- zval *data;
- zend_class_entry *old_scope;
-
- ZVAL_STRING(&member, name, 0);
- old_scope = EG(scope);
- EG(scope) = Z_OBJCE_P(object);
- data = Z_OBJ_HT_P(object)->read_property(object, &member, BP_VAR_IS TSRMLS_CC);
- EG(scope) = old_scope;
- if (data == EG(uninitialized_zval_ptr)) {
- return NULL;
- }
- return data;
- } else if (Z_TYPE_P(object) == IS_ARRAY) {
- zval **data_ptr;
-
- if (zend_hash_find(Z_ARRVAL_P(object), name, strlen(name)+1, (void**)&data_ptr) == SUCCESS) {
- return *data_ptr;
- }
- }
- return NULL;
-}
-
-static void unset_zval_property(zval* object, char* name TSRMLS_DC)
-{
- if (Z_TYPE_P(object) == IS_OBJECT) {
- zval member;
- zend_class_entry *old_scope;
-
- ZVAL_STRING(&member, name, 0);
- old_scope = EG(scope);
- EG(scope) = Z_OBJCE_P(object);
- Z_OBJ_HT_P(object)->unset_property(object, &member TSRMLS_CC);
- EG(scope) = old_scope;
- } else if (Z_TYPE_P(object) == IS_ARRAY) {
- zend_hash_del(Z_ARRVAL_P(object), name, strlen(name)+1);
- }
-}
-
-static void model_to_zval_any(zval *ret, xmlNodePtr node TSRMLS_DC)
-{
- zval* any = NULL;
-
- while (node != NULL) {
- if (get_zval_property(ret, (char*)node->name TSRMLS_CC) == NULL) {
- zval* val = master_to_zval(get_conversion(XSD_ANYXML), node);
- if (get_attribute_ex(node->properties,"type", XSI_NAMESPACE) == NULL &&
- Z_TYPE_P(val) == IS_STRING) {
- while (node->next != NULL &&
- get_zval_property(ret, (char*)node->next->name TSRMLS_CC) == NULL &&
- get_attribute_ex(node->next->properties,"type", XSI_NAMESPACE) == NULL) {
- zval* val2 = master_to_zval(get_conversion(XSD_ANYXML), node->next);
- if (Z_TYPE_P(val2) != IS_STRING) {
- break;
- }
- add_string_to_string(val, val, val2);
- zval_ptr_dtor(&val2);
- node = node->next;
- }
- }
- if (any == NULL) {
- any = val;
- } else {
- if (Z_TYPE_P(any) != IS_ARRAY) {
- /* Convert into array */
- zval *arr;
-
- MAKE_STD_ZVAL(arr);
- array_init(arr);
- add_next_index_zval(arr, any);
- any = arr;
- }
- /* Add array element */
- add_next_index_zval(any, val);
- }
- }
- node = node->next;
- }
- if (any) {
- set_zval_property(ret, "any", any TSRMLS_CC);
- }
-}
-
-static void model_to_zval_object(zval *ret, sdlContentModelPtr model, xmlNodePtr data, sdlPtr sdl TSRMLS_DC)
-{
- switch (model->kind) {
- case XSD_CONTENT_ELEMENT:
- if (model->u.element->name) {
- xmlNodePtr node = get_node(data->children, model->u.element->name);
- if (node) {
- zval *val;
-
- if (node && node->children && node->children->content) {
- if (model->u.element->fixed && strcmp(model->u.element->fixed,node->children->content) != 0) {
- soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, node->children->content);
- }
- val = master_to_zval(model->u.element->encode, node);
- } else if (model->u.element->fixed) {
- xmlNodePtr dummy = xmlNewNode(NULL, "BOGUS");
- xmlNodeSetContent(dummy, model->u.element->fixed);
- val = master_to_zval(model->u.element->encode, dummy);
- xmlFreeNode(dummy);
- } else if (model->u.element->def && !model->u.element->nillable) {
- xmlNodePtr dummy = xmlNewNode(NULL, "BOGUS");
- xmlNodeSetContent(dummy, model->u.element->def);
- val = master_to_zval(model->u.element->encode, dummy);
- xmlFreeNode(dummy);
- } else {
- val = master_to_zval(model->u.element->encode, node);
- }
- if ((node = get_node(node->next, model->u.element->name)) != NULL) {
- zval *array;
-
- MAKE_STD_ZVAL(array);
- array_init(array);
- add_next_index_zval(array, val);
- do {
- if (node && node->children && node->children->content) {
- if (model->u.element->fixed && strcmp(model->u.element->fixed,node->children->content) != 0) {
- soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, node->children->content);
- }
- val = master_to_zval(model->u.element->encode, node);
- } else if (model->u.element->fixed) {
- xmlNodePtr dummy = xmlNewNode(NULL, "BOGUS");
- xmlNodeSetContent(dummy, model->u.element->fixed);
- val = master_to_zval(model->u.element->encode, dummy);
- xmlFreeNode(dummy);
- } else if (model->u.element->def && !model->u.element->nillable) {
- xmlNodePtr dummy = xmlNewNode(NULL, "BOGUS");
- xmlNodeSetContent(dummy, model->u.element->def);
- val = master_to_zval(model->u.element->encode, dummy);
- xmlFreeNode(dummy);
- } else {
- val = master_to_zval(model->u.element->encode, node);
- }
- add_next_index_zval(array, val);
- } while ((node = get_node(node->next, model->u.element->name)) != NULL);
- val = array;
- }
- set_zval_property(ret, model->u.element->name, val TSRMLS_CC);
- }
- }
- break;
- case XSD_CONTENT_ALL:
- case XSD_CONTENT_SEQUENCE:
- case XSD_CONTENT_CHOICE: {
- sdlContentModelPtr *tmp;
- HashPosition pos;
- sdlContentModelPtr any = NULL;
-
- zend_hash_internal_pointer_reset_ex(model->u.content, &pos);
- while (zend_hash_get_current_data_ex(model->u.content, (void**)&tmp, &pos) == SUCCESS) {
- if ((*tmp)->kind == XSD_CONTENT_ANY) {
- any = *tmp;
- } else {
- model_to_zval_object(ret, *tmp, data, sdl TSRMLS_CC);
- }
- zend_hash_move_forward_ex(model->u.content, &pos);
- }
- if (any) {
- model_to_zval_any(ret, data->children TSRMLS_CC);
- }
- break;
- }
- case XSD_CONTENT_GROUP:
- model_to_zval_object(ret, model->u.group->model, data, sdl TSRMLS_CC);
- break;
- default:
- break;
- }
-}
-
-/* Struct encode/decode */
-static zval *to_zval_object(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- xmlNodePtr trav;
- sdlPtr sdl;
- sdlTypePtr sdlType = type->sdl_type;
- zend_class_entry *ce = ZEND_STANDARD_CLASS_DEF_PTR;
- zend_bool redo_any = 0;
- TSRMLS_FETCH();
-
- if (SOAP_GLOBAL(class_map) && type->type_str) {
- zval **classname;
- zend_class_entry *tmp;
-
- if (zend_hash_find(SOAP_GLOBAL(class_map), type->type_str, strlen(type->type_str)+1, (void**)&classname) == SUCCESS &&
- Z_TYPE_PP(classname) == IS_STRING &&
- (tmp = zend_fetch_class(Z_STRVAL_PP(classname), Z_STRLEN_PP(classname), ZEND_FETCH_CLASS_AUTO TSRMLS_CC)) != NULL) {
- ce = tmp;
- }
- }
- sdl = SOAP_GLOBAL(sdl);
- if (sdlType) {
- if (sdlType->kind == XSD_TYPEKIND_RESTRICTION &&
- sdlType->encode && type != &sdlType->encode->details) {
- encodePtr enc;
-
- enc = sdlType->encode;
- while (enc && enc->details.sdl_type &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_LIST &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_UNION) {
- enc = enc->details.sdl_type->encode;
- }
- if (enc) {
- zval *base;
-
- MAKE_STD_ZVAL(ret);
-
- object_init_ex(ret, ce);
- base = master_to_zval_int(enc, data);
- set_zval_property(ret, "_", base TSRMLS_CC);
- } else {
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- object_init_ex(ret, ce);
- }
- } else if (sdlType->kind == XSD_TYPEKIND_EXTENSION &&
- sdlType->encode &&
- type != &sdlType->encode->details) {
- if (sdlType->encode->details.sdl_type &&
- sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE &&
- sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_LIST &&
- sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_UNION) {
- ret = master_to_zval_int(sdlType->encode, data);
- FIND_XML_NULL(data, ret);
- if (get_zval_property(ret, "any" TSRMLS_CC) != NULL) {
- unset_zval_property(ret, "any" TSRMLS_CC);
- redo_any = 1;
- }
- } else {
- zval *base;
-
- MAKE_STD_ZVAL(ret);
-
- object_init_ex(ret, ce);
- base = master_to_zval_int(sdlType->encode, data);
- set_zval_property(ret, "_", base TSRMLS_CC);
- }
- } else {
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- object_init_ex(ret, ce);
- }
- if (sdlType->model) {
- model_to_zval_object(ret, sdlType->model, data, sdl TSRMLS_CC);
- if (redo_any && get_zval_property(ret, "any" TSRMLS_CC) == NULL) {
- model_to_zval_any(ret, data->children TSRMLS_CC);
- }
- }
- if (sdlType->attributes) {
- sdlAttributePtr *attr;
- HashPosition pos;
-
- zend_hash_internal_pointer_reset_ex(sdlType->attributes, &pos);
- while (zend_hash_get_current_data_ex(sdlType->attributes, (void**)&attr, &pos) == SUCCESS) {
- if ((*attr)->name) {
- xmlAttrPtr val = get_attribute(data->properties, (*attr)->name);
- xmlChar *str_val = NULL;
-
- if (val && val->children && val->children->content) {
- str_val = val->children->content;
- if ((*attr)->fixed && strcmp((*attr)->fixed,str_val) != 0) {
- soap_error3(E_ERROR, "Encoding: Attribute '%s' has fixed value '%s' (value '%s' is not allowed)", (*attr)->name, (*attr)->fixed, str_val);
- }
- } else if ((*attr)->fixed) {
- str_val = (*attr)->fixed;
- } else if ((*attr)->def) {
- str_val = (*attr)->def;
- }
- if (str_val) {
- xmlNodePtr dummy;
- zval *data;
-
- dummy = xmlNewNode(NULL, "BOGUS");
- xmlNodeSetContent(dummy, str_val);
- data = master_to_zval((*attr)->encode, dummy);
- xmlFreeNode(dummy);
- set_zval_property(ret, (*attr)->name, data TSRMLS_CC);
- }
- }
- zend_hash_move_forward_ex(sdlType->attributes, &pos);
- }
- }
- } else {
-
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- object_init_ex(ret, ce);
-
- trav = data->children;
-
- while (trav != NULL) {
- if (trav->type == XML_ELEMENT_NODE) {
- zval *tmpVal;
- zval *prop;
-
- tmpVal = master_to_zval(NULL, trav);
-
- prop = get_zval_property(ret, (char*)trav->name TSRMLS_CC);
- if (!prop) {
- set_zval_property(ret, (char*)trav->name, tmpVal TSRMLS_CC);
- } else {
- /* Property already exist - make array */
- if (Z_TYPE_P(prop) != IS_ARRAY) {
- /* Convert into array */
- zval *arr;
-
- MAKE_STD_ZVAL(arr);
- array_init(arr);
- prop->refcount++;
- add_next_index_zval(arr, prop);
- set_zval_property(ret, (char*)trav->name, arr TSRMLS_CC);
- prop = arr;
- }
- /* Add array element */
- add_next_index_zval(prop, tmpVal);
- }
- }
- trav = trav->next;
- }
- }
- return ret;
-}
-
-static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval *object, int style, int strict TSRMLS_DC)
-{
- switch (model->kind) {
- case XSD_CONTENT_ELEMENT: {
- zval *data;
- xmlNodePtr property;
- encodePtr enc;
-
- data = get_zval_property(object, model->u.element->name TSRMLS_CC);
- if (data) {
- enc = model->u.element->encode;
- if ((model->max_occurs == -1 || model->max_occurs > 1) && Z_TYPE_P(data) == IS_ARRAY) {
- HashTable *ht = Z_ARRVAL_P(data);
- zval **val;
-
- zend_hash_internal_pointer_reset(ht);
- while (zend_hash_get_current_data(ht,(void**)&val) == SUCCESS) {
- if (Z_TYPE_PP(val) == IS_NULL && model->u.element->nillable) {
- property = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(node, property);
- if (style == SOAP_ENCODED) {
- xmlSetProp(property, "xsi:nil", "1");
- } else {
- xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE);
- xmlSetNsProp(property, xsi, "nil", "1");
- }
- } else {
- property = master_to_xml(enc, *val, style, node);
- if (property->children && property->children->content &&
- model->u.element->fixed && strcmp(model->u.element->fixed,property->children->content) != 0) {
- soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, property->children->content);
- }
- }
- xmlNodeSetName(property, model->u.element->name);
- if (style == SOAP_LITERAL && model->u.element->namens) {
- xmlNsPtr nsp = encode_add_ns(property, model->u.element->namens);
- xmlSetNs(property, nsp);
- }
- zend_hash_move_forward(ht);
- }
- } else {
- if (Z_TYPE_P(data) == IS_NULL && model->u.element->nillable) {
- property = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(node, property);
- if (style == SOAP_ENCODED) {
- xmlSetProp(property, "xsi:nil", "1");
- } else {
- xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE);
- xmlSetNsProp(property, xsi, "nil", "1");
- }
- } else {
- property = master_to_xml(enc, data, style, node);
- if (property->children && property->children->content &&
- model->u.element->fixed && strcmp(model->u.element->fixed,property->children->content) != 0) {
- soap_error3(E_ERROR, "Encoding: Element '%s' has fixed value '%s' (value '%s' is not allowed)", model->u.element->name, model->u.element->fixed, property->children->content);
- }
- }
- xmlNodeSetName(property, model->u.element->name);
- if (style == SOAP_LITERAL &&
- model->u.element->namens &&
- model->u.element->form == XSD_FORM_QUALIFIED) {
- xmlNsPtr nsp = encode_add_ns(property, model->u.element->namens);
- xmlSetNs(property, nsp);
- }
- }
- return 1;
- } else if (strict && model->u.element->nillable) {
- property = xmlNewNode(NULL,model->u.element->name);
- xmlAddChild(node, property);
- if (style == SOAP_ENCODED) {
- xmlSetProp(property, "xsi:nil", "1");
- } else {
- xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE);
- xmlSetNsProp(property, xsi, "nil", "1");
- }
- return 1;
- } else if (model->min_occurs == 0) {
- return 2;
- } else {
- if (strict) {
- soap_error1(E_ERROR, "Encoding: object hasn't '%s' property", model->u.element->name);
- }
- return 0;
- }
- break;
- }
- case XSD_CONTENT_ANY: {
- zval *data;
- xmlNodePtr property;
- encodePtr enc;
-
- data = get_zval_property(object, "any" TSRMLS_CC);
- if (data) {
- enc = get_conversion(XSD_ANYXML);
- if ((model->max_occurs == -1 || model->max_occurs > 1) && Z_TYPE_P(data) == IS_ARRAY) {
- HashTable *ht = Z_ARRVAL_P(data);
- zval **val;
-
- zend_hash_internal_pointer_reset(ht);
- while (zend_hash_get_current_data(ht,(void**)&val) == SUCCESS) {
- property = master_to_xml(enc, *val, style, node);
- zend_hash_move_forward(ht);
- }
- } else {
- property = master_to_xml(enc, data, style, node);
- }
- return 1;
- } else if (model->min_occurs == 0) {
- return 2;
- } else {
- if (strict) {
- soap_error0(E_ERROR, "Encoding: object hasn't 'any' property");
- }
- return 0;
- }
- break;
- }
- case XSD_CONTENT_SEQUENCE:
- case XSD_CONTENT_ALL: {
- sdlContentModelPtr *tmp;
- HashPosition pos;
-
- zend_hash_internal_pointer_reset_ex(model->u.content, &pos);
- while (zend_hash_get_current_data_ex(model->u.content, (void**)&tmp, &pos) == SUCCESS) {
- if (!model_to_xml_object(node, *tmp, object, style, model->min_occurs > 0 TSRMLS_CC)) {
- return 0;
- }
- zend_hash_move_forward_ex(model->u.content, &pos);
- }
- return 1;
- }
- case XSD_CONTENT_CHOICE: {
- sdlContentModelPtr *tmp;
- HashPosition pos;
- int ret = 0;
-
- zend_hash_internal_pointer_reset_ex(model->u.content, &pos);
- while (zend_hash_get_current_data_ex(model->u.content, (void**)&tmp, &pos) == SUCCESS) {
- int tmp_ret = model_to_xml_object(node, *tmp, object, style, 0 TSRMLS_CC);
- if (tmp_ret == 1) {
- return 1;
- } else if (tmp_ret != 0) {
- ret = 1;
- }
- zend_hash_move_forward_ex(model->u.content, &pos);
- }
- return ret;
- }
- case XSD_CONTENT_GROUP: {
- return model_to_xml_object(node, model->u.group->model, object, style, model->min_occurs > 0 TSRMLS_CC);
- }
- default:
- break;
- }
- return 1;
-}
-
-static sdlTypePtr model_array_element(sdlContentModelPtr model)
-{
- switch (model->kind) {
- case XSD_CONTENT_ELEMENT: {
- if (model->max_occurs == -1 || model->max_occurs > 1) {
- return model->u.element;
- } else {
- return NULL;
- }
- }
- case XSD_CONTENT_SEQUENCE:
- case XSD_CONTENT_ALL:
- case XSD_CONTENT_CHOICE: {
- sdlContentModelPtr *tmp;
- HashPosition pos;
-
- if (zend_hash_num_elements(model->u.content) != 1) {
- return NULL;
- }
- zend_hash_internal_pointer_reset_ex(model->u.content, &pos);
- zend_hash_get_current_data_ex(model->u.content, (void**)&tmp, &pos);
- return model_array_element(*tmp);
- }
- case XSD_CONTENT_GROUP: {
- return model_array_element(model->u.group->model);
- }
- default:
- break;
- }
- return NULL;
-}
-
-static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr xmlParam;
- HashTable *prop;
- int i;
- sdlTypePtr sdlType = type->sdl_type;
- TSRMLS_FETCH();
-
- if (!data || Z_TYPE_P(data) == IS_NULL) {
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
- if (style == SOAP_ENCODED) {
- xmlSetProp(xmlParam, "xsi:nil", "1");
- }
- return xmlParam;
- }
-
- if (sdlType) {
- prop = NULL;
- if (Z_TYPE_P(data) == IS_OBJECT) {
- prop = Z_OBJPROP_P(data);
- } else if (Z_TYPE_P(data) == IS_ARRAY) {
- prop = Z_ARRVAL_P(data);
- }
- if (sdlType->kind == XSD_TYPEKIND_RESTRICTION &&
- sdlType->encode && type != &sdlType->encode->details) {
- encodePtr enc;
-
- enc = sdlType->encode;
- while (enc && enc->details.sdl_type &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_LIST &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_UNION) {
- enc = enc->details.sdl_type->encode;
- }
- if (enc) {
- zval *tmp = get_zval_property(data, "_" TSRMLS_CC);
- if (tmp) {
- xmlParam = master_to_xml(enc, tmp, style, parent);
- } else if (prop == NULL) {
- xmlParam = master_to_xml(enc, data, style, parent);
- } else {
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
- }
- } else {
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
- }
- } else if (sdlType->kind == XSD_TYPEKIND_EXTENSION &&
- sdlType->encode && type != &sdlType->encode->details) {
- if (sdlType->encode->details.sdl_type &&
- sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE &&
- sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_LIST &&
- sdlType->encode->details.sdl_type->kind != XSD_TYPEKIND_UNION) {
- xmlParam = master_to_xml(sdlType->encode, data, style, parent);
- } else {
- zval *tmp = get_zval_property(data, "_" TSRMLS_CC);
-
- if (tmp) {
- xmlParam = master_to_xml(sdlType->encode, tmp, style, parent);
- } else if (prop == NULL) {
- xmlParam = master_to_xml(sdlType->encode, data, style, parent);
- } else {
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
- }
- }
- } else {
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
- }
- FIND_ZVAL_NULL(data, xmlParam, style);
-
- if (prop != NULL) {
- sdlTypePtr array_el;
-
- if (Z_TYPE_P(data) == IS_ARRAY &&
- !is_map(data) &&
- sdlType->attributes == NULL &&
- sdlType->model != NULL &&
- (array_el = model_array_element(sdlType->model)) != NULL) {
- zval **val;
-
- zend_hash_internal_pointer_reset(prop);
- while (zend_hash_get_current_data(prop,(void**)&val) == SUCCESS) {
- xmlNodePtr property;
- if (Z_TYPE_PP(val) == IS_NULL && array_el->nillable) {
- property = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(xmlParam, property);
- if (style == SOAP_ENCODED) {
- xmlSetProp(property, "xsi:nil", "1");
- } else {
- xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE);
- xmlSetNsProp(property, xsi, "nil", "1");
- }
- } else {
- property = master_to_xml(array_el->encode, *val, style, xmlParam);
- }
- xmlNodeSetName(property, array_el->name);
- if (style == SOAP_LITERAL && array_el->namens) {
- xmlNsPtr nsp = encode_add_ns(property, array_el->namens);
- xmlSetNs(property, nsp);
- }
- zend_hash_move_forward(prop);
- }
- } else if (sdlType->model) {
- model_to_xml_object(xmlParam, sdlType->model, data, style, 1 TSRMLS_CC);
- }
- if (sdlType->attributes) {
- sdlAttributePtr *attr;
- zval *zattr;
- HashPosition pos;
-
- zend_hash_internal_pointer_reset_ex(sdlType->attributes, &pos);
- while (zend_hash_get_current_data_ex(sdlType->attributes, (void**)&attr, &pos) == SUCCESS) {
- if ((*attr)->name) {
- zattr = get_zval_property(data, (*attr)->name TSRMLS_CC);
- if (zattr) {
- xmlNodePtr dummy;
-
- dummy = master_to_xml((*attr)->encode, zattr, SOAP_LITERAL, xmlParam);
- if (dummy->children && dummy->children->content) {
- if ((*attr)->fixed && strcmp((*attr)->fixed,dummy->children->content) != 0) {
- soap_error3(E_ERROR, "Encoding: Attribute '%s' has fixed value '%s' (value '%s' is not allowed)", (*attr)->name, (*attr)->fixed, dummy->children->content);
- }
- /* we need to handle xml: namespace specially, since it is
- an implicit schema. Otherwise, use form.
- */
- if ((*attr)->namens &&
- (!strncmp((*attr)->namens, XML_NAMESPACE, sizeof(XML_NAMESPACE)) ||
- (*attr)->form == XSD_FORM_QUALIFIED)) {
- xmlNsPtr nsp = encode_add_ns(xmlParam, (*attr)->namens);
-
- xmlSetNsProp(xmlParam, nsp, (*attr)->name, dummy->children->content);
- } else {
- xmlSetProp(xmlParam, (*attr)->name, dummy->children->content);
- }
- }
- xmlUnlinkNode(dummy);
- xmlFreeNode(dummy);
- }
- }
- zend_hash_move_forward_ex(sdlType->attributes, &pos);
- }
- }
- }
- if (style == SOAP_ENCODED) {
- set_ns_and_type(xmlParam, type);
- }
- } else {
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
- FIND_ZVAL_NULL(data, xmlParam, style);
-
- prop = NULL;
- if (Z_TYPE_P(data) == IS_OBJECT) {
- prop = Z_OBJPROP_P(data);
- } else if (Z_TYPE_P(data) == IS_ARRAY) {
- prop = Z_ARRVAL_P(data);
- }
- if (prop != NULL) {
- i = zend_hash_num_elements(prop);
- zend_hash_internal_pointer_reset(prop);
-
- for (;i > 0;i--) {
- xmlNodePtr property;
- zval **zprop;
- char *str_key;
- ulong index;
- int key_type;
-
- key_type = zend_hash_get_current_key(prop, &str_key, &index, FALSE);
- zend_hash_get_current_data(prop, (void **)&zprop);
-
- property = master_to_xml(get_conversion((*zprop)->type), (*zprop), style, xmlParam);
-
- if (key_type == HASH_KEY_IS_STRING) {
- char *prop_name;
-
- if (Z_TYPE_P(data) == IS_OBJECT) {
- char *class_name;
-
- zend_unmangle_property_name(str_key, &class_name, &prop_name);
- } else {
- prop_name = str_key;
- }
- if (prop_name) {
- xmlNodeSetName(property, prop_name);
- }
- }
- zend_hash_move_forward(prop);
- }
- }
- if (style == SOAP_ENCODED) {
- set_ns_and_type(xmlParam, type);
- }
- }
- return xmlParam;
-}
-
-/* Array encode/decode */
-static xmlNodePtr guess_array_map(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- encodePtr enc = NULL;
-
- if (data && Z_TYPE_P(data) == IS_ARRAY) {
- if (is_map(data)) {
- enc = get_conversion(APACHE_MAP);
- } else {
- enc = get_conversion(SOAP_ENC_ARRAY);
- }
- }
- if (!enc) {
- enc = get_conversion(IS_NULL);
- }
-
- return master_to_xml(enc, data, style, parent);
-}
-
-static int calc_dimension_12(const char* str)
-{
- int i = 0, flag = 0;
- while (*str != '\0' && (*str < '0' || *str > '9') && (*str != '*')) {
- str++;
- }
- if (*str == '*') {
- i++;
- str++;
- }
- while (*str != '\0') {
- if (*str >= '0' && *str <= '9') {
- if (flag == 0) {
- i++;
- flag = 1;
- }
- } else if (*str == '*') {
- soap_error0(E_ERROR, "Encoding: '*' may only be first arraySize value in list");
- } else {
- flag = 0;
- }
- str++;
- }
- return i;
-}
-
-static int* get_position_12(int dimension, const char* str)
-{
- int *pos;
- int i = -1, flag = 0;
-
- pos = safe_emalloc(sizeof(int), dimension, 0);
- memset(pos,0,sizeof(int)*dimension);
- while (*str != '\0' && (*str < '0' || *str > '9') && (*str != '*')) {
- str++;
- }
- if (*str == '*') {
- str++;
- i++;
- }
- while (*str != '\0') {
- if (*str >= '0' && *str <= '9') {
- if (flag == 0) {
- i++;
- flag = 1;
- }
- pos[i] = (pos[i]*10)+(*str-'0');
- } else if (*str == '*') {
- soap_error0(E_ERROR, "Encoding: '*' may only be first arraySize value in list");
- } else {
- flag = 0;
- }
- str++;
- }
- return pos;
-}
-
-static int calc_dimension(const char* str)
-{
- int i = 1;
- while (*str != ']' && *str != '\0') {
- if (*str == ',') {
- i++;
- }
- str++;
- }
- return i;
-}
-
-static void get_position_ex(int dimension, const char* str, int** pos)
-{
- int i = 0;
-
- memset(*pos,0,sizeof(int)*dimension);
- while (*str != ']' && *str != '\0' && i < dimension) {
- if (*str >= '0' && *str <= '9') {
- (*pos)[i] = ((*pos)[i]*10)+(*str-'0');
- } else if (*str == ',') {
- i++;
- }
- str++;
- }
-}
-
-static int* get_position(int dimension, const char* str)
-{
- int *pos;
-
- pos = safe_emalloc(sizeof(int), dimension, 0);
- get_position_ex(dimension, str, &pos);
- return pos;
-}
-
-static void add_xml_array_elements(xmlNodePtr xmlParam,
- sdlTypePtr type,
- encodePtr enc,
- xmlNsPtr ns,
- int dimension ,
- int* dims,
- zval* data,
- int style)
-{
- int j;
-
- if (data && Z_TYPE_P(data) == IS_ARRAY) {
- zend_hash_internal_pointer_reset(data->value.ht);
- for (j=0; j<dims[0]; j++) {
- zval **zdata;
-
- if (zend_hash_get_current_data(data->value.ht, (void **)&zdata) != SUCCESS) {
- zdata = NULL;
- }
- if (dimension == 1) {
- xmlNodePtr xparam;
-
- if (zdata) {
- if (enc == NULL) {
- xparam = master_to_xml(get_conversion((*zdata)->type), (*zdata), style, xmlParam);
- } else {
- xparam = master_to_xml(enc, (*zdata), style, xmlParam);
- }
- } else {
- xparam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(xmlParam, xparam);
- }
-
- if (type) {
- xmlNodeSetName(xparam, type->name);
- } else if (style == SOAP_LITERAL && enc && enc->details.type_str) {
- xmlNodeSetName(xparam, enc->details.type_str);
- xmlSetNs(xparam, ns);
- } else {
- xmlNodeSetName(xparam, "item");
- }
- } else {
- if (zdata) {
- add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, *zdata, style);
- } else {
- add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, NULL, style);
- }
- }
- zend_hash_move_forward(data->value.ht);
- }
- } else {
- for (j=0; j<dims[0]; j++) {
- if (dimension == 1) {
- xmlNodePtr xparam;
-
- xparam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(xmlParam, xparam);
- if (type) {
- xmlNodeSetName(xparam, type->name);
- } else if (style == SOAP_LITERAL && enc && enc->details.type_str) {
- xmlNodeSetName(xparam, enc->details.type_str);
- xmlSetNs(xparam, ns);
- } else {
- xmlNodeSetName(xparam, "item");
- }
- } else {
- add_xml_array_elements(xmlParam, type, enc, ns, dimension-1, dims+1, NULL, style);
- }
- }
- }
-}
-
-static inline int array_num_elements(HashTable* ht)
-{
- if (ht->pListTail && ht->pListTail->nKeyLength == 0) {
- return ht->pListTail->h-1;
- }
- return 0;
-}
-
-static xmlNodePtr to_xml_array(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- sdlTypePtr sdl_type = type->sdl_type;
- sdlTypePtr element_type = NULL;
- smart_str array_type = {0}, array_size = {0};
- int i;
- xmlNodePtr xmlParam;
- encodePtr enc = NULL;
- int dimension = 1;
- int* dims;
- int soap_version;
-
- TSRMLS_FETCH();
-
- soap_version = SOAP_GLOBAL(soap_version);
-
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
-
- FIND_ZVAL_NULL(data, xmlParam, style);
-
- if (Z_TYPE_P(data) == IS_ARRAY) {
- sdlAttributePtr *arrayType;
- sdlExtraAttributePtr *ext;
- sdlTypePtr elementType;
-
- i = zend_hash_num_elements(Z_ARRVAL_P(data));
-
- if (sdl_type &&
- sdl_type->attributes &&
- zend_hash_find(sdl_type->attributes, SOAP_1_1_ENC_NAMESPACE":arrayType",
- sizeof(SOAP_1_1_ENC_NAMESPACE":arrayType"),
- (void **)&arrayType) == SUCCESS &&
- zend_hash_find((*arrayType)->extraAttributes, WSDL_NAMESPACE":arrayType", sizeof(WSDL_NAMESPACE":arrayType"), (void **)&ext) == SUCCESS) {
-
- char *value, *end;
- zval** el;
-
- value = estrdup((*ext)->val);
- end = strrchr(value,'[');
- if (end) {
- *end = '\0';
- end++;
- dimension = calc_dimension(end);
- }
- if ((*ext)->ns != NULL) {
- enc = get_encoder(SOAP_GLOBAL(sdl), (*ext)->ns, value);
- get_type_str(xmlParam, (*ext)->ns, value, &array_type);
- } else {
- smart_str_appends(&array_type, value);
- }
-
- dims = safe_emalloc(sizeof(int), dimension, 0);
- dims[0] = i;
- el = &data;
- for (i = 1; i < dimension; i++) {
- if (el != NULL && Z_TYPE_PP(el) == IS_ARRAY &&
- zend_hash_num_elements(Z_ARRVAL_PP(el)) > 0) {
- zend_hash_internal_pointer_reset(Z_ARRVAL_PP(el));
- zend_hash_get_current_data(Z_ARRVAL_PP(el), (void**)&el);
- if (Z_TYPE_PP(el) == IS_ARRAY) {
- dims[i] = zend_hash_num_elements(Z_ARRVAL_PP(el));
- } else {
- dims[i] = 0;
- }
- }
- }
-
- smart_str_append_long(&array_size, dims[0]);
- for (i=1; i<dimension; i++) {
- smart_str_appendc(&array_size, ',');
- smart_str_append_long(&array_size, dims[i]);
- }
-
- efree(value);
-
- } else if (sdl_type &&
- sdl_type->attributes &&
- zend_hash_find(sdl_type->attributes, SOAP_1_2_ENC_NAMESPACE":itemType",
- sizeof(SOAP_1_2_ENC_NAMESPACE":itemType"),
- (void **)&arrayType) == SUCCESS &&
- zend_hash_find((*arrayType)->extraAttributes, WSDL_NAMESPACE":itemType", sizeof(WSDL_NAMESPACE":itemType"), (void **)&ext) == SUCCESS) {
- if ((*ext)->ns != NULL) {
- enc = get_encoder(SOAP_GLOBAL(sdl), (*ext)->ns, (*ext)->val);
- get_type_str(xmlParam, (*ext)->ns, (*ext)->val, &array_type);
- } else {
- smart_str_appends(&array_type, (*ext)->val);
- }
- if (zend_hash_find(sdl_type->attributes, SOAP_1_2_ENC_NAMESPACE":arraySize",
- sizeof(SOAP_1_2_ENC_NAMESPACE":arraySize"),
- (void **)&arrayType) == SUCCESS &&
- zend_hash_find((*arrayType)->extraAttributes, WSDL_NAMESPACE":arraySize", sizeof(WSDL_NAMESPACE":arraysize"), (void **)&ext) == SUCCESS) {
- dimension = calc_dimension_12((*ext)->val);
- dims = get_position_12(dimension, (*ext)->val);
- if (dims[0] == 0) {dims[0] = i;}
-
- smart_str_append_long(&array_size, dims[0]);
- for (i=1; i<dimension; i++) {
- smart_str_appendc(&array_size, ',');
- smart_str_append_long(&array_size, dims[i]);
- }
- } else {
- dims = emalloc(sizeof(int));
- *dims = 0;
- smart_str_append_long(&array_size, i);
- }
- } else if (sdl_type &&
- sdl_type->attributes &&
- zend_hash_find(sdl_type->attributes, SOAP_1_2_ENC_NAMESPACE":arraySize",
- sizeof(SOAP_1_2_ENC_NAMESPACE":arraySize"),
- (void **)&arrayType) == SUCCESS &&
- zend_hash_find((*arrayType)->extraAttributes, WSDL_NAMESPACE":arraySize", sizeof(WSDL_NAMESPACE":arraySize"), (void **)&ext) == SUCCESS) {
- dimension = calc_dimension_12((*ext)->val);
- dims = get_position_12(dimension, (*ext)->val);
- if (dims[0] == 0) {dims[0] = i;}
-
- smart_str_append_long(&array_size, dims[0]);
- for (i=1; i<dimension; i++) {
- smart_str_appendc(&array_size, ',');
- smart_str_append_long(&array_size, dims[i]);
- }
-
- if (sdl_type && sdl_type->elements &&
- zend_hash_num_elements(sdl_type->elements) == 1 &&
- (zend_hash_internal_pointer_reset(sdl_type->elements),
- zend_hash_get_current_data(sdl_type->elements, (void**)&elementType) == SUCCESS) &&
- (elementType = *(sdlTypePtr*)elementType) != NULL &&
- elementType->encode && elementType->encode->details.type_str) {
- element_type = elementType;
- enc = elementType->encode;
- get_type_str(xmlParam, elementType->encode->details.ns, elementType->encode->details.type_str, &array_type);
- } else {
- enc = get_array_type(xmlParam, data, &array_type TSRMLS_CC);
- }
- } else if (sdl_type && sdl_type->elements &&
- zend_hash_num_elements(sdl_type->elements) == 1 &&
- (zend_hash_internal_pointer_reset(sdl_type->elements),
- zend_hash_get_current_data(sdl_type->elements, (void**)&elementType) == SUCCESS) &&
- (elementType = *(sdlTypePtr*)elementType) != NULL &&
- elementType->encode && elementType->encode->details.type_str) {
-
- element_type = elementType;
- enc = elementType->encode;
- get_type_str(xmlParam, elementType->encode->details.ns, elementType->encode->details.type_str, &array_type);
-
- smart_str_append_long(&array_size, i);
-
- dims = safe_emalloc(sizeof(int), dimension, 0);
- dims[0] = i;
- } else {
-
- enc = get_array_type(xmlParam, data, &array_type TSRMLS_CC);
- smart_str_append_long(&array_size, i);
- dims = safe_emalloc(sizeof(int), dimension, 0);
- dims[0] = i;
- }
-
- if (style == SOAP_ENCODED) {
- if (soap_version == SOAP_1_1) {
- smart_str_0(&array_type);
- if (strcmp(array_type.c,"xsd:anyType") == 0) {
- smart_str_free(&array_type);
- smart_str_appendl(&array_type,"xsd:ur-type",sizeof("xsd:ur-type")-1);
- }
- smart_str_appendc(&array_type, '[');
- smart_str_append(&array_type, &array_size);
- smart_str_appendc(&array_type, ']');
- smart_str_0(&array_type);
- xmlSetProp(xmlParam, SOAP_1_1_ENC_NS_PREFIX":arrayType", array_type.c);
- } else {
- int i = 0;
- while (i < array_size.len) {
- if (array_size.c[i] == ',') {array_size.c[i] = ' ';}
- ++i;
- }
- smart_str_0(&array_type);
- smart_str_0(&array_size);
- xmlSetProp(xmlParam, SOAP_1_2_ENC_NS_PREFIX":itemType", array_type.c);
- xmlSetProp(xmlParam, SOAP_1_2_ENC_NS_PREFIX":arraySize", array_size.c);
- }
- }
- smart_str_free(&array_type);
- smart_str_free(&array_size);
-
- add_xml_array_elements(xmlParam, element_type, enc, enc?encode_add_ns(xmlParam,enc->details.ns):NULL, dimension, dims, data, style);
- efree(dims);
- }
- if (style == SOAP_ENCODED) {
- set_ns_and_type(xmlParam, type);
- }
- return xmlParam;
-}
-
-static zval *to_zval_array(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret;
- xmlNodePtr trav;
- encodePtr enc = NULL;
- int dimension = 1;
- int* dims = NULL;
- int* pos = NULL;
- xmlAttrPtr attr;
- sdlPtr sdl;
- sdlAttributePtr *arrayType;
- sdlExtraAttributePtr *ext;
- sdlTypePtr elementType;
-
- TSRMLS_FETCH();
-
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
- sdl = SOAP_GLOBAL(sdl);
-
- if (data &&
- (attr = get_attribute(data->properties,"arrayType")) &&
- attr->children && attr->children->content) {
- char *type, *end, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(attr->children->content, &type, &ns);
- nsptr = xmlSearchNs(attr->doc, attr->parent, ns);
-
- end = strrchr(type,'[');
- if (end) {
- *end = '\0';
- dimension = calc_dimension(end+1);
- dims = get_position(dimension, end+1);
- }
- if (nsptr != NULL) {
- enc = get_encoder(SOAP_GLOBAL(sdl), nsptr->href, type);
- }
- efree(type);
- if (ns) {efree(ns);}
-
- } else if ((attr = get_attribute(data->properties,"itemType")) &&
- attr->children &&
- attr->children->content) {
- char *type, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(attr->children->content, &type, &ns);
- nsptr = xmlSearchNs(attr->doc, attr->parent, ns);
- if (nsptr != NULL) {
- enc = get_encoder(SOAP_GLOBAL(sdl), nsptr->href, type);
- }
- efree(type);
- if (ns) {efree(ns);}
-
- if ((attr = get_attribute(data->properties,"arraySize")) &&
- attr->children && attr->children->content) {
- dimension = calc_dimension_12(attr->children->content);
- dims = get_position_12(dimension, attr->children->content);
- } else {
- dims = emalloc(sizeof(int));
- *dims = 0;
- }
-
- } else if ((attr = get_attribute(data->properties,"arraySize")) &&
- attr->children && attr->children->content) {
-
- dimension = calc_dimension_12(attr->children->content);
- dims = get_position_12(dimension, attr->children->content);
-
- } else if (type->sdl_type != NULL &&
- type->sdl_type->attributes != NULL &&
- zend_hash_find(type->sdl_type->attributes, SOAP_1_1_ENC_NAMESPACE":arrayType",
- sizeof(SOAP_1_1_ENC_NAMESPACE":arrayType"),
- (void **)&arrayType) == SUCCESS &&
- zend_hash_find((*arrayType)->extraAttributes, WSDL_NAMESPACE":arrayType", sizeof(WSDL_NAMESPACE":arrayType"), (void **)&ext) == SUCCESS) {
- char *type, *end;
-
- type = estrdup((*ext)->val);
- end = strrchr(type,'[');
- if (end) {
- *end = '\0';
- }
- if ((*ext)->ns != NULL) {
- enc = get_encoder(SOAP_GLOBAL(sdl), (*ext)->ns, type);
- }
- efree(type);
-
- dims = emalloc(sizeof(int));
- *dims = 0;
-
- } else if (type->sdl_type != NULL &&
- type->sdl_type->attributes != NULL &&
- zend_hash_find(type->sdl_type->attributes, SOAP_1_2_ENC_NAMESPACE":itemType",
- sizeof(SOAP_1_2_ENC_NAMESPACE":itemType"),
- (void **)&arrayType) == SUCCESS &&
- zend_hash_find((*arrayType)->extraAttributes, WSDL_NAMESPACE":itemType", sizeof(WSDL_NAMESPACE":itemType"), (void **)&ext) == SUCCESS) {
-
- if ((*ext)->ns != NULL) {
- enc = get_encoder(SOAP_GLOBAL(sdl), (*ext)->ns, (*ext)->val);
- }
-
- if (zend_hash_find(type->sdl_type->attributes, SOAP_1_2_ENC_NAMESPACE":arraySize",
- sizeof(SOAP_1_2_ENC_NAMESPACE":arraySize"),
- (void **)&arrayType) == SUCCESS &&
- zend_hash_find((*arrayType)->extraAttributes, WSDL_NAMESPACE":arraySize", sizeof(WSDL_NAMESPACE":arraysize"), (void **)&ext) == SUCCESS) {
- dimension = calc_dimension_12((*ext)->val);
- dims = get_position_12(dimension, (*ext)->val);
- } else {
- dims = emalloc(sizeof(int));
- *dims = 0;
- }
- } else if (type->sdl_type != NULL &&
- type->sdl_type->attributes != NULL &&
- zend_hash_find(type->sdl_type->attributes, SOAP_1_2_ENC_NAMESPACE":arraySize",
- sizeof(SOAP_1_2_ENC_NAMESPACE":arraySize"),
- (void **)&arrayType) == SUCCESS &&
- zend_hash_find((*arrayType)->extraAttributes, WSDL_NAMESPACE":arraySize", sizeof(WSDL_NAMESPACE":arraysize"), (void **)&ext) == SUCCESS) {
-
- dimension = calc_dimension_12((*ext)->val);
- dims = get_position_12(dimension, (*ext)->val);
- if (type->sdl_type && type->sdl_type->elements &&
- zend_hash_num_elements(type->sdl_type->elements) == 1 &&
- (zend_hash_internal_pointer_reset(type->sdl_type->elements),
- zend_hash_get_current_data(type->sdl_type->elements, (void**)&elementType) == SUCCESS) &&
- (elementType = *(sdlTypePtr*)elementType) != NULL &&
- elementType->encode) {
- enc = elementType->encode;
- }
- } else if (type->sdl_type && type->sdl_type->elements &&
- zend_hash_num_elements(type->sdl_type->elements) == 1 &&
- (zend_hash_internal_pointer_reset(type->sdl_type->elements),
- zend_hash_get_current_data(type->sdl_type->elements, (void**)&elementType) == SUCCESS) &&
- (elementType = *(sdlTypePtr*)elementType) != NULL &&
- elementType->encode) {
- enc = elementType->encode;
- }
- if (dims == NULL) {
- dimension = 1;
- dims = emalloc(sizeof(int));
- *dims = 0;
- }
- pos = safe_emalloc(sizeof(int), dimension, 0);
- memset(pos,0,sizeof(int)*dimension);
- if (data &&
- (attr = get_attribute(data->properties,"offset")) &&
- attr->children && attr->children->content) {
- char* tmp = strrchr(attr->children->content,'[');
-
- if (tmp == NULL) {
- tmp = attr->children->content;
- }
- get_position_ex(dimension, tmp, &pos);
- }
-
- array_init(ret);
- trav = data->children;
- while (trav) {
- if (trav->type == XML_ELEMENT_NODE) {
- int i;
- zval *tmpVal, *ar;
- xmlAttrPtr position = get_attribute(trav->properties,"position");
-
- tmpVal = master_to_zval(enc, trav);
- if (position != NULL && position->children && position->children->content) {
- char* tmp = strrchr(position->children->content,'[');
- if (tmp == NULL) {
- tmp = position->children->content;
- }
- get_position_ex(dimension, tmp, &pos);
- }
-
- /* Get/Create intermediate arrays for multidimensional arrays */
- i = 0;
- ar = ret;
- while (i < dimension-1) {
- zval** ar2;
- if (zend_hash_index_find(Z_ARRVAL_P(ar), pos[i], (void**)&ar2) == SUCCESS) {
- ar = *ar2;
- } else {
- zval *tmpAr;
- MAKE_STD_ZVAL(tmpAr);
- array_init(tmpAr);
- zend_hash_index_update(Z_ARRVAL_P(ar), pos[i], &tmpAr, sizeof(zval*), (void**)&ar2);
- ar = *ar2;
- }
- i++;
- }
- zend_hash_index_update(Z_ARRVAL_P(ar), pos[i], &tmpVal, sizeof(zval *), NULL);
-
- /* Increment position */
- i = dimension;
- while (i > 0) {
- i--;
- pos[i]++;
- if (pos[i] >= dims[i]) {
- if (i > 0) {
- pos[i] = 0;
- } else {
- /* TODO: Array index overflow */
- }
- } else {
- break;
- }
- }
- }
- trav = trav->next;
- }
- efree(dims);
- efree(pos);
- return ret;
-}
-
-/* Map encode/decode */
-static xmlNodePtr to_xml_map(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr xmlParam;
- int i;
-
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
- FIND_ZVAL_NULL(data, xmlParam, style);
-
- if (Z_TYPE_P(data) == IS_ARRAY) {
- i = zend_hash_num_elements(Z_ARRVAL_P(data));
- zend_hash_internal_pointer_reset(data->value.ht);
- for (;i > 0;i--) {
- xmlNodePtr xparam, item;
- xmlNodePtr key;
- zval **temp_data;
- char *key_val;
- int int_val;
-
- zend_hash_get_current_data(data->value.ht, (void **)&temp_data);
- if (Z_TYPE_PP(temp_data) != IS_NULL) {
- item = xmlNewNode(NULL,"item");
- xmlAddChild(xmlParam, item);
- key = xmlNewNode(NULL,"key");
- xmlAddChild(item,key);
- if (zend_hash_get_current_key(data->value.ht, &key_val, (long *)&int_val, FALSE) == HASH_KEY_IS_STRING) {
- if (style == SOAP_ENCODED) {
- xmlSetProp(key, "xsi:type", "xsd:string");
- }
- xmlNodeSetContent(key, key_val);
- } else {
- smart_str tmp = {0};
- smart_str_append_long(&tmp, int_val);
- smart_str_0(&tmp);
-
- if (style == SOAP_ENCODED) {
- xmlSetProp(key, "xsi:type", "xsd:int");
- }
- xmlNodeSetContentLen(key, tmp.c, tmp.len);
-
- smart_str_free(&tmp);
- }
-
- xparam = master_to_xml(get_conversion((*temp_data)->type), (*temp_data), style, item);
-
- xmlNodeSetName(xparam, "value");
- }
- zend_hash_move_forward(data->value.ht);
- }
- }
- if (style == SOAP_ENCODED) {
- set_ns_and_type(xmlParam, type);
- }
-
- return xmlParam;
-}
-
-static zval *to_zval_map(encodeTypePtr type, xmlNodePtr data)
-{
- zval *ret, *key, *value;
- xmlNodePtr trav, item, xmlKey, xmlValue;
-
- MAKE_STD_ZVAL(ret);
- FIND_XML_NULL(data, ret);
-
- if (data && data->children) {
- array_init(ret);
- trav = data->children;
-
- trav = data->children;
- FOREACHNODE(trav, "item", item) {
- xmlKey = get_node(item->children, "key");
- if (!xmlKey) {
- soap_error0(E_ERROR, "Encoding: Can't decode apache map, missing key");
- }
-
- xmlValue = get_node(item->children, "value");
- if (!xmlKey) {
- soap_error0(E_ERROR, "Encoding: Can't decode apache map, missing value");
- }
-
- key = master_to_zval(NULL, xmlKey);
- value = master_to_zval(NULL, xmlValue);
-
- if (Z_TYPE_P(key) == IS_STRING) {
- zend_hash_update(Z_ARRVAL_P(ret), Z_STRVAL_P(key), Z_STRLEN_P(key) + 1, &value, sizeof(zval *), NULL);
- } else if (Z_TYPE_P(key) == IS_LONG) {
- zend_hash_index_update(Z_ARRVAL_P(ret), Z_LVAL_P(key), &value, sizeof(zval *), NULL);
- } else {
- soap_error0(E_ERROR, "Encoding: Can't decode apache map, only Strings or Longs are allowd as keys");
- }
- zval_ptr_dtor(&key);
- }
- ENDFOREACH(trav);
- } else {
- ZVAL_NULL(ret);
- }
- return ret;
-}
-
-/* Unknown encode/decode */
-static xmlNodePtr guess_xml_convert(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- encodePtr enc;
- xmlNodePtr ret;
-
- if (data) {
- enc = get_conversion(data->type);
- } else {
- enc = get_conversion(IS_NULL);
- }
- ret = master_to_xml(enc, data, style, parent);
-/*
- if (style == SOAP_LITERAL && SOAP_GLOBAL(sdl)) {
- encode_add_ns(node, XSI_NAMESPACE);
- set_ns_and_type(ret, &enc->details);
- }
-*/
- return ret;
-}
-
-static zval *guess_zval_convert(encodeTypePtr type, xmlNodePtr data)
-{
- encodePtr enc = NULL;
- xmlAttrPtr tmpattr;
- char *type_name = NULL;
- zval *ret;
- TSRMLS_FETCH();
-
- data = check_and_resolve_href(data);
-
- if (data == NULL) {
- enc = get_conversion(IS_NULL);
- } else if (data->properties && get_attribute_ex(data->properties, "nil", XSI_NAMESPACE)) {
- enc = get_conversion(IS_NULL);
- } else {
- tmpattr = get_attribute_ex(data->properties,"type", XSI_NAMESPACE);
- if (tmpattr != NULL) {
- type_name = tmpattr->children->content;
- enc = get_encoder_from_prefix(SOAP_GLOBAL(sdl), data, tmpattr->children->content);
- if (enc && type == &enc->details) {
- enc = NULL;
- }
- if (enc != NULL) {
- encodePtr tmp = enc;
- while (tmp &&
- tmp->details.sdl_type != NULL &&
- tmp->details.sdl_type->kind != XSD_TYPEKIND_COMPLEX) {
- if (enc == tmp->details.sdl_type->encode ||
- tmp == tmp->details.sdl_type->encode) {
- enc = NULL;
- break;
- }
- tmp = tmp->details.sdl_type->encode;
- }
- }
- }
-
- if (enc == NULL) {
- /* Didn't have a type, totally guess here */
- /* Logic: has children = IS_OBJECT else IS_STRING */
- xmlNodePtr trav;
-
- if (get_attribute(data->properties, "arrayType") ||
- get_attribute(data->properties, "itemType") ||
- get_attribute(data->properties, "arraySize")) {
- enc = get_conversion(SOAP_ENC_ARRAY);
- } else {
- enc = get_conversion(XSD_STRING);
- trav = data->children;
- while (trav != NULL) {
- if (trav->type == XML_ELEMENT_NODE) {
- enc = get_conversion(SOAP_ENC_OBJECT);
- break;
- }
- trav = trav->next;
- }
- }
- }
- }
- ret = master_to_zval_int(enc, data);
- if (SOAP_GLOBAL(sdl) && type_name && enc->details.sdl_type) {
- zval* soapvar;
- char *ns, *cptype;
- xmlNsPtr nsptr;
-
- MAKE_STD_ZVAL(soapvar);
- object_init_ex(soapvar, soap_var_class_entry);
- add_property_long(soapvar, "enc_type", enc->details.type);
-#ifdef ZEND_ENGINE_2
- ret->refcount--;
-#endif
- add_property_zval(soapvar, "enc_value", ret);
- parse_namespace(type_name, &cptype, &ns);
- nsptr = xmlSearchNs(data->doc, data, ns);
- add_property_string(soapvar, "enc_stype", cptype, 1);
- if (nsptr) {
- add_property_string(soapvar, "enc_ns", (char*)nsptr->href, 1);
- }
- efree(cptype);
- if (ns) {efree(ns);}
- ret = soapvar;
- }
- return ret;
-}
-
-/* Time encode/decode */
-static xmlNodePtr to_xml_datetime_ex(encodeTypePtr type, zval *data, char *format, int style, xmlNodePtr parent)
-{
- /* logic hacked from ext/standard/datetime.c */
- struct tm *ta, tmbuf;
- time_t timestamp;
- int max_reallocs = 5;
- size_t buf_len=64, real_len;
- char *buf;
- char tzbuf[8];
-
- xmlNodePtr xmlParam;
-
- xmlParam = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, xmlParam);
- FIND_ZVAL_NULL(data, xmlParam, style);
-
- if (Z_TYPE_P(data) == IS_LONG) {
- timestamp = Z_LVAL_P(data);
- ta = php_localtime_r(&timestamp, &tmbuf);
- /*ta = php_gmtime_r(&timestamp, &tmbuf);*/
-
- buf = (char *) emalloc(buf_len);
- while ((real_len = strftime(buf, buf_len, format, ta)) == buf_len || real_len == 0) {
- buf_len *= 2;
- buf = (char *) erealloc(buf, buf_len);
- if (!--max_reallocs) break;
- }
-
- /* Time zone support */
-#ifdef HAVE_TM_GMTOFF
- sprintf(tzbuf, "%c%02d:%02d", (ta->tm_gmtoff < 0) ? '-' : '+', abs(ta->tm_gmtoff / 3600), abs( (ta->tm_gmtoff % 3600) / 60 ));
-#else
-# ifdef __CYGWIN__
- sprintf(tzbuf, "%c%02d:%02d", ((ta->tm_isdst ? _timezone - 3600:_timezone)>0)?'-':'+', abs((ta->tm_isdst ? _timezone - 3600 : _timezone) / 3600), abs(((ta->tm_isdst ? _timezone - 3600 : _timezone) % 3600) / 60));
-# else
- sprintf(tzbuf, "%c%02d:%02d", ((ta->tm_isdst ? timezone - 3600:timezone)>0)?'-':'+', abs((ta->tm_isdst ? timezone - 3600 : timezone) / 3600), abs(((ta->tm_isdst ? timezone - 3600 : timezone) % 3600) / 60));
-# endif
-#endif
- if (strcmp(tzbuf,"+00:00") == 0) {
- strcpy(tzbuf,"Z");
- real_len++;
- } else {
- real_len += 6;
- }
- if (real_len >= buf_len) {
- buf = (char *) erealloc(buf, real_len+1);
- }
- strcat(buf, tzbuf);
-
- xmlNodeSetContent(xmlParam, buf);
- efree(buf);
- } else if (Z_TYPE_P(data) == IS_STRING) {
- xmlNodeSetContentLen(xmlParam, Z_STRVAL_P(data), Z_STRLEN_P(data));
- }
-
- if (style == SOAP_ENCODED) {
- set_ns_and_type(xmlParam, type);
- }
- return xmlParam;
-}
-
-static xmlNodePtr to_xml_duration(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- /* TODO: '-'?P([0-9]+Y)?([0-9]+M)?([0-9]+D)?T([0-9]+H)?([0-9]+M)?([0-9]+S)? */
- return to_xml_string(type, data, style, parent);
-}
-
-static xmlNodePtr to_xml_datetime(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- return to_xml_datetime_ex(type, data, "%Y-%m-%dT%H:%M:%S", style, parent);
-}
-
-static xmlNodePtr to_xml_time(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- /* TODO: microsecconds */
- return to_xml_datetime_ex(type, data, "%H:%M:%S", style, parent);
-}
-
-static xmlNodePtr to_xml_date(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- return to_xml_datetime_ex(type, data, "%Y-%m-%d", style, parent);
-}
-
-static xmlNodePtr to_xml_gyearmonth(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- return to_xml_datetime_ex(type, data, "%Y-%m", style, parent);
-}
-
-static xmlNodePtr to_xml_gyear(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- return to_xml_datetime_ex(type, data, "%Y", style, parent);
-}
-
-static xmlNodePtr to_xml_gmonthday(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- return to_xml_datetime_ex(type, data, "--%m-%d", style, parent);
-}
-
-static xmlNodePtr to_xml_gday(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- return to_xml_datetime_ex(type, data, "---%d", style, parent);
-}
-
-static xmlNodePtr to_xml_gmonth(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- return to_xml_datetime_ex(type, data, "--%m--", style, parent);
-}
-
-static zval* to_zval_list(encodeTypePtr enc, xmlNodePtr data) {
- /*FIXME*/
- return to_zval_stringc(enc, data);
-}
-
-static xmlNodePtr to_xml_list(encodeTypePtr enc, zval *data, int style, xmlNodePtr parent) {
- xmlNodePtr ret;
- encodePtr list_enc = NULL;
-
- if (enc->sdl_type && enc->sdl_type->kind == XSD_TYPEKIND_LIST && enc->sdl_type->elements) {
- sdlTypePtr *type;
-
- zend_hash_internal_pointer_reset(enc->sdl_type->elements);
- if (zend_hash_get_current_data(enc->sdl_type->elements, (void**)&type) == SUCCESS) {
- list_enc = (*type)->encode;
- }
- }
-
- ret = xmlNewNode(NULL,"BOGUS");
- xmlAddChild(parent, ret);
- FIND_ZVAL_NULL(data, ret, style);
- if (Z_TYPE_P(data) == IS_ARRAY) {
- zval **tmp;
- smart_str list = {0};
- HashTable *ht = Z_ARRVAL_P(data);
-
- zend_hash_internal_pointer_reset(ht);
- while (zend_hash_get_current_data(ht, (void**)&tmp) == SUCCESS) {
- xmlNodePtr dummy = master_to_xml(list_enc, *tmp, SOAP_LITERAL, ret);
- if (dummy && dummy->children && dummy->children->content) {
- if (list.len != 0) {
- smart_str_appendc(&list, ' ');
- }
- smart_str_appends(&list, dummy->children->content);
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- xmlUnlinkNode(dummy);
- xmlFreeNode(dummy);
- zend_hash_move_forward(ht);
- }
- smart_str_0(&list);
- xmlNodeSetContentLen(ret, list.c, list.len);
- smart_str_free(&list);
- } else {
- zval tmp = *data;
- char *str, *start, *next;
- smart_str list = {0};
-
- if (Z_TYPE_P(data) != IS_STRING) {
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- data = &tmp;
- }
- str = estrndup(Z_STRVAL_P(data), Z_STRLEN_P(data));
- whiteSpace_collapse(str);
- start = str;
- while (start != NULL && *start != '\0') {
- xmlNodePtr dummy;
- zval dummy_zval;
-
- next = strchr(start,' ');
- if (next != NULL) {
- *next = '\0';
- next++;
- }
- ZVAL_STRING(&dummy_zval, start, 0);
- dummy = master_to_xml(list_enc, &dummy_zval, SOAP_LITERAL, ret);
- if (dummy && dummy->children && dummy->children->content) {
- if (list.len != 0) {
- smart_str_appendc(&list, ' ');
- }
- smart_str_appends(&list, dummy->children->content);
- } else {
- soap_error0(E_ERROR, "Encoding: Violation of encoding rules");
- }
- xmlUnlinkNode(dummy);
- xmlFreeNode(dummy);
-
- start = next;
- }
- smart_str_0(&list);
- xmlNodeSetContentLen(ret, list.c, list.len);
- smart_str_free(&list);
- efree(str);
- if (data == &tmp) {zval_dtor(&tmp);}
- }
- return ret;
-}
-
-static xmlNodePtr to_xml_list1(encodeTypePtr enc, zval *data, int style, xmlNodePtr parent) {
- /*FIXME: minLength=1 */
- return to_xml_list(enc,data,style, parent);
-}
-
-static zval* to_zval_union(encodeTypePtr enc, xmlNodePtr data) {
- /*FIXME*/
- return to_zval_list(enc, data);
-}
-
-static xmlNodePtr to_xml_union(encodeTypePtr enc, zval *data, int style, xmlNodePtr parent) {
- /*FIXME*/
- return to_xml_list(enc,data,style, parent);
-}
-
-static zval *to_zval_any(encodeTypePtr type, xmlNodePtr data)
-{
- xmlBufferPtr buf;
- zval *ret;
-
- buf = xmlBufferCreate();
- xmlNodeDump(buf, NULL, data, 0, 0);
- MAKE_STD_ZVAL(ret);
- ZVAL_STRING(ret, (char*)xmlBufferContent(buf), 1);
- xmlBufferFree(buf);
- return ret;
-}
-
-static xmlNodePtr to_xml_any(encodeTypePtr type, zval *data, int style, xmlNodePtr parent)
-{
- xmlNodePtr ret;
-
- if (Z_TYPE_P(data) == IS_STRING) {
- ret = xmlNewTextLen(Z_STRVAL_P(data), Z_STRLEN_P(data));
- } else {
- zval tmp = *data;
-
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- ret = xmlNewTextLen(Z_STRVAL_P(data), Z_STRLEN_P(data));
- zval_dtor(&tmp);
- }
- ret->name = xmlStringTextNoenc;
- xmlAddChild(parent, ret);
-
- return ret;
-}
-
-zval *sdl_guess_convert_zval(encodeTypePtr enc, xmlNodePtr data)
-{
- sdlTypePtr type;
-
- type = enc->sdl_type;
- if (type == NULL) {
- return guess_zval_convert(enc, data);
- }
-/*FIXME: restriction support
- if (type && type->restrictions &&
- data && data->children && data->children->content) {
- if (type->restrictions->whiteSpace && type->restrictions->whiteSpace->value) {
- if (strcmp(type->restrictions->whiteSpace->value,"replace") == 0) {
- whiteSpace_replace(data->children->content);
- } else if (strcmp(type->restrictions->whiteSpace->value,"collapse") == 0) {
- whiteSpace_collapse(data->children->content);
- }
- }
- if (type->restrictions->enumeration) {
- if (!zend_hash_exists(type->restrictions->enumeration,data->children->content,strlen(data->children->content)+1)) {
- soap_error1(E_WARNING, "Encoding: Restriction: invalid enumeration value \"%s\"", data->children->content);
- }
- }
- if (type->restrictions->minLength &&
- strlen(data->children->content) < type->restrictions->minLength->value) {
- soap_error0(E_WARNING, "Encoding: Restriction: length less then 'minLength'");
- }
- if (type->restrictions->maxLength &&
- strlen(data->children->content) > type->restrictions->maxLength->value) {
- soap_error0(E_WARNING, "Encoding: Restriction: length greater then 'maxLength'");
- }
- if (type->restrictions->length &&
- strlen(data->children->content) != type->restrictions->length->value) {
- soap_error0(E_WARNING, "Encoding: Restriction: length is not equal to 'length'");
- }
- }
-*/
- switch (type->kind) {
- case XSD_TYPEKIND_SIMPLE:
- if (type->encode && enc != &type->encode->details) {
- return master_to_zval_int(type->encode, data);
- } else {
- return guess_zval_convert(enc, data);
- }
- break;
- case XSD_TYPEKIND_LIST:
- return to_zval_list(enc, data);
- case XSD_TYPEKIND_UNION:
- return to_zval_union(enc, data);
- case XSD_TYPEKIND_COMPLEX:
- case XSD_TYPEKIND_RESTRICTION:
- case XSD_TYPEKIND_EXTENSION:
- if (type->encode &&
- (type->encode->details.type == IS_ARRAY ||
- type->encode->details.type == SOAP_ENC_ARRAY)) {
- return to_zval_array(enc, data);
- }
- return to_zval_object(enc, data);
- default:
- soap_error0(E_ERROR, "Encoding: Internal Error");
- return guess_zval_convert(enc, data);
- }
-}
-
-xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval *data, int style, xmlNodePtr parent)
-{
- sdlTypePtr type;
- xmlNodePtr ret = NULL;
-
- type = enc->sdl_type;
-
- if (type == NULL) {
- ret = guess_xml_convert(enc, data, style, parent);
- if (style == SOAP_ENCODED) {
- set_ns_and_type(ret, enc);
- }
- return ret;
- }
-/*FIXME: restriction support
- if (type) {
- if (type->restrictions && Z_TYPE_P(data) == IS_STRING) {
- if (type->restrictions->enumeration) {
- if (!zend_hash_exists(type->restrictions->enumeration,Z_STRVAL_P(data),Z_STRLEN_P(data)+1)) {
- soap_error1(E_WARNING, "Encoding: Restriction: invalid enumeration value \"%s\".", Z_STRVAL_P(data));
- }
- }
- if (type->restrictions->minLength &&
- Z_STRLEN_P(data) < type->restrictions->minLength->value) {
- soap_error0(E_WARNING, "Encoding: Restriction: length less then 'minLength'");
- }
- if (type->restrictions->maxLength &&
- Z_STRLEN_P(data) > type->restrictions->maxLength->value) {
- soap_error0(E_WARNING, "Encoding: Restriction: length greater then 'maxLength'");
- }
- if (type->restrictions->length &&
- Z_STRLEN_P(data) != type->restrictions->length->value) {
- soap_error0(E_WARNING, "Encoding: Restriction: length is not equal to 'length'");
- }
- }
- }
-*/
- switch(type->kind) {
- case XSD_TYPEKIND_SIMPLE:
- if (type->encode && enc != &type->encode->details) {
- ret = master_to_xml(type->encode, data, style, parent);
- } else {
- ret = guess_xml_convert(enc, data, style, parent);
- }
- break;
- case XSD_TYPEKIND_LIST:
- ret = to_xml_list(enc, data, style, parent);
- break;
- case XSD_TYPEKIND_UNION:
- ret = to_xml_union(enc, data, style, parent);
- break;
- case XSD_TYPEKIND_COMPLEX:
- case XSD_TYPEKIND_RESTRICTION:
- case XSD_TYPEKIND_EXTENSION:
- if (type->encode &&
- (type->encode->details.type == IS_ARRAY ||
- type->encode->details.type == SOAP_ENC_ARRAY)) {
- ret = to_xml_array(enc, data, style, parent);
- } else {
- ret = to_xml_object(enc, data, style, parent);
- }
- break;
- default:
- soap_error0(E_ERROR, "Encoding: Internal Error");
- break;
- }
- if (style == SOAP_ENCODED) {
- set_ns_and_type(ret, enc);
- }
- return ret;
-}
-
-static xmlNodePtr check_and_resolve_href(xmlNodePtr data)
-{
- if (data && data->properties) {
- xmlAttrPtr href;
-
- href = data->properties;
- while (1) {
- href = get_attribute(href, "href");
- if (href == NULL || href->ns == NULL) {break;}
- href = href->next;
- }
- if (href) {
- /* Internal href try and find node */
- if (href->children->content[0] == '#') {
- xmlNodePtr ret = get_node_with_attribute_recursive(data->doc->children, NULL, "id", &href->children->content[1]);
- if (!ret) {
- soap_error1(E_ERROR, "Encoding: Unresolved reference '%s'", href->children->content);
- }
- return ret;
- } else {
- /* TODO: External href....? */
- soap_error1(E_ERROR, "Encoding: External reference '%s'", href->children->content);
- }
- }
- /* SOAP 1.2 enc:id enc:ref */
- href = get_attribute_ex(data->properties, "ref", SOAP_1_2_ENC_NAMESPACE);
- if (href) {
- char* id;
- xmlNodePtr ret;
-
- if (href->children->content[0] == '#') {
- id = href->children->content+1;
- } else {
- id = href->children->content;
- }
- ret = get_node_with_attribute_recursive_ex(data->doc->children, NULL, NULL, "id", id, SOAP_1_2_ENC_NAMESPACE);
- if (!ret) {
- soap_error1(E_ERROR, "Encoding: Unresolved reference '%s'", href->children->content);
- } else if (ret == data) {
- soap_error1(E_ERROR, "Encoding: Violation of id and ref information items '%s'", href->children->content);
- }
- return ret;
- }
- }
- return data;
-}
-
-static void set_ns_and_type(xmlNodePtr node, encodeTypePtr type)
-{
- set_ns_and_type_ex(node, type->ns, type->type_str);
-}
-
-static void set_ns_and_type_ex(xmlNodePtr node, char *ns, char *type)
-{
- smart_str nstype = {0};
- get_type_str(node, ns, type, &nstype);
- xmlSetProp(node, "xsi:type", nstype.c);
- smart_str_free(&nstype);
-}
-
-xmlNsPtr encode_add_ns(xmlNodePtr node, const char* ns)
-{
- xmlNsPtr xmlns;
-
- if (ns == NULL) {
- return NULL;
- }
-
- xmlns = xmlSearchNsByHref(node->doc,node,ns);
- if (xmlns == NULL) {
- char* prefix;
- TSRMLS_FETCH();
-
- if (zend_hash_find(&SOAP_GLOBAL(defEncNs), (char*)ns, strlen(ns) + 1, (void **)&prefix) == SUCCESS) {
- xmlns = xmlNewNs(node->doc->children,ns,prefix);
- } else {
- smart_str prefix = {0};
- int num = ++SOAP_GLOBAL(cur_uniq_ns);
-
- smart_str_appendl(&prefix, "ns", 2);
- smart_str_append_long(&prefix, num);
- smart_str_0(&prefix);
- xmlns = xmlNewNs(node->doc->children,ns,prefix.c);
- smart_str_free(&prefix);
- }
- }
- return xmlns;
-}
-
-void encode_reset_ns()
-{
- TSRMLS_FETCH();
- SOAP_GLOBAL(cur_uniq_ns) = 0;
-}
-
-encodePtr get_conversion(int encode)
-{
- encodePtr *enc = NULL;
- TSRMLS_FETCH();
-
- if (zend_hash_index_find(&SOAP_GLOBAL(defEncIndex), encode, (void **)&enc) == FAILURE) {
- if (SOAP_GLOBAL(overrides)) {
- smart_str nscat = {0};
-
- smart_str_appendl(&nscat, (*enc)->details.ns, strlen((*enc)->details.ns));
- smart_str_appendc(&nscat, ':');
- smart_str_appendl(&nscat, (*enc)->details.type_str, strlen((*enc)->details.type_str));
- smart_str_0(&nscat);
-
- if (zend_hash_find(SOAP_GLOBAL(overrides), nscat.c, nscat.len + 1, (void **)&enc) == FAILURE) {
- smart_str_free(&nscat);
- soap_error0(E_ERROR, "Encoding: Cannot find encoding");
- return NULL;
- } else {
- smart_str_free(&nscat);
- return *enc;
- }
- } else {
- soap_error0(E_ERROR, "Encoding: Cannot find encoding");
- return NULL;
- }
- } else {
- return *enc;
- }
-}
-
-static int is_map(zval *array)
-{
- int i, count = zend_hash_num_elements(Z_ARRVAL_P(array));
-
- zend_hash_internal_pointer_reset(Z_ARRVAL_P(array));
- for (i = 0;i < count;i++) {
- if (zend_hash_get_current_key_type(Z_ARRVAL_P(array)) == HASH_KEY_IS_STRING) {
- return TRUE;
- }
- zend_hash_move_forward(Z_ARRVAL_P(array));
- }
- return FALSE;
-}
-
-static encodePtr get_array_type(xmlNodePtr node, zval *array, smart_str *type TSRMLS_DC)
-{
- HashTable *ht;
- int i, count, cur_type, prev_type, different;
- zval **tmp;
- char *prev_stype = NULL, *cur_stype = NULL, *prev_ns = NULL, *cur_ns = NULL;
-
- if (!array || Z_TYPE_P(array) != IS_ARRAY) {
- smart_str_appendl(type, "xsd:anyType", 11);
- return get_conversion(XSD_ANYTYPE);
- }
-
- different = FALSE;
- cur_type = prev_type = 0;
- ht = HASH_OF(array);
- count = zend_hash_num_elements(ht);
-
- zend_hash_internal_pointer_reset(ht);
- for (i = 0;i < count;i++) {
- zend_hash_get_current_data(ht, (void **)&tmp);
-
- if (Z_TYPE_PP(tmp) == IS_OBJECT &&
- Z_OBJCE_PP(tmp) == soap_var_class_entry) {
- zval **ztype;
-
- if (zend_hash_find(Z_OBJPROP_PP(tmp), "enc_type", sizeof("enc_type"), (void **)&ztype) == FAILURE) {
- soap_error0(E_ERROR, "Encoding: SoapVar hasn't 'enc_type' property");
- }
- cur_type = Z_LVAL_PP(ztype);
-
- if (zend_hash_find(Z_OBJPROP_PP(tmp), "enc_stype", sizeof("enc_stype"), (void **)&ztype) == SUCCESS) {
- cur_stype = Z_STRVAL_PP(ztype);
- } else {
- cur_stype = NULL;
- }
-
- if (zend_hash_find(Z_OBJPROP_PP(tmp), "enc_ns", sizeof("enc_ns"), (void **)&ztype) == SUCCESS) {
- cur_ns = Z_STRVAL_PP(ztype);
- } else {
- cur_ns = NULL;
- }
-
- } else if (Z_TYPE_PP(tmp) == IS_ARRAY && is_map(*tmp)) {
- cur_type = APACHE_MAP;
- cur_stype = NULL;
- cur_ns = NULL;
- } else {
- cur_type = Z_TYPE_PP(tmp);
- cur_stype = NULL;
- cur_ns = NULL;
- }
-
- if (i > 0) {
- if ((cur_type != prev_type) ||
- (cur_stype != NULL && prev_stype != NULL && strcmp(cur_stype,prev_stype) != 0) ||
- (cur_stype == NULL && cur_stype != prev_stype) ||
- (cur_ns != NULL && prev_ns != NULL && strcmp(cur_ns,prev_ns) != 0) ||
- (cur_ns == NULL && cur_ns != prev_ns)) {
- different = TRUE;
- break;
- }
- }
-
- prev_type = cur_type;
- prev_stype = cur_stype;
- prev_ns = cur_ns;
- zend_hash_move_forward(ht);
- }
-
- if (different || count == 0) {
- smart_str_appendl(type, "xsd:anyType", 11);
- return get_conversion(XSD_ANYTYPE);
- } else {
- encodePtr enc;
-
- if (cur_stype != NULL) {
- smart_str array_type = {0};
-
- if (cur_ns) {
- xmlNsPtr ns = encode_add_ns(node,cur_ns);
-
- smart_str_appends(type, ns->prefix);
- smart_str_appendc(type, ':');
- smart_str_appends(&array_type, cur_ns);
- smart_str_appendc(&array_type, ':');
- }
- smart_str_appends(type, cur_stype);
- smart_str_0(type);
- smart_str_appends(&array_type, cur_stype);
- smart_str_0(&array_type);
-
- enc = get_encoder_ex(SOAP_GLOBAL(sdl), array_type.c, array_type.len);
- smart_str_free(&array_type);
- return enc;
- } else {
- enc = get_conversion(cur_type);
- get_type_str(node, enc->details.ns, enc->details.type_str, type);
- return enc;
- }
- }
-}
-
-static void get_type_str(xmlNodePtr node, const char* ns, const char* type, smart_str* ret)
-{
- TSRMLS_FETCH();
-
- if (ns) {
- xmlNsPtr xmlns;
- if (SOAP_GLOBAL(soap_version) == SOAP_1_2 &&
- strcmp(ns,SOAP_1_1_ENC_NAMESPACE) == 0) {
- ns = SOAP_1_2_ENC_NAMESPACE;
- } else if (SOAP_GLOBAL(soap_version) == SOAP_1_1 &&
- strcmp(ns,SOAP_1_2_ENC_NAMESPACE) == 0) {
- ns = SOAP_1_1_ENC_NAMESPACE;
- }
- xmlns = encode_add_ns(node,ns);
- smart_str_appends(ret, xmlns->prefix);
- smart_str_appendc(ret, ':');
- }
- smart_str_appendl(ret, type, strlen(type));
- smart_str_0(ret);
-}
-
-static void delete_mapping(void *data)
-{
- soapMappingPtr map = (soapMappingPtr)data;
-
- if (map->ns) {
- efree(map->ns);
- }
- if (map->ctype) {
- efree(map->ctype);
- }
-
- if (map->type == SOAP_MAP_FUNCTION) {
- if (map->map_functions.to_xml_before) {
- zval_ptr_dtor(&map->map_functions.to_xml_before);
- }
- if (map->map_functions.to_xml) {
- zval_ptr_dtor(&map->map_functions.to_xml);
- }
- if (map->map_functions.to_xml_after) {
- zval_ptr_dtor(&map->map_functions.to_xml_after);
- }
- if (map->map_functions.to_zval_before) {
- zval_ptr_dtor(&map->map_functions.to_zval_before);
- }
- if (map->map_functions.to_zval) {
- zval_ptr_dtor(&map->map_functions.to_zval);
- }
- if (map->map_functions.to_zval_after) {
- zval_ptr_dtor(&map->map_functions.to_zval_after);
- }
- }
- efree(map);
-}
-
-void delete_encoder(void *encode)
-{
- encodePtr t = *((encodePtr*)encode);
- if (t->details.ns) {
- efree(t->details.ns);
- }
- if (t->details.type_str) {
- efree(t->details.type_str);
- }
- if (t->details.map) {
- delete_mapping(t->details.map);
- }
- efree(t);
-}
diff --git a/ext/soap/php_encoding.h b/ext/soap/php_encoding.h
deleted file mode 100644
index b373c8b843..0000000000
--- a/ext/soap/php_encoding.h
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifndef PHP_ENCODING_H
-#define PHP_ENCODING_H
-
-#define XSD_1999_NAMESPACE "http://www.w3.org/1999/XMLSchema"
-#define XSD_1999_TIMEINSTANT 401
-#define XSD_1999_TIMEINSTANT_STRING "timeInstant"
-
-#define SOAP_1_1_ENV_NAMESPACE "http://schemas.xmlsoap.org/soap/envelope/"
-#define SOAP_1_1_ENV_NS_PREFIX "SOAP-ENV"
-
-#define SOAP_1_2_ENV_NAMESPACE "http://www.w3.org/2003/05/soap-envelope"
-#define SOAP_1_2_ENV_NS_PREFIX "env"
-
-#define SOAP_1_1_ENC_NAMESPACE "http://schemas.xmlsoap.org/soap/encoding/"
-#define SOAP_1_1_ENC_NS_PREFIX "SOAP-ENC"
-
-#define SOAP_1_2_ENC_NAMESPACE "http://www.w3.org/2003/05/soap-encoding"
-#define SOAP_1_2_ENC_NS_PREFIX "enc"
-
-#define SCHEMA_NAMESPACE "http://www.w3.org/2001/XMLSchema"
-#define XSD_NAMESPACE "http://www.w3.org/2001/XMLSchema"
-#define XSD_NS_PREFIX "xsd"
-#define XSI_NAMESPACE "http://www.w3.org/2001/XMLSchema-instance"
-#define XSI_NS_PREFIX "xsi"
-#define XML_NAMESPACE "http://www.w3.org/XML/1998/namespace"
-#define XML_NS_PREFIX "xml"
-
-#define XSD_STRING 101
-#define XSD_STRING_STRING "string"
-#define XSD_BOOLEAN 102
-#define XSD_BOOLEAN_STRING "boolean"
-#define XSD_DECIMAL 103
-#define XSD_DECIMAL_STRING "decimal"
-#define XSD_FLOAT 104
-#define XSD_FLOAT_STRING "float"
-#define XSD_DOUBLE 105
-#define XSD_DOUBLE_STRING "double"
-#define XSD_DURATION 106
-#define XSD_DURATION_STRING "duration"
-#define XSD_DATETIME 107
-#define XSD_DATETIME_STRING "dateTime"
-#define XSD_TIME 108
-#define XSD_TIME_STRING "time"
-#define XSD_DATE 109
-#define XSD_DATE_STRING "date"
-#define XSD_GYEARMONTH 110
-#define XSD_GYEARMONTH_STRING "gYearMonth"
-#define XSD_GYEAR 111
-#define XSD_GYEAR_STRING "gYear"
-#define XSD_GMONTHDAY 112
-#define XSD_GMONTHDAY_STRING "gMonthDay"
-#define XSD_GDAY 113
-#define XSD_GDAY_STRING "gDay"
-#define XSD_GMONTH 114
-#define XSD_GMONTH_STRING "gMonth"
-#define XSD_HEXBINARY 115
-#define XSD_HEXBINARY_STRING "hexBinary"
-#define XSD_BASE64BINARY 116
-#define XSD_BASE64BINARY_STRING "base64Binary"
-#define XSD_ANYURI 117
-#define XSD_ANYURI_STRING "anyURI"
-#define XSD_QNAME 118
-#define XSD_QNAME_STRING "QName"
-#define XSD_NOTATION 119
-#define XSD_NOTATION_STRING "NOTATION"
-#define XSD_NORMALIZEDSTRING 120
-#define XSD_NORMALIZEDSTRING_STRING "normalizedString"
-#define XSD_TOKEN 121
-#define XSD_TOKEN_STRING "token"
-#define XSD_LANGUAGE 122
-#define XSD_LANGUAGE_STRING "language"
-#define XSD_NMTOKEN 123
-#define XSD_NMTOKEN_STRING "NMTOKEN"
-#define XSD_NAME 124
-#define XSD_NAME_STRING "Name"
-#define XSD_NCNAME 125
-#define XSD_NCNAME_STRING "NCName"
-#define XSD_ID 126
-#define XSD_ID_STRING "ID"
-#define XSD_IDREF 127
-#define XSD_IDREF_STRING "IDREF"
-#define XSD_IDREFS 128
-#define XSD_IDREFS_STRING "IDREFS"
-#define XSD_ENTITY 129
-#define XSD_ENTITY_STRING "ENTITY"
-#define XSD_ENTITIES 130
-#define XSD_ENTITIES_STRING "ENTITIES"
-#define XSD_INTEGER 131
-#define XSD_INTEGER_STRING "integer"
-#define XSD_NONPOSITIVEINTEGER 132
-#define XSD_NONPOSITIVEINTEGER_STRING "nonPositiveInteger"
-#define XSD_NEGATIVEINTEGER 133
-#define XSD_NEGATIVEINTEGER_STRING "negativeInteger"
-#define XSD_LONG 134
-#define XSD_LONG_STRING "long"
-#define XSD_INT 135
-#define XSD_INT_STRING "int"
-#define XSD_SHORT 136
-#define XSD_SHORT_STRING "short"
-#define XSD_BYTE 137
-#define XSD_BYTE_STRING "byte"
-#define XSD_NONNEGATIVEINTEGER 138
-#define XSD_NONNEGATIVEINTEGER_STRING "nonNegativeInteger"
-#define XSD_UNSIGNEDLONG 139
-#define XSD_UNSIGNEDLONG_STRING "unsignedLong"
-#define XSD_UNSIGNEDINT 140
-#define XSD_UNSIGNEDINT_STRING "unsignedInt"
-#define XSD_UNSIGNEDSHORT 141
-#define XSD_UNSIGNEDSHORT_STRING "unsignedShort"
-#define XSD_UNSIGNEDBYTE 142
-#define XSD_UNSIGNEDBYTE_STRING "unsignedByte"
-#define XSD_POSITIVEINTEGER 143
-#define XSD_POSITIVEINTEGER_STRING "positiveInteger"
-#define XSD_NMTOKENS 144
-#define XSD_NMTOKENS_STRING "NMTOKENS"
-#define XSD_ANYTYPE 145
-#define XSD_ANYTYPE_STRING "anyType"
-#define XSD_UR_TYPE 146
-#define XSD_UR_TYPE_STRING "ur-type"
-
-#define XSD_ANYXML 147
-
-#define APACHE_NAMESPACE "http://xml.apache.org/xml-soap"
-#define APACHE_MAP 200
-#define APACHE_MAP_STRING "Map"
-
-#define SOAP_ENC_ARRAY 300
-#define SOAP_ENC_ARRAY_STRING "Array"
-#define SOAP_ENC_OBJECT 301
-#define SOAP_ENC_OBJECT_STRING "Struct"
-
-#define WSDL_NAMESPACE "http://schemas.xmlsoap.org/wsdl/"
-#define WSDL_NS_PREFIX "wsdl"
-
-#define WSDL_SOAP11_NAMESPACE "http://schemas.xmlsoap.org/wsdl/soap/"
-#define WSDL_SOAP12_NAMESPACE "http://schemas.xmlsoap.org/wsdl/soap12/"
-#define RPC_SOAP12_NAMESPACE "http://www.w3.org/2003/05/soap-rpc"
-#define RPC_SOAP12_NS_PREFIX "rpc"
-
-#define WSDL_HTTP11_NAMESPACE "http://schemas.xmlsoap.org/wsdl/http/"
-#define WSDL_HTTP12_NAMESPACE "http://www.w3.org/2003/05/soap/bindings/HTTP/"
-#define WSDL_HTTP_NS_PREFIX "http"
-
-#define WSDL_HTTP_TRANSPORT "http://schemas.xmlsoap.org/soap/http"
-
-#define WSDL_MIME_NAMESPACE "http://schemas.xmlsoap.org/wsdl/mime/"
-
-#define WSDL_DIME_NAMESPACE "http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
-#define WSDL_DIME_OPEN "http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout"
-#define WSDL_DIME_CLOSED "http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout"
-
-#define UNKNOWN_TYPE 999998
-#define END_KNOWN_TYPES 999999
-
-struct _encodeType {
- int type;
- char *type_str;
- char *ns;
- sdlTypePtr sdl_type;
- soapMappingPtr map;
-};
-
-struct _encode {
- encodeType details;
- zval *(*to_zval)(encodeTypePtr type, xmlNodePtr data);
- xmlNodePtr (*to_xml)(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-
- xmlNodePtr (*to_zval_before)(encodeTypePtr type, xmlNodePtr data, int style);
- zval *(*to_zval_after)(encodeTypePtr type, zval *data);
-
- zval *(*to_xml_before)(encodeTypePtr type, zval *data);
- xmlNodePtr (*to_xml_after)(encodeTypePtr type, xmlNodePtr data, int style);
-};
-
-/* Master functions all encode/decode should be called thur these functions */
-xmlNodePtr master_to_xml(encodePtr encode, zval *data, int style, xmlNodePtr parent);
-zval *master_to_zval(encodePtr encode, xmlNodePtr data);
-
-#ifdef HAVE_PHP_DOMXML
-/* user defined mapping */
-zval *to_xml_before_user(encodeTypePtr type, zval *data);
-xmlNodePtr to_xml_user(encodeTypePtr type, zval *data, int style, xmlNodePtr parent);
-xmlNodePtr to_xml_after_user(encodeTypePtr type, xmlNodePtr node, int style);
-xmlNodePtr to_zval_before_user(encodeTypePtr type, xmlNodePtr node, int style);
-zval *to_zval_user(encodeTypePtr type, xmlNodePtr node);
-zval *to_zval_after_user(encodeTypePtr type, zval *data);
-#endif
-
-void whiteSpace_replace(char* str);
-void whiteSpace_collapse(char* str);
-
-xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval* data, int style, xmlNodePtr parent);
-zval *sdl_guess_convert_zval(encodeTypePtr enc, xmlNodePtr data);
-
-void encode_reset_ns();
-xmlNsPtr encode_add_ns(xmlNodePtr node, const char* ns);
-
-encodePtr get_conversion(int encode);
-
-void delete_encoder(void *handle);
-
-extern encode defaultEncoding[];
-
-#endif
diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c
deleted file mode 100644
index 607fe040c3..0000000000
--- a/ext/soap/php_http.c
+++ /dev/null
@@ -1,1246 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#include "php_soap.h"
-#include "ext/standard/base64.h"
-#include "ext/standard/md5.h"
-
-static char *get_http_header_value(char *headers, char *type);
-static int get_http_body(php_stream *socketd, int close, char *headers, char **response, int *out_size TSRMLS_DC);
-static int get_http_headers(php_stream *socketd,char **response, int *out_size TSRMLS_DC);
-
-#define smart_str_append_const(str, const) \
- smart_str_appendl(str,const,sizeof(const)-1)
-
-static int stream_alive(php_stream *stream TSRMLS_DC)
-{
- int socket;
- char buf;
-
- /* maybe better to use:
- * php_stream_set_option(stream, PHP_STREAM_OPTION_CHECK_LIVENESS, 0, NULL)
- * here instead */
-
- if (stream == NULL || stream->eof || php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT, (void**)&socket, 0) != SUCCESS) {
- return FALSE;
- }
- if (socket == -1) {
- return FALSE;
- } else {
- if (php_pollfd_for_ms(socket, PHP_POLLREADABLE, 0) > 0) {
- if (0 == recv(socket, &buf, sizeof(buf), MSG_PEEK) && php_socket_errno() != EAGAIN) {
- return FALSE;
- }
- }
- }
- return TRUE;
-}
-
-/* Proxy HTTP Authentication */
-void proxy_authentication(zval* this_ptr, smart_str* soap_headers TSRMLS_DC)
-{
- zval **login, **password;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_login", sizeof("_proxy_login"), (void **)&login) == SUCCESS) {
- char* buf;
- int len;
- smart_str auth = {0};
-
- smart_str_appendl(&auth, Z_STRVAL_PP(login), Z_STRLEN_PP(login));
- smart_str_appendc(&auth, ':');
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_password", sizeof("_proxy_password"), (void **)&password) == SUCCESS) {
- smart_str_appendl(&auth, Z_STRVAL_PP(password), Z_STRLEN_PP(password));
- }
- smart_str_0(&auth);
- buf = php_base64_encode(auth.c, auth.len, &len);
- smart_str_append_const(soap_headers, "Proxy-Authorization: Basic ");
- smart_str_appendl(soap_headers, buf, len);
- smart_str_append_const(soap_headers, "\r\n");
- efree(buf);
- smart_str_free(&auth);
- }
-}
-
-/* HTTP Authentication */
-void basic_authentication(zval* this_ptr, smart_str* soap_headers TSRMLS_DC)
-{
- zval **login, **password;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_login", sizeof("_login"), (void **)&login) == SUCCESS &&
- !zend_hash_exists(Z_OBJPROP_P(this_ptr), "_digest", sizeof("_digest"))) {
- char* buf;
- int len;
- smart_str auth = {0};
-
- smart_str_appendl(&auth, Z_STRVAL_PP(login), Z_STRLEN_PP(login));
- smart_str_appendc(&auth, ':');
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_password", sizeof("_password"), (void **)&password) == SUCCESS) {
- smart_str_appendl(&auth, Z_STRVAL_PP(password), Z_STRLEN_PP(password));
- }
- smart_str_0(&auth);
- buf = php_base64_encode(auth.c, auth.len, &len);
- smart_str_append_const(soap_headers, "Authorization: Basic ");
- smart_str_appendl(soap_headers, buf, len);
- smart_str_append_const(soap_headers, "\r\n");
- efree(buf);
- smart_str_free(&auth);
- }
-}
-
-static php_stream* http_connect(zval* this_ptr, php_url *phpurl, int use_ssl, int *use_proxy TSRMLS_DC)
-{
- php_stream *stream;
- zval **proxy_host, **proxy_port, **tmp;
- char *host;
- php_stream_context *context = NULL;
- char *name;
- long namelen;
- int port;
- int old_error_reporting;
- struct timeval tv;
- struct timeval *timeout = NULL;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_host", sizeof("_proxy_host"), (void **) &proxy_host) == SUCCESS &&
- Z_TYPE_PP(proxy_host) == IS_STRING &&
- zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_port", sizeof("_proxy_port"), (void **) &proxy_port) == SUCCESS &&
- Z_TYPE_PP(proxy_port) == IS_LONG) {
- host = Z_STRVAL_PP(proxy_host);
- port = Z_LVAL_PP(proxy_port);
- *use_proxy = 1;
- } else {
- host = phpurl->host;
- port = phpurl->port;
- }
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_connection_timeout", sizeof("_connection_timeout"), (void **) &tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_LONG && Z_LVAL_PP(tmp) > 0) {
- tv.tv_sec = Z_LVAL_PP(tmp);
- tv.tv_usec = 0;
- timeout = &tv;
- }
-
- old_error_reporting = EG(error_reporting);
- EG(error_reporting) &= ~(E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE);
-
- if (SUCCESS == zend_hash_find(Z_OBJPROP_P(this_ptr),
- "_stream_context", sizeof("_stream_context"), (void**)&tmp)) {
- context = php_stream_context_from_zval(*tmp, 0);
- }
-
- namelen = spprintf(&name, 0, "%s://%s:%d", (use_ssl && !*use_proxy)? "ssl" : "tcp", host, port);
-
- stream = php_stream_xport_create(name, namelen,
- ENFORCE_SAFE_MODE | REPORT_ERRORS,
- STREAM_XPORT_CLIENT | STREAM_XPORT_CONNECT,
- NULL /*persistent_id*/,
- timeout,
- context,
- NULL, NULL);
- efree(name);
-
- /* SSL & proxy */
- if (stream && *use_proxy && use_ssl) {
- smart_str soap_headers = {0};
- char *http_headers;
- int http_header_size;
-
- smart_str_append_const(&soap_headers, "CONNECT ");
- smart_str_appends(&soap_headers, phpurl->host);
- smart_str_appendc(&soap_headers, ':');
- smart_str_append_unsigned(&soap_headers, phpurl->port);
- smart_str_append_const(&soap_headers, " HTTP/1.1\r\n");
- proxy_authentication(this_ptr, &soap_headers TSRMLS_CC);
- smart_str_append_const(&soap_headers, "\r\n");
- if (php_stream_write(stream, soap_headers.c, soap_headers.len) != soap_headers.len) {
- php_stream_close(stream);
- stream = NULL;
- }
- smart_str_free(&soap_headers);
-
- if (stream) {
- if (!get_http_headers(stream, &http_headers, &http_header_size TSRMLS_CC) || http_headers == NULL) {
- php_stream_close(stream);
- stream = NULL;
- }
- efree(http_headers);
- }
- /* enable SSL transport layer */
- if (stream) {
- if (php_stream_xport_crypto_setup(stream, STREAM_CRYPTO_METHOD_SSLv23_CLIENT, NULL TSRMLS_CC) < 0 ||
- php_stream_xport_crypto_enable(stream, 1 TSRMLS_CC) < 0) {
- php_stream_close(stream);
- stream = NULL;
- }
- }
- }
-
- EG(error_reporting) = old_error_reporting;
- return stream;
-}
-
-static int in_domain(const char *host, const char *domain)
-{
- if (domain[0] == '.') {
- int l1 = strlen(host);
- int l2 = strlen(domain);
- if (l1 > l2) {
- return strcmp(host+l1-l2,domain) == 0;
- } else {
- return 0;
- }
- } else {
- return strcmp(host,domain) == 0;
- }
-}
-
-int make_http_soap_request(zval *this_ptr,
- char *buf,
- int buf_size,
- char *location,
- char *soapaction,
- int soap_version,
- char **buffer,
- int *buffer_len TSRMLS_DC)
-{
- char *request;
- smart_str soap_headers = {0};
- int request_size, err;
- php_url *phpurl = NULL;
- php_stream *stream;
- zval **trace, **tmp;
- int use_proxy = 0;
- int use_ssl;
- char *http_headers, *http_body, *content_type, *http_version, *cookie_itt;
- int http_header_size, http_body_size, http_close;
- char *connection;
- int http_1_1;
- int http_status;
- int content_type_xml = 0;
- char *content_encoding;
- zend_bool old_allow_url_fopen;
-
- if (this_ptr == NULL || Z_TYPE_P(this_ptr) != IS_OBJECT) {
- return FALSE;
- }
-
- request = buf;
- request_size = buf_size;
- /* Compress request */
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "compression", sizeof("compression"), (void **)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_LONG) {
- int level = Z_LVAL_PP(tmp) & 0x0f;
- int kind = Z_LVAL_PP(tmp) & SOAP_COMPRESSION_DEFLATE;
-
- if ((Z_LVAL_PP(tmp) & SOAP_COMPRESSION_ACCEPT) != 0) {
- smart_str_append_const(&soap_headers,"Accept-Encoding: gzip, deflate\r\n");
- }
- if (level > 0) {
- zval func;
- zval retval;
- zval param1, param2, param3;
- zval *params[3];
- int n;
-
- params[0] = &param1;
- INIT_PZVAL(params[0]);
- params[1] = &param2;
- INIT_PZVAL(params[1]);
- params[2] = &param3;
- INIT_PZVAL(params[2]);
- ZVAL_STRINGL(params[0], buf, buf_size, 0);
- ZVAL_LONG(params[1], level);
- if (kind == SOAP_COMPRESSION_DEFLATE) {
- n = 2;
- ZVAL_STRING(&func, "gzcompress", 0);
- smart_str_append_const(&soap_headers,"Content-Encoding: deflate\r\n");
- } else {
- n = 3;
- ZVAL_STRING(&func, "gzencode", 0);
- smart_str_append_const(&soap_headers,"Content-Encoding: gzip\r\n");
- ZVAL_LONG(params[2], 1);
- }
- if (call_user_function(CG(function_table), (zval**)NULL, &func, &retval, n, params TSRMLS_CC) == SUCCESS &&
- Z_TYPE(retval) == IS_STRING) {
- request = Z_STRVAL(retval);
- request_size = Z_STRLEN(retval);
- } else {
- if (request != buf) {efree(request);}
- return FALSE;
- }
- }
- }
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"), (void **)&tmp) == SUCCESS) {
- php_stream_from_zval_no_verify(stream,tmp);
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy"), (void **)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_LONG) {
- use_proxy = Z_LVAL_PP(tmp);
- }
- } else {
- stream = NULL;
- }
-
- if (location != NULL && location[0] != '\000') {
- phpurl = php_url_parse(location);
- }
-
-try_again:
- if (phpurl == NULL || phpurl->host == NULL) {
- if (phpurl != NULL) {php_url_free(phpurl);}
- if (request != buf) {efree(request);}
- add_soap_fault(this_ptr, "HTTP", "Unable to parse URL", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
-
- use_ssl = 0;
- if (phpurl->scheme != NULL && strcmp(phpurl->scheme, "https") == 0) {
- use_ssl = 1;
- } else if (phpurl->scheme == NULL || strcmp(phpurl->scheme, "http") != 0) {
- php_url_free(phpurl);
- if (request != buf) {efree(request);}
- add_soap_fault(this_ptr, "HTTP", "Unknown protocol. Only http and https are allowed.", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
-
- old_allow_url_fopen = PG(allow_url_fopen);
- PG(allow_url_fopen) = 1;
- if (use_ssl && php_stream_locate_url_wrapper("https://", NULL, STREAM_LOCATE_WRAPPERS_ONLY TSRMLS_CC) == NULL) {
- php_url_free(phpurl);
- if (request != buf) {efree(request);}
- add_soap_fault(this_ptr, "HTTP", "SSL support is not available in this build", NULL, NULL TSRMLS_CC);
- PG(allow_url_fopen) = old_allow_url_fopen;
- return FALSE;
- }
-
- if (phpurl->port == 0) {
- phpurl->port = use_ssl ? 443 : 80;
- }
-
- /* Check if request to the same host */
- if (stream != NULL) {
- php_url *orig;
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "httpurl", sizeof("httpurl"), (void **)&tmp) == SUCCESS &&
- (orig = (php_url *) zend_fetch_resource(tmp TSRMLS_CC, -1, "httpurl", NULL, 1, le_url)) != NULL &&
- ((use_proxy && !use_ssl) ||
- (((use_ssl && orig->scheme != NULL && strcmp(orig->scheme, "https") == 0) ||
- (!use_ssl && orig->scheme == NULL) ||
- (!use_ssl && strcmp(orig->scheme, "https") != 0)) &&
- strcmp(orig->host, phpurl->host) == 0 &&
- orig->port == phpurl->port))) {
- } else {
- php_stream_close(stream);
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpurl", sizeof("httpurl"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy"));
- stream = NULL;
- use_proxy = 0;
- }
- }
-
- /* Check if keep-alive connection is still opened */
- if (stream != NULL && !stream_alive(stream TSRMLS_CC)) {
- php_stream_close(stream);
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpurl", sizeof("httpurl"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy"));
- stream = NULL;
- use_proxy = 0;
- }
-
- if (!stream) {
- stream = http_connect(this_ptr, phpurl, use_ssl, &use_proxy TSRMLS_CC);
- if (stream) {
- php_stream_auto_cleanup(stream);
- add_property_resource(this_ptr, "httpsocket", php_stream_get_resource_id(stream));
- add_property_long(this_ptr, "_use_proxy", use_proxy);
- } else {
- php_url_free(phpurl);
- if (request != buf) {efree(request);}
- add_soap_fault(this_ptr, "HTTP", "Could not connect to host", NULL, NULL TSRMLS_CC);
- PG(allow_url_fopen) = old_allow_url_fopen;
- return FALSE;
- }
- }
- PG(allow_url_fopen) = old_allow_url_fopen;
-
- if (stream) {
- zval **cookies, **login, **password;
- int ret = zend_list_insert(phpurl, le_url);
-
- add_property_resource(this_ptr, "httpurl", ret);
- /*zend_list_addref(ret);*/
-
- smart_str_append_const(&soap_headers, "POST ");
- if (use_proxy && !use_ssl) {
- smart_str_appends(&soap_headers, phpurl->scheme);
- smart_str_append_const(&soap_headers, "://");
- smart_str_appends(&soap_headers, phpurl->host);
- smart_str_appendc(&soap_headers, ':');
- smart_str_append_unsigned(&soap_headers, phpurl->port);
- }
- if (phpurl->path) {
- smart_str_appends(&soap_headers, phpurl->path);
- }
- if (phpurl->query) {
- smart_str_appendc(&soap_headers, '?');
- smart_str_appends(&soap_headers, phpurl->query);
- }
- smart_str_append_const(&soap_headers, " HTTP/1.1\r\n"
- "Host: ");
- smart_str_appends(&soap_headers, phpurl->host);
- if (phpurl->port != (use_ssl?443:80)) {
- smart_str_appendc(&soap_headers, ':');
- smart_str_append_unsigned(&soap_headers, phpurl->port);
- }
- smart_str_append_const(&soap_headers, "\r\n"
- "Connection: Keep-Alive\r\n"
-/*
- "Connection: close\r\n"
- "Accept: text/html; text/xml; text/plain\r\n"
-*/
- "User-Agent: PHP SOAP 0.1\r\n");
- if (soap_version == SOAP_1_2) {
- smart_str_append_const(&soap_headers,"Content-Type: application/soap+xml; charset=utf-8");
- if (soapaction) {
- smart_str_append_const(&soap_headers,"; action=\"");
- smart_str_appends(&soap_headers, soapaction);
- smart_str_append_const(&soap_headers,"\"");
- }
- smart_str_append_const(&soap_headers,"\r\n");
- } else {
- smart_str_append_const(&soap_headers,"Content-Type: text/xml; charset=utf-8\r\n");
- if (soapaction) {
- smart_str_append_const(&soap_headers, "SOAPAction: \"");
- smart_str_appends(&soap_headers, soapaction);
- smart_str_append_const(&soap_headers, "\"\r\n");
- }
- }
- smart_str_append_const(&soap_headers,"Content-Length: ");
- smart_str_append_long(&soap_headers, request_size);
- smart_str_append_const(&soap_headers, "\r\n");
-
- /* HTTP Authentication */
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_login", sizeof("_login"), (void **)&login) == SUCCESS &&
- Z_TYPE_PP(login) == IS_STRING) {
- zval **digest;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_digest", sizeof("_digest"), (void **)&digest) == SUCCESS) {
- if (Z_TYPE_PP(digest) == IS_ARRAY) {
- char HA1[33], HA2[33], response[33], cnonce[33], nc[9];
- PHP_MD5_CTX md5ctx;
- unsigned char hash[16];
-
- PHP_MD5Init(&md5ctx);
- sprintf(cnonce, "%d", rand());
- PHP_MD5Update(&md5ctx, cnonce, strlen(cnonce));
- PHP_MD5Final(hash, &md5ctx);
- make_digest(cnonce, hash);
-
- if (zend_hash_find(Z_ARRVAL_PP(digest), "nc", sizeof("nc"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_LONG) {
- Z_LVAL_PP(tmp)++;
- sprintf(nc, "%08ld", Z_LVAL_PP(tmp));
- } else {
- add_assoc_long(*digest, "nc", 1);
- strcpy(nc, "00000001");
- }
-
- PHP_MD5Init(&md5ctx);
- PHP_MD5Update(&md5ctx, Z_STRVAL_PP(login), Z_STRLEN_PP(login));
- PHP_MD5Update(&md5ctx, ":", 1);
- if (zend_hash_find(Z_ARRVAL_PP(digest), "realm", sizeof("realm"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- PHP_MD5Update(&md5ctx, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- }
- PHP_MD5Update(&md5ctx, ":", 1);
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_password", sizeof("_password"), (void **)&password) == SUCCESS &&
- Z_TYPE_PP(password) == IS_STRING) {
- PHP_MD5Update(&md5ctx, Z_STRVAL_PP(password), Z_STRLEN_PP(password));
- }
- PHP_MD5Final(hash, &md5ctx);
- make_digest(HA1, hash);
- if (zend_hash_find(Z_ARRVAL_PP(digest), "algorithm", sizeof("algorithm"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING &&
- Z_STRLEN_PP(tmp) == sizeof("md5-sess")-1 &&
- stricmp(Z_STRVAL_PP(tmp), "md5-sess") == 0) {
- PHP_MD5Init(&md5ctx);
- PHP_MD5Update(&md5ctx, HA1, 32);
- PHP_MD5Update(&md5ctx, ":", 1);
- if (zend_hash_find(Z_ARRVAL_PP(digest), "nonce", sizeof("nonce"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- PHP_MD5Update(&md5ctx, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- }
- PHP_MD5Update(&md5ctx, ":", 1);
- PHP_MD5Update(&md5ctx, cnonce, 8);
- PHP_MD5Final(hash, &md5ctx);
- make_digest(HA1, hash);
- }
-
- PHP_MD5Init(&md5ctx);
- PHP_MD5Update(&md5ctx, "POST:", sizeof("POST:")-1);
- if (phpurl->path) {
- PHP_MD5Update(&md5ctx, phpurl->path, strlen(phpurl->path));
- }
- if (phpurl->query) {
- PHP_MD5Update(&md5ctx, "?", 1);
- PHP_MD5Update(&md5ctx, phpurl->query, strlen(phpurl->query));
- }
-
- /* TODO: Support for qop="auth-int" */
-/*
- if (zend_hash_find(Z_ARRVAL_PP(digest), "qop", sizeof("qop"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING &&
- Z_STRLEN_PP(tmp) == sizeof("auth-int")-1 &&
- stricmp(Z_STRVAL_PP(tmp), "auth-int") == 0) {
- PHP_MD5Update(&md5ctx, ":", 1);
- PHP_MD5Update(&md5ctx, HEntity, HASHHEXLEN);
- }
-*/
- PHP_MD5Final(hash, &md5ctx);
- make_digest(HA2, hash);
-
- PHP_MD5Init(&md5ctx);
- PHP_MD5Update(&md5ctx, HA1, 32);
- PHP_MD5Update(&md5ctx, ":", 1);
- if (zend_hash_find(Z_ARRVAL_PP(digest), "nonce", sizeof("nonce"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- PHP_MD5Update(&md5ctx, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- }
- PHP_MD5Update(&md5ctx, ":", 1);
- if (zend_hash_find(Z_ARRVAL_PP(digest), "qop", sizeof("qop"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- PHP_MD5Update(&md5ctx, nc, 8);
- PHP_MD5Update(&md5ctx, ":", 1);
- PHP_MD5Update(&md5ctx, cnonce, 8);
- PHP_MD5Update(&md5ctx, ":", 1);
- /* TODO: Support for qop="auth-int" */
- PHP_MD5Update(&md5ctx, "auth", sizeof("auth")-1);
- PHP_MD5Update(&md5ctx, ":", 1);
- }
- PHP_MD5Update(&md5ctx, HA2, 32);
- PHP_MD5Final(hash, &md5ctx);
- make_digest(response, hash);
-
- smart_str_append_const(&soap_headers, "Authorization: Digest username=\"");
- smart_str_appendl(&soap_headers, Z_STRVAL_PP(login), Z_STRLEN_PP(login));
- if (zend_hash_find(Z_ARRVAL_PP(digest), "realm", sizeof("realm"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- smart_str_append_const(&soap_headers, "\", realm=\"");
- smart_str_appendl(&soap_headers, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- }
- if (zend_hash_find(Z_ARRVAL_PP(digest), "nonce", sizeof("nonce"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- smart_str_append_const(&soap_headers, "\", nonce=\"");
- smart_str_appendl(&soap_headers, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- }
- smart_str_append_const(&soap_headers, "\", uri=\"");
- if (phpurl->path) {
- smart_str_appends(&soap_headers, phpurl->path);
- }
- if (phpurl->query) {
- smart_str_appendc(&soap_headers, '?');
- smart_str_appends(&soap_headers, phpurl->query);
- }
- if (zend_hash_find(Z_ARRVAL_PP(digest), "qop", sizeof("qop"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- /* TODO: Support for qop="auth-int" */
- smart_str_append_const(&soap_headers, "\", qop=\"auth");
- smart_str_append_const(&soap_headers, "\", nc=\"");
- smart_str_appendl(&soap_headers, nc, 8);
- smart_str_append_const(&soap_headers, "\", cnonce=\"");
- smart_str_appendl(&soap_headers, cnonce, 8);
- }
- smart_str_append_const(&soap_headers, "\", response=\"");
- smart_str_appendl(&soap_headers, response, 32);
- if (zend_hash_find(Z_ARRVAL_PP(digest), "opaque", sizeof("opaque"), (void **)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- smart_str_append_const(&soap_headers, "\", opaque=\"");
- smart_str_appendl(&soap_headers, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- }
- smart_str_append_const(&soap_headers, "\"\r\n");
- }
- } else {
- char* buf;
- int len;
-
- smart_str auth = {0};
- smart_str_appendl(&auth, Z_STRVAL_PP(login), Z_STRLEN_PP(login));
- smart_str_appendc(&auth, ':');
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_password", sizeof("_password"), (void **)&password) == SUCCESS &&
- Z_TYPE_PP(password) == IS_STRING) {
- smart_str_appendl(&auth, Z_STRVAL_PP(password), Z_STRLEN_PP(password));
- }
- smart_str_0(&auth);
- buf = php_base64_encode(auth.c, auth.len, &len);
- smart_str_append_const(&soap_headers, "Authorization: Basic ");
- smart_str_appendl(&soap_headers, buf, len);
- smart_str_append_const(&soap_headers, "\r\n");
- efree(buf);
- smart_str_free(&auth);
- }
- }
-
- /* Proxy HTTP Authentication */
- if (use_proxy && !use_ssl) {
- proxy_authentication(this_ptr, &soap_headers TSRMLS_CC);
- }
-
- /* Send cookies along with request */
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_cookies", sizeof("_cookies"), (void **)&cookies) == SUCCESS) {
- zval **data;
- char *key;
- int i, n;
-
- n = zend_hash_num_elements(Z_ARRVAL_PP(cookies));
- if (n > 0) {
- zend_hash_internal_pointer_reset(Z_ARRVAL_PP(cookies));
- smart_str_append_const(&soap_headers, "Cookie: ");
- for (i = 0; i < n; i++) {
- zend_hash_get_current_data(Z_ARRVAL_PP(cookies), (void **)&data);
- zend_hash_get_current_key(Z_ARRVAL_PP(cookies), &key, NULL, FALSE);
-
- if (Z_TYPE_PP(data) == IS_ARRAY) {
- zval** value;
-
- if (zend_hash_index_find(Z_ARRVAL_PP(data), 0, (void**)&value) == SUCCESS &&
- Z_TYPE_PP(value) == IS_STRING) {
- zval **tmp;
- if ((zend_hash_index_find(Z_ARRVAL_PP(data), 1, (void**)&tmp) == FAILURE ||
- strncmp(phpurl->path?phpurl->path:"/",Z_STRVAL_PP(tmp),Z_STRLEN_PP(tmp)) == 0) &&
- (zend_hash_index_find(Z_ARRVAL_PP(data), 2, (void**)&tmp) == FAILURE ||
- in_domain(phpurl->host,Z_STRVAL_PP(tmp))) &&
- (use_ssl || zend_hash_index_find(Z_ARRVAL_PP(data), 3, (void**)&tmp) == FAILURE)) {
- smart_str_appendl(&soap_headers, key, strlen(key));
- smart_str_appendc(&soap_headers, '=');
- smart_str_appendl(&soap_headers, Z_STRVAL_PP(value), Z_STRLEN_PP(value));
- smart_str_appendc(&soap_headers, ';');
- }
- }
- }
- zend_hash_move_forward(Z_ARRVAL_PP(cookies));
- }
- smart_str_append_const(&soap_headers, "\r\n");
- }
- }
- smart_str_append_const(&soap_headers, "\r\n");
- smart_str_0(&soap_headers);
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "trace", sizeof("trace"), (void **) &trace) == SUCCESS &&
- Z_LVAL_PP(trace) > 0) {
- add_property_stringl(this_ptr, "__last_request_headers", soap_headers.c, soap_headers.len, 1);
- }
- smart_str_appendl(&soap_headers, request, request_size);
- smart_str_0(&soap_headers);
-
- err = php_stream_write(stream, soap_headers.c, soap_headers.len);
- if (err != soap_headers.len) {
- if (request != buf) {efree(request);}
- smart_str_free(&soap_headers);
- php_stream_close(stream);
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpurl", sizeof("httpurl"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy"));
- add_soap_fault(this_ptr, "HTTP", "Failed Sending HTTP SOAP request", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
- smart_str_free(&soap_headers);
-
- } else {
- add_soap_fault(this_ptr, "HTTP", "Failed to create stream??", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
-
- do {
- if (!get_http_headers(stream, &http_headers, &http_header_size TSRMLS_CC)) {
- if (http_headers) {efree(http_headers);}
- if (request != buf) {efree(request);}
- php_stream_close(stream);
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy"));
- add_soap_fault(this_ptr, "HTTP", "Error Fetching http headers", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "trace", sizeof("trace"), (void **) &trace) == SUCCESS &&
- Z_LVAL_PP(trace) > 0) {
- add_property_stringl(this_ptr, "__last_response_headers", http_headers, http_header_size, 1);
- }
-
- /* Check to see what HTTP status was sent */
- http_1_1 = 0;
- http_status = 0;
- http_version = get_http_header_value(http_headers,"HTTP/");
- if (http_version) {
- char *tmp;
-
- if (!strncmp(http_version,"1.1", 3)) {
- http_1_1 = 1;
- }
-
- tmp = strstr(http_version," ");
- if (tmp != NULL) {
- tmp++;
- http_status = atoi(tmp);
- }
- efree(http_version);
-
- /* Try and get headers again */
- if (http_status == 100) {
- efree(http_headers);
- }
- }
- } while (http_status == 100);
-
- /* Grab and send back every cookie */
-
- /* Not going to worry about Path: because
- we shouldn't be changing urls so path dont
- matter too much
- */
- cookie_itt = strstr(http_headers,"Set-Cookie: ");
- while (cookie_itt) {
- char *end_pos, *cookie;
- char *eqpos, *sempos;
- zval **cookies;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_cookies", sizeof("_cookies"), (void **)&cookies) == FAILURE) {
- zval *tmp_cookies;
- MAKE_STD_ZVAL(tmp_cookies);
- array_init(tmp_cookies);
- zend_hash_update(Z_OBJPROP_P(this_ptr), "_cookies", sizeof("_cookies"), &tmp_cookies, sizeof(zval *), (void **)&cookies);
- }
-
- end_pos = strstr(cookie_itt,"\r\n");
- cookie = get_http_header_value(cookie_itt,"Set-Cookie: ");
-
- eqpos = strstr(cookie, "=");
- sempos = strstr(cookie, ";");
- if (eqpos != NULL && (sempos == NULL || sempos > eqpos)) {
- smart_str name = {0};
- int cookie_len;
- zval *zcookie;
-
- if (sempos != NULL) {
- cookie_len = sempos-(eqpos+1);
- } else {
- cookie_len = strlen(cookie)-(eqpos-cookie)-1;
- }
-
- smart_str_appendl(&name, cookie, eqpos - cookie);
- smart_str_0(&name);
-
- ALLOC_INIT_ZVAL(zcookie);
- array_init(zcookie);
- add_index_stringl(zcookie, 0, eqpos + 1, cookie_len, 1);
-
- if (sempos != NULL) {
- char *options = cookie + cookie_len+1;
- while (*options) {
- while (*options == ' ') {options++;}
- sempos = strstr(options, ";");
- if (strstr(options,"path=") == options) {
- eqpos = options + sizeof("path=")-1;
- add_index_stringl(zcookie, 1, eqpos, sempos?(sempos-eqpos):strlen(eqpos), 1);
- } else if (strstr(options,"domain=") == options) {
- eqpos = options + sizeof("domain=")-1;
- add_index_stringl(zcookie, 2, eqpos, sempos?(sempos-eqpos):strlen(eqpos), 1);
- } else if (strstr(options,"secure") == options) {
- add_index_bool(zcookie, 3, 1);
- }
- if (sempos != NULL) {
- options = sempos+1;
- } else {
- break;
- }
- }
- }
- if (!zend_hash_index_exists(Z_ARRVAL_P(zcookie), 1)) {
- char *t = phpurl->path?phpurl->path:"/";
- char *c = strrchr(t, '/');
- if (c) {
- add_index_stringl(zcookie, 1, t, c-t, 1);
- }
- }
- if (!zend_hash_index_exists(Z_ARRVAL_P(zcookie), 2)) {
- add_index_string(zcookie, 2, phpurl->host, 1);
- }
-
- add_assoc_zval_ex(*cookies, name.c, name.len+1, zcookie);
- smart_str_free(&name);
- }
-
- cookie_itt = strstr(cookie_itt + sizeof("Set-Cookie: "), "Set-Cookie: ");
- efree(cookie);
- }
-
- if (!get_http_body(stream, !http_1_1, http_headers, &http_body, &http_body_size TSRMLS_CC)) {
- if (request != buf) {efree(request);}
- php_stream_close(stream);
- efree(http_headers);
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy"));
- add_soap_fault(this_ptr, "HTTP", "Error Fetching http body, No Content-Length, connection closed or chunked data", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
-
- if (request != buf) {efree(request);}
-
- /* See if the server requested a close */
- http_close = TRUE;
- connection = get_http_header_value(http_headers,"Proxy-Connection: ");
- if (connection) {
- if (strncasecmp(connection, "Keep-Alive", sizeof("Keep-Alive")-1) == 0) {
- http_close = FALSE;
- }
- efree(connection);
-/*
- } else if (http_1_1) {
- http_close = FALSE;
-*/
- }
- connection = get_http_header_value(http_headers,"Connection: ");
- if (connection) {
- if (strncasecmp(connection, "Keep-Alive", sizeof("Keep-Alive")-1) == 0) {
- http_close = FALSE;
- }
- efree(connection);
-/*
- } else if (http_1_1) {
- http_close = FALSE;
-*/
- }
-
- if (http_close) {
- php_stream_close(stream);
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "_use_proxy", sizeof("_use_proxy"));
- }
-
- /* Process HTTP status codes */
- if (http_status >= 300 && http_status < 400) {
- char *loc;
-
- if ((loc = get_http_header_value(http_headers,"Location: ")) != NULL) {
- php_url *new_url = php_url_parse(loc);
- char *body;
- int body_size;
-
- if (new_url != NULL) {
- if (get_http_body(stream, !http_1_1, http_headers, &body, &body_size TSRMLS_CC)) {
- efree(body);
- } else {
- php_stream_close(stream);
- zend_hash_del(Z_OBJPROP_P(this_ptr), "httpsocket", sizeof("httpsocket"));
- stream = NULL;
- }
- efree(http_headers);
- efree(http_body);
- efree(loc);
- if (new_url->scheme == NULL && new_url->path != NULL) {
- new_url->scheme = estrdup(phpurl->scheme);
- new_url->host = estrdup(phpurl->host);
- new_url->port = phpurl->port;
- if (new_url->path && new_url->path[0] != '/') {
- char *t = phpurl->path?phpurl->path:"/";
- char *p = strrchr(t, '/');
- char *s = emalloc((p - t) + strlen(new_url->path) + 2);
-
- strncpy(s, t, (p - t) + 1);
- s[(p - t) + 1] = 0;
- strcat(s, new_url->path);
- efree(new_url->path);
- new_url->path = s;
- }
- }
- phpurl = new_url;
-
- goto try_again;
- }
- }
- } else if (http_status == 401) {
- /* Digest authentication */
- zval **digest, **login, **password;
- char *auth = get_http_header_value(http_headers, "WWW-Authenticate: ");
-
- if (auth &&
- strstr(auth, "Digest") == auth &&
- (zend_hash_find(Z_OBJPROP_P(this_ptr), "_digest", sizeof("_digest"), (void **)&digest) == FAILURE ||
- Z_TYPE_PP(digest) != IS_ARRAY) &&
- zend_hash_find(Z_OBJPROP_P(this_ptr), "_login", sizeof("_login"), (void **)&login) == SUCCESS &&
- Z_TYPE_PP(login) == IS_STRING &&
- zend_hash_find(Z_OBJPROP_P(this_ptr), "_password", sizeof("_password"), (void **)&password) == SUCCESS &&
- Z_TYPE_PP(password) == IS_STRING) {
- char *s;
- zval *digest = NULL;
-
- s = auth + sizeof("Digest")-1;
- while (*s != '\0') {
- char *name, *val;
- while (*s == ' ') ++s;
- name = s;
- while (*s != '\0' && *s != '=') ++s;
- if (*s == '=') {
- *s = '\0';
- ++s;
- if (*s == '"') {
- ++s;
- val = s;
- while (*s != '\0' && *s != '"') ++s;
- } else {
- val = s;
- while (*s != '\0' && *s != ' ' && *s != ',') ++s;
- }
- if (*s != '\0') {
- if (*s != ',') {
- *s = '\0';
- ++s;
- while (*s != '\0' && *s != ',') ++s;
- if (*s != '\0') ++s;
- } else {
- *s = '\0';
- ++s;
- }
- }
- if (digest == NULL) {
- ALLOC_INIT_ZVAL(digest);
- array_init(digest);
- }
- add_assoc_string(digest, name, val ,1);
- }
- }
-
- if (digest != NULL) {
- php_url *new_url = emalloc(sizeof(php_url));
-
- digest->refcount--;
- add_property_zval_ex(this_ptr, "_digest", sizeof("_digest"), digest TSRMLS_CC);
-
- *new_url = *phpurl;
- if (phpurl->scheme) phpurl->scheme = estrdup(phpurl->scheme);
- if (phpurl->user) phpurl->user = estrdup(phpurl->user);
- if (phpurl->pass) phpurl->pass = estrdup(phpurl->pass);
- if (phpurl->host) phpurl->host = estrdup(phpurl->host);
- if (phpurl->path) phpurl->path = estrdup(phpurl->path);
- if (phpurl->query) phpurl->query = estrdup(phpurl->query);
- if (phpurl->fragment) phpurl->fragment = estrdup(phpurl->fragment);
- phpurl = new_url;
-
- efree(auth);
- efree(http_headers);
- efree(http_body);
-
- goto try_again;
- }
- }
- if (auth) efree(auth);
- }
-
- /* Check and see if the server even sent a xml document */
- content_type = get_http_header_value(http_headers,"Content-Type: ");
- if (content_type) {
- char *pos = NULL;
- int cmplen;
- pos = strstr(content_type,";");
- if (pos != NULL) {
- cmplen = pos - content_type;
- } else {
- cmplen = strlen(content_type);
- }
- if (strncmp(content_type, "text/xml", cmplen) == 0 ||
- strncmp(content_type, "application/soap+xml", cmplen) == 0) {
- content_type_xml = 1;
-/*
- if (strncmp(http_body, "<?xml", 5)) {
- zval *err;
- MAKE_STD_ZVAL(err);
- ZVAL_STRINGL(err, http_body, http_body_size, 1);
- add_soap_fault(this_ptr, "HTTP", "Didn't recieve an xml document", NULL, err TSRMLS_CC);
- efree(content_type);
- efree(http_headers);
- efree(http_body);
- return FALSE;
- }
-*/
- }
- efree(content_type);
- }
-
- /* Decompress response */
- content_encoding = get_http_header_value(http_headers,"Content-Encoding: ");
- if (content_encoding) {
- zval func;
- zval retval;
- zval param;
- zval *params[1];
-
- if ((strcmp(content_encoding,"gzip") == 0 ||
- strcmp(content_encoding,"x-gzip") == 0) &&
- zend_hash_exists(EG(function_table), "gzinflate", sizeof("gzinflate"))) {
- ZVAL_STRING(&func, "gzinflate", 0);
- params[0] = &param;
- ZVAL_STRINGL(params[0], http_body+10, http_body_size-10, 0);
- INIT_PZVAL(params[0]);
- } else if (strcmp(content_encoding,"deflate") == 0 &&
- zend_hash_exists(EG(function_table), "gzuncompress", sizeof("gzuncompress"))) {
- ZVAL_STRING(&func, "gzuncompress", 0);
- params[0] = &param;
- ZVAL_STRINGL(params[0], http_body, http_body_size, 0);
- INIT_PZVAL(params[0]);
- } else {
- efree(content_encoding);
- efree(http_headers);
- efree(http_body);
- add_soap_fault(this_ptr, "HTTP", "Unknown Content-Encoding", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
- if (call_user_function(CG(function_table), (zval**)NULL, &func, &retval, 1, params TSRMLS_CC) == SUCCESS &&
- Z_TYPE(retval) == IS_STRING) {
- efree(http_body);
- *buffer = Z_STRVAL(retval);
- *buffer_len = Z_STRLEN(retval);
- } else {
- efree(content_encoding);
- efree(http_headers);
- efree(http_body);
- add_soap_fault(this_ptr, "HTTP", "Can't uncompress compressed response", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
- efree(content_encoding);
- } else {
- *buffer = http_body;
- *buffer_len = http_body_size;
- }
-
- efree(http_headers);
-
- if (http_status >= 400) {
- int error = 0;
-
- if (*buffer_len == 0) {
- error = 1;
- } else if (*buffer_len > 0) {
- if (!content_type_xml) {
- char *s = *buffer;
-
- while (*s != '\0' && *s < ' ') {
- s++;
- }
- if (strncmp(s, "<?xml", 5)) {
- error = 1;
- }
- }
- }
-
- if (error) {
- efree(*buffer);
- if (http_status == 400) {
- add_soap_fault(this_ptr, "HTTP", "Bad Request", NULL, NULL TSRMLS_CC);
- } else if (http_status == 401) {
- add_soap_fault(this_ptr, "HTTP", "Unauthorized Request", NULL, NULL TSRMLS_CC);
- } else if (http_status == 405) {
- add_soap_fault(this_ptr, "HTTP", "Method not allowed", NULL, NULL TSRMLS_CC);
- } else if (http_status == 415) {
- add_soap_fault(this_ptr, "HTTP", "Unsupported Media Type", NULL, NULL TSRMLS_CC);
- } else if (http_status >= 400 && http_status < 500) {
- add_soap_fault(this_ptr, "HTTP", "Client Error", NULL, NULL TSRMLS_CC);
- } else if (http_status == 500) {
- add_soap_fault(this_ptr, "HTTP", "Internal Server Error", NULL, NULL TSRMLS_CC);
- } else if (http_status >= 500 && http_status < 600) {
- add_soap_fault(this_ptr, "HTTP", "Server Error", NULL, NULL TSRMLS_CC);
- } else {
- add_soap_fault(this_ptr, "HTTP", "Unsupported HTTP status code", NULL, NULL TSRMLS_CC);
- }
- return FALSE;
- }
- }
-
- return TRUE;
-}
-
-static char *get_http_header_value(char *headers, char *type)
-{
- char *pos, *tmp = NULL;
- int typelen, headerslen;
-
- typelen = strlen(type);
- headerslen = strlen(headers);
-
- /* header `titles' can be lower case, or any case combination, according
- * to the various RFC's. */
- pos = headers;
- do {
- /* start of buffer or start of line */
- if (strncasecmp(pos, type, typelen) == 0) {
- char *eol;
-
- /* match */
- tmp = pos + typelen;
- eol = strstr(tmp, "\r\n");
- if (eol == NULL) {
- eol = headers + headerslen;
- }
- return estrndup(tmp, eol - tmp);
- }
-
- /* find next line */
- pos = strstr(pos, "\r\n");
- if (pos) {
- pos += 2;
- }
-
- } while (pos);
-
- return NULL;
-}
-
-static int get_http_body(php_stream *stream, int close, char *headers, char **response, int *out_size TSRMLS_DC)
-{
- char *header, *http_buf = NULL;
- int header_close = close, header_chunked = 0, header_length = 0, http_buf_size = 0;
-
- if (!close) {
- header = get_http_header_value(headers, "Connection: ");
- if (header) {
- if(!strncasecmp(header, "close", sizeof("close")-1)) header_close = 1;
- efree(header);
- }
- }
- header = get_http_header_value(headers, "Transfer-Encoding: ");
- if (header) {
- if(!strncasecmp(header, "chunked", sizeof("chunked")-1)) header_chunked = 1;
- efree(header);
- }
- header = get_http_header_value(headers, "Content-Length: ");
- if (header) {
- header_length = atoi(header);
- efree(header);
- if (!header_length && !header_chunked) {
- /* Empty response */
- http_buf = emalloc(1);
- http_buf[0] = '\0';
- (*response) = http_buf;
- (*out_size) = 0;
- return TRUE;
- }
- }
-
- if (header_chunked) {
- char done, chunk_size[10];
-
- done = FALSE;
-
- while (!done) {
- int buf_size = 0;
-
- php_stream_gets(stream, chunk_size, sizeof(chunk_size));
- if (sscanf(chunk_size, "%x", &buf_size) > 0 ) {
- if (buf_size > 0) {
- int len_size = 0;
-
- if (http_buf_size + buf_size + 1 < 0) {
- efree(http_buf);
- return FALSE;
- }
- http_buf = erealloc(http_buf, http_buf_size + buf_size + 1);
-
- while (len_size < buf_size) {
- int len_read = php_stream_read(stream, http_buf + http_buf_size, buf_size - len_size);
- if (len_read <= 0) {
- /* Error or EOF */
- done = TRUE;
- break;
- }
- len_size += len_read;
- http_buf_size += len_read;
- }
- }
-
- /* Eat up '\r' '\n' */
- php_stream_getc(stream);
- php_stream_getc(stream);
- } else {
- /* Somthing wrong in chunked encoding */
- if (http_buf) {
- efree(http_buf);
- }
- return FALSE;
- }
- if (buf_size == 0) {
- done = TRUE;
- }
- }
-
- if (http_buf == NULL) {
- http_buf = emalloc(1);
- }
-
- } else if (header_length) {
- if (header_length < 0) {
- return FALSE;
- }
- http_buf = emalloc(header_length + 1);
- while (http_buf_size < header_length) {
- int len_read = php_stream_read(stream, http_buf + http_buf_size, header_length - http_buf_size);
- if (len_read <= 0) {
- break;
- }
- http_buf_size += len_read;
- }
- } else if (header_close) {
- do {
- int len_read;
- http_buf = erealloc(http_buf, http_buf_size + 4096 + 1);
- len_read = php_stream_read(stream, http_buf + http_buf_size, 4096);
- if (len_read > 0) {
- http_buf_size += len_read;
- }
- } while(!php_stream_eof(stream));
- } else {
- return FALSE;
- }
-
- http_buf[http_buf_size] = '\0';
- (*response) = http_buf;
- (*out_size) = http_buf_size;
- return TRUE;
-}
-
-static int get_http_headers(php_stream *stream, char **response, int *out_size TSRMLS_DC)
-{
- int done = FALSE;
- smart_str tmp_response = {0};
- char headerbuf[8192];
-
- while (!done) {
- if (!php_stream_gets(stream, headerbuf, sizeof(headerbuf))) {
- break;
- }
-
- if (strcmp(headerbuf, "\r\n") == 0) {
- /* empty line marks end of headers */
- done = TRUE;
- break;
- }
-
- /* add header to collection */
- smart_str_appends(&tmp_response, headerbuf);
- }
- smart_str_0(&tmp_response);
- (*response) = tmp_response.c;
- (*out_size) = tmp_response.len;
- return done;
-}
diff --git a/ext/soap/php_http.h b/ext/soap/php_http.h
deleted file mode 100644
index 97dcdc36c3..0000000000
--- a/ext/soap/php_http.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifndef PHP_HTTP_H
-#define PHP_HTTP_H
-
-int make_http_soap_request(zval *this_ptr,
- char *request,
- int request_size,
- char *location,
- char *soapaction,
- int soap_version,
- char **response,
- int *response_len TSRMLS_DC);
-
-void proxy_authentication(zval* this_ptr, smart_str* soap_headers TSRMLS_DC);
-void basic_authentication(zval* this_ptr, smart_str* soap_headers TSRMLS_DC);
-#endif
diff --git a/ext/soap/php_packet_soap.c b/ext/soap/php_packet_soap.c
deleted file mode 100644
index da5983f1be..0000000000
--- a/ext/soap/php_packet_soap.c
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#include "php_soap.h"
-
-/* SOAP client calls this function to parse response from SOAP server */
-int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunctionPtr fn, char *fn_name, zval *return_value, zval *soap_headers TSRMLS_DC)
-{
- char* envelope_ns = NULL;
- xmlDocPtr response;
- xmlNodePtr trav, env, head, body, resp, cur, fault;
- xmlAttrPtr attr;
- int param_count = 0;
- int soap_version = SOAP_1_1;
- HashTable *hdrs = NULL;
-
- ZVAL_NULL(return_value);
-
- /* Response for one-way opearation */
- if (buffer_size == 0) {
- return TRUE;
- }
-
- /* Parse XML packet */
- response = soap_xmlParseMemory(buffer, buffer_size);
-
- if (!response) {
- add_soap_fault(this_ptr, "Client", "looks like we got no XML document", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
- if (xmlGetIntSubset(response) != NULL) {
- add_soap_fault(this_ptr, "Client", "DTD are not supported by SOAP", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
-
- /* Get <Envelope> element */
- env = NULL;
- trav = response->children;
- while (trav != NULL) {
- if (trav->type == XML_ELEMENT_NODE) {
- if (env == NULL && node_is_equal_ex(trav,"Envelope",SOAP_1_1_ENV_NAMESPACE)) {
- env = trav;
- envelope_ns = SOAP_1_1_ENV_NAMESPACE;
- soap_version = SOAP_1_1;
- } else if (env == NULL && node_is_equal_ex(trav,"Envelope",SOAP_1_2_ENV_NAMESPACE)) {
- env = trav;
- envelope_ns = SOAP_1_2_ENV_NAMESPACE;
- soap_version = SOAP_1_2;
- } else {
- add_soap_fault(this_ptr, "VersionMismatch", "Wrong Version", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
- }
- trav = trav->next;
- }
- if (env == NULL) {
- add_soap_fault(this_ptr, "Client", "looks like we got XML without \"Envelope\" element", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
-
- attr = env->properties;
- while (attr != NULL) {
- if (attr->ns == NULL) {
- add_soap_fault(this_ptr, "Client", "A SOAP Envelope element cannot have non Namespace qualified attributes", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- } else if (attr_is_equal_ex(attr,"encodingStyle",SOAP_1_2_ENV_NAMESPACE)) {
- if (soap_version == SOAP_1_2) {
- add_soap_fault(this_ptr, "Client", "encodingStyle cannot be specified on the Envelope", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- } else if (strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
- add_soap_fault(this_ptr, "Client", "Unknown data encoding style", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
- }
- attr = attr->next;
- }
-
- /* Get <Header> element */
- head = NULL;
- trav = env->children;
- while (trav != NULL && trav->type != XML_ELEMENT_NODE) {
- trav = trav->next;
- }
- if (trav != NULL && node_is_equal_ex(trav,"Header",envelope_ns)) {
- head = trav;
- trav = trav->next;
- }
-
- /* Get <Body> element */
- body = NULL;
- while (trav != NULL && trav->type != XML_ELEMENT_NODE) {
- trav = trav->next;
- }
- if (trav != NULL && node_is_equal_ex(trav,"Body",envelope_ns)) {
- body = trav;
- trav = trav->next;
- }
- while (trav != NULL && trav->type != XML_ELEMENT_NODE) {
- trav = trav->next;
- }
- if (body == NULL) {
- add_soap_fault(this_ptr, "Client", "Body must be present in a SOAP envelope", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
- attr = body->properties;
- while (attr != NULL) {
- if (attr->ns == NULL) {
- if (soap_version == SOAP_1_2) {
- add_soap_fault(this_ptr, "Client", "A SOAP Body element cannot have non Namespace qualified attributes", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
- } else if (attr_is_equal_ex(attr,"encodingStyle",SOAP_1_2_ENV_NAMESPACE)) {
- if (soap_version == SOAP_1_2) {
- add_soap_fault(this_ptr, "Client", "encodingStyle cannot be specified on the Body", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- } else if (strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
- add_soap_fault(this_ptr, "Client", "Unknown data encoding style", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
- }
- attr = attr->next;
- }
- if (trav != NULL && soap_version == SOAP_1_2) {
- add_soap_fault(this_ptr, "Client", "A SOAP 1.2 envelope can contain only Header and Body", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
-
- if (head != NULL) {
- attr = head->properties;
- while (attr != NULL) {
- if (attr->ns == NULL) {
- add_soap_fault(this_ptr, "Client", "A SOAP Header element cannot have non Namespace qualified attributes", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- } else if (attr_is_equal_ex(attr,"encodingStyle",SOAP_1_2_ENV_NAMESPACE)) {
- if (soap_version == SOAP_1_2) {
- add_soap_fault(this_ptr, "Client", "encodingStyle cannot be specified on the Header", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- } else if (strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
- add_soap_fault(this_ptr, "Client", "Unknown data encoding style", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
- }
- }
- attr = attr->next;
- }
- }
-
- /* Check if <Body> contains <Fault> element */
- fault = get_node_ex(body->children,"Fault",envelope_ns);
- if (fault != NULL) {
- char *faultcode = NULL, *faultstring = NULL, *faultactor = NULL;
- zval *details = NULL;
- xmlNodePtr tmp;
-
- if (soap_version == SOAP_1_1) {
- tmp = get_node(fault->children,"faultcode");
- if (tmp != NULL && tmp->children != NULL) {
- faultcode = tmp->children->content;
- }
-
- tmp = get_node(fault->children,"faultstring");
- if (tmp != NULL && tmp->children != NULL) {
- faultstring = tmp->children->content;
- }
-
- tmp = get_node(fault->children,"faultactor");
- if (tmp != NULL && tmp->children != NULL) {
- faultactor = tmp->children->content;
- }
-
- tmp = get_node(fault->children,"detail");
- if (tmp != NULL) {
- details = master_to_zval(NULL, tmp);
- }
- } else {
- tmp = get_node(fault->children,"Code");
- if (tmp != NULL && tmp->children != NULL) {
- tmp = get_node(tmp->children,"Value");
- if (tmp != NULL && tmp->children != NULL) {
- faultcode = tmp->children->content;
- }
- }
-
- tmp = get_node(fault->children,"Reason");
- if (tmp != NULL && tmp->children != NULL) {
- /* TODO: lang attribute */
- tmp = get_node(tmp->children,"Text");
- if (tmp != NULL && tmp->children != NULL) {
- faultstring = tmp->children->content;
- }
- }
-
- tmp = get_node(fault->children,"Detail");
- if (tmp != NULL) {
- details = master_to_zval(NULL, tmp);
- }
- }
- add_soap_fault(this_ptr, faultcode, faultstring, faultactor, details TSRMLS_CC);
-#ifdef ZEND_ENGINE_2
- if (details) {
- details->refcount--;
- }
-#endif
- xmlFreeDoc(response);
- return FALSE;
- }
-
- /* Parse content of <Body> element */
- array_init(return_value);
- resp = body->children;
- while (resp != NULL && resp->type != XML_ELEMENT_NODE) {
- resp = resp->next;
- }
- if (resp != NULL) {
- if (fn != NULL && fn->binding && fn->binding->bindingType == BINDING_SOAP) {
- /* Function has WSDL description */
- sdlParamPtr *h_param, param = NULL;
- xmlNodePtr val = NULL;
- char *name, *ns = NULL;
- zval* tmp;
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)fn->bindingAttributes;
- int res_count;
-
- hdrs = fnb->output.headers;
-
- if (fn->responseParameters) {
- res_count = zend_hash_num_elements(fn->responseParameters);
- zend_hash_internal_pointer_reset(fn->responseParameters);
- while (zend_hash_get_current_data(fn->responseParameters, (void **)&h_param) == SUCCESS) {
- param = (*h_param);
- if (fnb->style == SOAP_DOCUMENT) {
- if (param->element) {
- name = param->element->name;
- ns = param->element->namens;
-/*
- name = param->encode->details.type_str;
- ns = param->encode->details.ns;
-*/
- } else {
- name = param->paramName;
- }
- } else {
- name = fn->responseName;
- /* ns = ? */
- }
-
- /* Get value of parameter */
- cur = get_node_ex(resp, name, ns);
- if (!cur) {
- cur = get_node(resp, name);
- /* TODO: produce warning invalid ns */
- }
- if (!cur && fnb->style == SOAP_RPC) {
- cur = resp;
- }
- if (cur) {
- if (fnb->style == SOAP_DOCUMENT) {
- val = cur;
- } else {
- val = get_node(cur->children, param->paramName);
- if (res_count == 1) {
- if (val == NULL) {
- val = get_node(cur->children, "return");
- }
- if (val == NULL) {
- val = get_node(cur->children, "result");
- }
- if (val == NULL && cur->children && cur->children->next == NULL) {
- val = cur->children;
- }
- }
- }
- }
-
- if (!val) {
- /* TODO: may be "nil" is not OK? */
- MAKE_STD_ZVAL(tmp);
- ZVAL_NULL(tmp);
-/*
- add_soap_fault(this_ptr, "Client", "Can't find response data", NULL, NULL TSRMLS_CC);
- xmlFreeDoc(response);
- return FALSE;
-*/
- } else {
- /* Decoding value of parameter */
- if (param != NULL) {
- tmp = master_to_zval(param->encode, val);
- } else {
- tmp = master_to_zval(NULL, val);
- }
- }
- add_assoc_zval(return_value, param->paramName, tmp);
-
- param_count++;
-
- zend_hash_move_forward(fn->responseParameters);
- }
- }
- } else {
- /* Function hasn't WSDL description */
- xmlNodePtr val;
- val = resp->children;
- while (val != NULL) {
- while (val && val->type != XML_ELEMENT_NODE) {
- val = val->next;
- }
- if (val != NULL) {
- if (!node_is_equal_ex(val,"result",RPC_SOAP12_NAMESPACE)) {
- zval *tmp;
-
- tmp = master_to_zval(NULL, val);
- if (val->name) {
- add_assoc_zval(return_value, (char*)val->name, tmp);
- } else {
- add_next_index_zval(return_value, tmp);
- }
- ++param_count;
- }
- val = val->next;
- }
- }
- }
- }
-
- if (Z_TYPE_P(return_value) == IS_ARRAY) {
- if (param_count == 0) {
- zval_dtor(return_value);
- ZVAL_NULL(return_value);
- } else if (param_count == 1) {
- zval *tmp;
-
- zend_hash_internal_pointer_reset(Z_ARRVAL_P(return_value));
- zend_hash_get_current_data(Z_ARRVAL_P(return_value), (void**)&tmp);
- tmp = *(zval**)tmp;
- tmp->refcount++;
- zval_dtor(return_value);
- *return_value = *tmp;
- FREE_ZVAL(tmp);
- }
- }
-
- if (soap_headers && head) {
- trav = head->children;
- while (trav != NULL) {
- if (trav->type == XML_ELEMENT_NODE) {
- encodePtr enc = NULL;
- zval* val;
-
- if (hdrs) {
- smart_str key = {0};
- sdlSoapBindingFunctionHeaderPtr *hdr;
-
- if (trav->ns) {
- smart_str_appends(&key,trav->ns->href);
- smart_str_appendc(&key,':');
- }
- smart_str_appends(&key,trav->name);
- smart_str_0(&key);
- if (zend_hash_find(hdrs, key.c, key.len+1, (void**)&hdr) == SUCCESS) {
- enc = (*hdr)->encode;
- }
- smart_str_free(&key);
- }
- val = master_to_zval(enc, trav);
- add_assoc_zval(soap_headers, (char*)trav->name, val);
- }
- trav = trav->next;
- }
- }
-
- xmlFreeDoc(response);
- return TRUE;
-}
diff --git a/ext/soap/php_packet_soap.h b/ext/soap/php_packet_soap.h
deleted file mode 100644
index e1ed78e243..0000000000
--- a/ext/soap/php_packet_soap.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifndef PHP_PACKET_SOAP_H
-#define PHP_PACKET_SOAP_H
-
-int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunctionPtr fn, char *fn_name, zval *return_value, zval *soap_headers TSRMLS_DC);
-
-#endif
diff --git a/ext/soap/php_schema.c b/ext/soap/php_schema.c
deleted file mode 100644
index 2446b6b67f..0000000000
--- a/ext/soap/php_schema.c
+++ /dev/null
@@ -1,2448 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#include "php_soap.h"
-#include "libxml/uri.h"
-
-static int schema_simpleType(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr simpleType, sdlTypePtr cur_type);
-static int schema_complexType(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr compType, sdlTypePtr cur_type);
-static int schema_list(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr listType, sdlTypePtr cur_type);
-static int schema_union(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr unionType, sdlTypePtr cur_type);
-static int schema_simpleContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr simpCompType, sdlTypePtr cur_type);
-static int schema_restriction_simpleContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr restType, sdlTypePtr cur_type, int simpleType);
-static int schema_restriction_complexContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr restType, sdlTypePtr cur_type);
-static int schema_extension_simpleContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr extType, sdlTypePtr cur_type);
-static int schema_extension_complexContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr extType, sdlTypePtr cur_type);
-static int schema_sequence(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr seqType, sdlTypePtr cur_type, sdlContentModelPtr model);
-static int schema_all(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr extType, sdlTypePtr cur_type, sdlContentModelPtr model);
-static int schema_choice(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr choiceType, sdlTypePtr cur_type, sdlContentModelPtr model);
-static int schema_group(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr groupType, sdlTypePtr cur_type, sdlContentModelPtr model);
-static int schema_any(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr extType, sdlTypePtr cur_type, sdlContentModelPtr model);
-static int schema_element(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr element, sdlTypePtr cur_type, sdlContentModelPtr model);
-static int schema_attribute(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr attrType, sdlTypePtr cur_type, sdlCtx *ctx);
-static int schema_attributeGroup(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr attrType, sdlTypePtr cur_type, sdlCtx *ctx);
-
-static int schema_restriction_var_int(xmlNodePtr val, sdlRestrictionIntPtr *valptr);
-
-static int schema_restriction_var_char(xmlNodePtr val, sdlRestrictionCharPtr *valptr);
-
-static void schema_type_fixup(sdlCtx *ctx, sdlTypePtr type);
-
-static encodePtr create_encoder(sdlPtr sdl, sdlTypePtr cur_type, const char *ns, const char *type)
-{
- smart_str nscat = {0};
- encodePtr enc, *enc_ptr;
-
- if (sdl->encoders == NULL) {
- sdl->encoders = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->encoders, 0, NULL, delete_encoder, 0);
- }
- smart_str_appends(&nscat, ns);
- smart_str_appendc(&nscat, ':');
- smart_str_appends(&nscat, type);
- smart_str_0(&nscat);
- if (zend_hash_find(sdl->encoders, nscat.c, nscat.len + 1, (void**)&enc_ptr) == SUCCESS) {
- enc = *enc_ptr;
- if (enc->details.ns) {
- efree(enc->details.ns);
- }
- if (enc->details.type_str) {
- efree(enc->details.type_str);
- }
- } else {
- enc_ptr = NULL;
- enc = emalloc(sizeof(encode));
- }
- memset(enc, 0, sizeof(encode));
-
- enc->details.ns = estrdup(ns);
- enc->details.type_str = estrdup(type);
- enc->details.sdl_type = cur_type;
- enc->to_xml = sdl_guess_convert_xml;
- enc->to_zval = sdl_guess_convert_zval;
-
- if (enc_ptr == NULL) {
- zend_hash_update(sdl->encoders, nscat.c, nscat.len + 1, &enc, sizeof(encodePtr), NULL);
- }
- smart_str_free(&nscat);
- return enc;
-}
-
-static encodePtr get_create_encoder(sdlPtr sdl, sdlTypePtr cur_type, const char *ns, const char *type)
-{
- encodePtr enc = get_encoder(sdl, ns, type);
- if (enc == NULL) {
- enc = create_encoder(sdl, cur_type, ns, type);
- }
- return enc;
-}
-
-static void schema_load_file(sdlCtx *ctx, xmlAttrPtr ns, xmlChar *location, xmlAttrPtr tns, int import TSRMLS_DC) {
- if (location != NULL &&
- !zend_hash_exists(&ctx->docs, location, strlen(location)+1)) {
- xmlDocPtr doc;
- xmlNodePtr schema;
- xmlAttrPtr new_tns;
-
- doc = soap_xmlParseFile(location TSRMLS_CC);
- if (doc == NULL) {
- soap_error1(E_ERROR, "Parsing Schema: can't import schema from '%s'", location);
- }
- schema = get_node(doc->children, "schema");
- if (schema == NULL) {
- xmlFreeDoc(doc);
- soap_error1(E_ERROR, "Parsing Schema: can't import schema from '%s'", location);
- }
- new_tns = get_attribute(schema->properties, "targetNamespace");
- if (import) {
- if (ns != NULL && (new_tns == NULL || strcmp(ns->children->content,new_tns->children->content) != 0)) {
- xmlFreeDoc(doc);
- soap_error2(E_ERROR, "Parsing Schema: can't import schema from '%s', unexpected 'targetNamespace'='%s'", location, new_tns->children->content);
- }
- if (ns == NULL && new_tns != NULL) {
- xmlFreeDoc(doc);
- soap_error2(E_ERROR, "Parsing Schema: can't import schema from '%s', unexpected 'targetNamespace'='%s'", location, new_tns->children->content);
- }
- } else {
- new_tns = get_attribute(schema->properties, "targetNamespace");
- if (new_tns == NULL) {
- if (tns != NULL) {
- xmlSetProp(schema, "targetNamespace", tns->children->content);
- }
- } else if (tns != NULL && strcmp(tns->children->content,new_tns->children->content) != 0) {
- xmlFreeDoc(doc);
- soap_error1(E_ERROR, "Parsing Schema: can't include schema from '%s', different 'targetNamespace'", location);
- }
- }
- zend_hash_add(&ctx->docs, location, strlen(location)+1, (void**)&doc, sizeof(xmlDocPtr), NULL);
- load_schema(ctx, schema TSRMLS_CC);
- }
-}
-
-/*
-2.6.1 xsi:type
-2.6.2 xsi:nil
-2.6.3 xsi:schemaLocation, xsi:noNamespaceSchemaLocation
-*/
-
-/*
-<schema
- attributeFormDefault = (qualified | unqualified) : unqualified
- blockDefault = (#all | List of (extension | restriction | substitution)) : ''
- elementFormDefault = (qualified | unqualified) : unqualified
- finalDefault = (#all | List of (extension | restriction)) : ''
- id = ID
- targetNamespace = anyURI
- version = token
- xml:lang = language
- {any attributes with non-schema namespace . . .}>
- Content: ((include | import | redefine | annotation)*, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*)
-</schema>
-*/
-int load_schema(sdlCtx *ctx, xmlNodePtr schema TSRMLS_DC)
-{
- xmlNodePtr trav;
- xmlAttrPtr tns;
-
- if (!ctx->sdl->types) {
- ctx->sdl->types = emalloc(sizeof(HashTable));
- zend_hash_init(ctx->sdl->types, 0, NULL, delete_type, 0);
- }
- if (!ctx->attributes) {
- ctx->attributes = emalloc(sizeof(HashTable));
- zend_hash_init(ctx->attributes, 0, NULL, delete_attribute, 0);
- }
- if (!ctx->attributeGroups) {
- ctx->attributeGroups = emalloc(sizeof(HashTable));
- zend_hash_init(ctx->attributeGroups, 0, NULL, delete_type, 0);
- }
-
- tns = get_attribute(schema->properties, "targetNamespace");
- if (tns == NULL) {
- tns = xmlSetProp(schema, "targetNamespace", "");
- xmlNewNs(schema, "", NULL);
- }
-
- trav = schema->children;
- while (trav != NULL) {
- if (node_is_equal(trav,"include")) {
- xmlAttrPtr location;
-
- location = get_attribute(trav->properties, "schemaLocation");
- if (location == NULL) {
- soap_error0(E_ERROR, "Parsing Schema: include has no 'schemaLocation' attribute");
- } else {
- xmlChar *uri;
- xmlChar *base = xmlNodeGetBase(trav->doc, trav);
-
- if (base == NULL) {
- uri = xmlBuildURI(location->children->content, trav->doc->URL);
- } else {
- uri = xmlBuildURI(location->children->content, base);
- xmlFree(base);
- }
- schema_load_file(ctx, NULL, uri, tns, 0 TSRMLS_CC);
- xmlFree(uri);
- }
-
- } else if (node_is_equal(trav,"redefine")) {
- xmlAttrPtr location;
-
- location = get_attribute(trav->properties, "schemaLocation");
- if (location == NULL) {
- soap_error0(E_ERROR, "Parsing Schema: redefine has no 'schemaLocation' attribute");
- } else {
- xmlChar *uri;
- xmlChar *base = xmlNodeGetBase(trav->doc, trav);
-
- if (base == NULL) {
- uri = xmlBuildURI(location->children->content, trav->doc->URL);
- } else {
- uri = xmlBuildURI(location->children->content, base);
- xmlFree(base);
- }
- schema_load_file(ctx, NULL, uri, tns, 0 TSRMLS_CC);
- xmlFree(uri);
- /* TODO: <redefine> support */
- }
-
- } else if (node_is_equal(trav,"import")) {
- xmlAttrPtr ns, location;
- xmlChar *uri = NULL;
-
- ns = get_attribute(trav->properties, "namespace");
- location = get_attribute(trav->properties, "schemaLocation");
-
- if (ns != NULL && tns != NULL && strcmp(ns->children->content,tns->children->content) == 0) {
- soap_error1(E_ERROR, "Parsing Schema: can't import schema from '%s', namespace must not match the enclosing schema 'targetNamespace'", location->children->content);
- }
- if (location) {
- xmlChar *base = xmlNodeGetBase(trav->doc, trav);
-
- if (base == NULL) {
- uri = xmlBuildURI(location->children->content, trav->doc->URL);
- } else {
- uri = xmlBuildURI(location->children->content, base);
- xmlFree(base);
- }
- }
- schema_load_file(ctx, ns, uri, tns, 1 TSRMLS_CC);
- if (uri != NULL) {xmlFree(uri);}
- } else if (node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
-/* annotation cleanup
- xmlNodePtr tmp = trav;
- trav = trav->next;
- xmlUnlinkNode(tmp);
- xmlFreeNode(tmp);
- continue;
-*/
- } else {
- break;
- }
- trav = trav->next;
- }
-
- while (trav != NULL) {
- if (node_is_equal(trav,"simpleType")) {
- schema_simpleType(ctx->sdl, tns, trav, NULL);
- } else if (node_is_equal(trav,"complexType")) {
- schema_complexType(ctx->sdl, tns, trav, NULL);
- } else if (node_is_equal(trav,"group")) {
- schema_group(ctx->sdl, tns, trav, NULL, NULL);
- } else if (node_is_equal(trav,"attributeGroup")) {
- schema_attributeGroup(ctx->sdl, tns, trav, NULL, ctx);
- } else if (node_is_equal(trav,"element")) {
- schema_element(ctx->sdl, tns, trav, NULL, NULL);
- } else if (node_is_equal(trav,"attribute")) {
- schema_attribute(ctx->sdl, tns, trav, NULL, ctx);
- } else if (node_is_equal(trav,"notation")) {
- /* TODO: <notation> support */
- } else if (node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in schema", trav->name);
- }
- trav = trav->next;
- }
- return TRUE;
-}
-
-/*
-<simpleType
- final = (#all | (list | union | restriction))
- id = ID
- name = NCName
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (restriction | list | union))
-</simpleType>
-*/
-static int schema_simpleType(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr simpleType, sdlTypePtr cur_type)
-{
- xmlNodePtr trav;
- xmlAttrPtr name, ns;
-
- ns = get_attribute(simpleType->properties, "targetNamespace");
- if (ns == NULL) {
- ns = tns;
- }
-
- name = get_attribute(simpleType->properties, "name");
- if (cur_type != NULL) {
- /* Anonymous type inside <element> or <restriction> */
- sdlTypePtr newType, *ptr;
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
- newType->kind = XSD_TYPEKIND_SIMPLE;
- if (name != NULL) {
- newType->name = estrdup(name->children->content);
- newType->namens = estrdup(ns->children->content);
- } else {
- newType->name = estrdup(cur_type->name);
- newType->namens = estrdup(cur_type->namens);
- }
-
- zend_hash_next_index_insert(sdl->types, &newType, sizeof(sdlTypePtr), (void **)&ptr);
-
- if (sdl->encoders == NULL) {
- sdl->encoders = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->encoders, 0, NULL, delete_encoder, 0);
- }
- cur_type->encode = emalloc(sizeof(encode));
- memset(cur_type->encode, 0, sizeof(encode));
- cur_type->encode->details.ns = estrdup(newType->namens);
- cur_type->encode->details.type_str = estrdup(newType->name);
- cur_type->encode->details.sdl_type = *ptr;
- cur_type->encode->to_xml = sdl_guess_convert_xml;
- cur_type->encode->to_zval = sdl_guess_convert_zval;
- zend_hash_next_index_insert(sdl->encoders, &cur_type->encode, sizeof(encodePtr), NULL);
-
- cur_type =*ptr;
-
- } else if (name != NULL) {
- sdlTypePtr newType, *ptr;
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
- newType->kind = XSD_TYPEKIND_SIMPLE;
- newType->name = estrdup(name->children->content);
- newType->namens = estrdup(ns->children->content);
-
- if (cur_type == NULL) {
- zend_hash_next_index_insert(sdl->types, &newType, sizeof(sdlTypePtr), (void **)&ptr);
- } else {
- if (cur_type->elements == NULL) {
- cur_type->elements = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->elements, 0, NULL, delete_type, 0);
- }
- zend_hash_update(cur_type->elements, newType->name, strlen(newType->name)+1, &newType, sizeof(sdlTypePtr), (void **)&ptr);
- }
- cur_type = (*ptr);
-
- create_encoder(sdl, cur_type, ns->children->content, name->children->content);
- } else {
- soap_error0(E_ERROR, "Parsing Schema: simpleType has no 'name' attribute");
- }
-
- trav = simpleType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav,"restriction")) {
- schema_restriction_simpleContent(sdl, tns, trav, cur_type, 1);
- trav = trav->next;
- } else if (node_is_equal(trav,"list")) {
- cur_type->kind = XSD_TYPEKIND_LIST;
- schema_list(sdl, tns, trav, cur_type);
- trav = trav->next;
- } else if (node_is_equal(trav,"union")) {
- cur_type->kind = XSD_TYPEKIND_UNION;
- schema_union(sdl, tns, trav, cur_type);
- trav = trav->next;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in simpleType", trav->name);
- }
- } else {
- soap_error0(E_ERROR, "Parsing Schema: expected <restriction>, <list> or <union> in simpleType");
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in simpleType", trav->name);
- }
-
- return TRUE;
-}
-
-/*
-<list
- id = ID
- itemType = QName
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (simpleType?))
-</list>
-*/
-static int schema_list(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr listType, sdlTypePtr cur_type)
-{
- xmlNodePtr trav;
- xmlAttrPtr itemType;
-
- itemType = get_attribute(listType->properties, "itemType");
- if (itemType != NULL) {
- char *type, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(itemType->children->content, &type, &ns);
- nsptr = xmlSearchNs(listType->doc, listType, ns);
- if (nsptr != NULL) {
- sdlTypePtr newType, *tmp;
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
-
- newType->name = estrdup(type);
- newType->namens = estrdup(nsptr->href);
-
- newType->encode = get_create_encoder(sdl, newType, (char *)nsptr->href, type);
-
- if (cur_type->elements == NULL) {
- cur_type->elements = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->elements, 0, NULL, delete_type, 0);
- }
- zend_hash_next_index_insert(cur_type->elements, &newType, sizeof(sdlTypePtr), (void **)&tmp);
- }
- if (type) {efree(type);}
- if (ns) {efree(ns);}
- }
-
- trav = listType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL && node_is_equal(trav,"simpleType")) {
- sdlTypePtr newType, *tmp;
-
- if (itemType != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'itemType' attribute and subtype");
- }
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
-
- newType->name = estrdup("anonymous");
- newType->namens = estrdup(tns->children->content);
-
- if (cur_type->elements == NULL) {
- cur_type->elements = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->elements, 0, NULL, delete_type, 0);
- }
- zend_hash_next_index_insert(cur_type->elements, &newType, sizeof(sdlTypePtr), (void **)&tmp);
-
- schema_simpleType(sdl, tns, trav, newType);
- trav = trav->next;
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in list", trav->name);
- }
- return TRUE;
-}
-
-/*
-<union
- id = ID
- memberTypes = List of QName
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (simpleType*))
-</union>
-*/
-static int schema_union(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr unionType, sdlTypePtr cur_type)
-{
- xmlNodePtr trav;
- xmlAttrPtr memberTypes;
-
- memberTypes = get_attribute(unionType->properties, "memberTypes");
- if (memberTypes != NULL) {
- char *str, *start, *end, *next;
- char *type, *ns;
- xmlNsPtr nsptr;
-
- str = estrdup(memberTypes->children->content);
- whiteSpace_collapse(str);
- start = str;
- while (start != NULL && *start != '\0') {
- end = strchr(start,' ');
- if (end == NULL) {
- next = NULL;
- } else {
- *end = '\0';
- next = end+1;
- }
-
- parse_namespace(start, &type, &ns);
- nsptr = xmlSearchNs(unionType->doc, unionType, ns);
- if (nsptr != NULL) {
- sdlTypePtr newType, *tmp;
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
-
- newType->name = estrdup(type);
- newType->namens = estrdup(nsptr->href);
-
- newType->encode = get_create_encoder(sdl, newType, (char *)nsptr->href, type);
-
- if (cur_type->elements == NULL) {
- cur_type->elements = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->elements, 0, NULL, delete_type, 0);
- }
- zend_hash_next_index_insert(cur_type->elements, &newType, sizeof(sdlTypePtr), (void **)&tmp);
- }
- if (type) {efree(type);}
- if (ns) {efree(ns);}
-
- start = next;
- }
- efree(str);
- }
-
- trav = unionType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"simpleType")) {
- sdlTypePtr newType, *tmp;
-
- if (memberTypes != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: union has both 'memberTypes' attribute and subtypes");
- }
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
-
- newType->name = estrdup("anonymous");
- newType->namens = estrdup(tns->children->content);
-
- if (cur_type->elements == NULL) {
- cur_type->elements = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->elements, 0, NULL, delete_type, 0);
- }
- zend_hash_next_index_insert(cur_type->elements, &newType, sizeof(sdlTypePtr), (void **)&tmp);
-
- schema_simpleType(sdl, tns, trav, newType);
-
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in union", trav->name);
- }
- trav = trav->next;
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in union", trav->name);
- }
- return TRUE;
-}
-
-/*
-<simpleContent
- id = ID
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (restriction | extension))
-</simpleContent>
-*/
-static int schema_simpleContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr simpCompType, sdlTypePtr cur_type)
-{
- xmlNodePtr trav;
-
- trav = simpCompType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav, "restriction")) {
- cur_type->kind = XSD_TYPEKIND_RESTRICTION;
- schema_restriction_simpleContent(sdl, tns, trav, cur_type, 0);
- trav = trav->next;
- } else if (node_is_equal(trav, "extension")) {
- cur_type->kind = XSD_TYPEKIND_EXTENSION;
- schema_extension_simpleContent(sdl, tns, trav, cur_type);
- trav = trav->next;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in simpleContent", trav->name);
- }
- } else {
- soap_error0(E_ERROR, "Parsing Schema: expected <restriction> or <extension> in simpleContent");
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in simpleContent", trav->name);
- }
-
- return TRUE;
-}
-
-/*
-simpleType:<restriction
- base = QName
- id = ID
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)?)
-</restriction>
-simpleContent:<restriction
- base = QName
- id = ID
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern)*)?, ((attribute | attributeGroup)*, anyAttribute?))
-</restriction>
-*/
-static int schema_restriction_simpleContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr restType, sdlTypePtr cur_type, int simpleType)
-{
- xmlNodePtr trav;
- xmlAttrPtr base;
-
- base = get_attribute(restType->properties, "base");
- if (base != NULL) {
- char *type, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(base->children->content, &type, &ns);
- nsptr = xmlSearchNs(restType->doc, restType, ns);
- if (nsptr != NULL) {
- cur_type->encode = get_create_encoder(sdl, cur_type, (char *)nsptr->href, type);
- }
- if (type) {efree(type);}
- if (ns) {efree(ns);}
- } else if (!simpleType) {
- soap_error0(E_ERROR, "Parsing Schema: restriction has no 'base' attribute");
- }
-
- if (cur_type->restrictions == NULL) {
- cur_type->restrictions = emalloc(sizeof(sdlRestrictions));
- memset(cur_type->restrictions, 0, sizeof(sdlRestrictions));
- }
-
- trav = restType->children;
- if (trav != NULL && node_is_equal(trav, "annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL && node_is_equal(trav, "simpleType")) {
- schema_simpleType(sdl, tns, trav, cur_type);
- trav = trav->next;
- }
- while (trav != NULL) {
- if (node_is_equal(trav, "minExclusive")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->minExclusive);
- } else if (node_is_equal(trav, "minInclusive")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->minInclusive);
- } else if (node_is_equal(trav, "maxExclusive")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->maxExclusive);
- } else if (node_is_equal(trav, "maxInclusive")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->maxInclusive);
- } else if (node_is_equal(trav, "totalDigits")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->totalDigits);
- } else if (node_is_equal(trav, "fractionDigits")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->fractionDigits);
- } else if (node_is_equal(trav, "length")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->length);
- } else if (node_is_equal(trav, "minLength")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->minLength);
- } else if (node_is_equal(trav, "maxLength")) {
- schema_restriction_var_int(trav, &cur_type->restrictions->maxLength);
- } else if (node_is_equal(trav, "whiteSpace")) {
- schema_restriction_var_char(trav, &cur_type->restrictions->whiteSpace);
- } else if (node_is_equal(trav, "pattern")) {
- schema_restriction_var_char(trav, &cur_type->restrictions->pattern);
- } else if (node_is_equal(trav, "enumeration")) {
- sdlRestrictionCharPtr enumval = NULL;
-
- schema_restriction_var_char(trav, &enumval);
- if (cur_type->restrictions->enumeration == NULL) {
- cur_type->restrictions->enumeration = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->restrictions->enumeration, 0, NULL, delete_restriction_var_char, 0);
- }
- zend_hash_add(cur_type->restrictions->enumeration, enumval->value, strlen(enumval->value)+1, &enumval, sizeof(sdlRestrictionCharPtr), NULL);
- } else {
- break;
- }
- trav = trav->next;
- }
- if (!simpleType) {
- while (trav != NULL) {
- if (node_is_equal(trav,"attribute")) {
- schema_attribute(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"attributeGroup")) {
- schema_attributeGroup(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"anyAttribute")) {
- /* TODO: <anyAttribute> support */
- trav = trav->next;
- break;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in restriction", trav->name);
- }
- trav = trav->next;
- }
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in restriction", trav->name);
- }
-
- return TRUE;
-}
-
-/*
-<restriction
- base = QName
- id = ID
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))
-</restriction>
-*/
-static int schema_restriction_complexContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr restType, sdlTypePtr cur_type)
-{
- xmlAttrPtr base;
- xmlNodePtr trav;
-
- base = get_attribute(restType->properties, "base");
- if (base != NULL) {
- char *type, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(base->children->content, &type, &ns);
- nsptr = xmlSearchNs(restType->doc, restType, ns);
- if (nsptr != NULL) {
- cur_type->encode = get_create_encoder(sdl, cur_type, (char *)nsptr->href, type);
- }
- if (type) {efree(type);}
- if (ns) {efree(ns);}
- } else {
- soap_error0(E_ERROR, "Parsing Schema: restriction has no 'base' attribute");
- }
-
- trav = restType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav,"group")) {
- schema_group(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"all")) {
- schema_all(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"choice")) {
- schema_choice(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"sequence")) {
- schema_sequence(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- }
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"attribute")) {
- schema_attribute(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"attributeGroup")) {
- schema_attributeGroup(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"anyAttribute")) {
- /* TODO: <anyAttribute> support */
- trav = trav->next;
- break;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in restriction", trav->name);
- }
- trav = trav->next;
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in restriction", trav->name);
- }
-
- return TRUE;
-}
-
-static int schema_restriction_var_int(xmlNodePtr val, sdlRestrictionIntPtr *valptr)
-{
- xmlAttrPtr fixed, value;
-
- if ((*valptr) == NULL) {
- (*valptr) = emalloc(sizeof(sdlRestrictionInt));
- }
- memset((*valptr), 0, sizeof(sdlRestrictionInt));
-
- fixed = get_attribute(val->properties, "fixed");
- (*valptr)->fixed = FALSE;
- if (fixed != NULL) {
- if (!strncmp(fixed->children->content, "true", sizeof("true")) ||
- !strncmp(fixed->children->content, "1", sizeof("1")))
- (*valptr)->fixed = TRUE;
- }
-
- value = get_attribute(val->properties, "value");
- if (value == NULL) {
- soap_error0(E_ERROR, "Parsing Schema: missing restriction value");
- }
-
- (*valptr)->value = atoi(value->children->content);
-
- return TRUE;
-}
-
-static int schema_restriction_var_char(xmlNodePtr val, sdlRestrictionCharPtr *valptr)
-{
- xmlAttrPtr fixed, value;
-
- if ((*valptr) == NULL) {
- (*valptr) = emalloc(sizeof(sdlRestrictionChar));
- }
- memset((*valptr), 0, sizeof(sdlRestrictionChar));
-
- fixed = get_attribute(val->properties, "fixed");
- (*valptr)->fixed = FALSE;
- if (fixed != NULL) {
- if (!strncmp(fixed->children->content, "true", sizeof("true")) ||
- !strncmp(fixed->children->content, "1", sizeof("1"))) {
- (*valptr)->fixed = TRUE;
- }
- }
-
- value = get_attribute(val->properties, "value");
- if (value == NULL) {
- soap_error0(E_ERROR, "Parsing Schema: missing restriction value");
- }
-
- (*valptr)->value = estrdup(value->children->content);
- return TRUE;
-}
-
-/*
-From simpleContent (not supported):
-<extension
- base = QName
- id = ID
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, ((attribute | attributeGroup)*, anyAttribute?))
-</extension>
-*/
-static int schema_extension_simpleContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr extType, sdlTypePtr cur_type)
-{
- xmlNodePtr trav;
- xmlAttrPtr base;
-
- base = get_attribute(extType->properties, "base");
- if (base != NULL) {
- char *type, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(base->children->content, &type, &ns);
- nsptr = xmlSearchNs(extType->doc, extType, ns);
- if (nsptr != NULL) {
- cur_type->encode = get_create_encoder(sdl, cur_type, (char *)nsptr->href, type);
- }
- if (type) {efree(type);}
- if (ns) {efree(ns);}
- } else {
- soap_error0(E_ERROR, "Parsing Schema: extension has no 'base' attribute");
- }
-
- trav = extType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"attribute")) {
- schema_attribute(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"attributeGroup")) {
- schema_attributeGroup(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"anyAttribute")) {
- /* TODO: <anyAttribute> support */
- trav = trav->next;
- break;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in extension", trav->name);
- }
- trav = trav->next;
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in extension", trav->name);
- }
- return TRUE;
-}
-
-/*
-From complexContent:
-<extension
- base = QName
- id = ID
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?)))
-</extension>
-*/
-static int schema_extension_complexContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr extType, sdlTypePtr cur_type)
-{
- xmlNodePtr trav;
- xmlAttrPtr base;
-
- base = get_attribute(extType->properties, "base");
- if (base != NULL) {
- char *type, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(base->children->content, &type, &ns);
- nsptr = xmlSearchNs(extType->doc, extType, ns);
- if (nsptr != NULL) {
- cur_type->encode = get_create_encoder(sdl, cur_type, (char *)nsptr->href, type);
- }
- if (type) {efree(type);}
- if (ns) {efree(ns);}
- } else {
- soap_error0(E_ERROR, "Parsing Schema: extension has no 'base' attribute");
- }
-
- trav = extType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav,"group")) {
- schema_group(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"all")) {
- schema_all(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"choice")) {
- schema_choice(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"sequence")) {
- schema_sequence(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- }
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"attribute")) {
- schema_attribute(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"attributeGroup")) {
- schema_attributeGroup(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"anyAttribute")) {
- /* TODO: <anyAttribute> support */
- trav = trav->next;
- break;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in extension", trav->name);
- }
- trav = trav->next;
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in extension", trav->name);
- }
- return TRUE;
-}
-
-/*
-<all
- id = ID
- maxOccurs = 1 : 1
- minOccurs = (0 | 1) : 1
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, element*)
-</all>
-*/
-static int schema_all(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr all, sdlTypePtr cur_type, sdlContentModelPtr model)
-{
- xmlNodePtr trav;
- xmlAttrPtr attr;
- sdlContentModelPtr newModel;
-
- newModel = emalloc(sizeof(sdlContentModel));
- newModel->kind = XSD_CONTENT_ALL;
- newModel->u.content = emalloc(sizeof(HashTable));
- zend_hash_init(newModel->u.content, 0, NULL, delete_model, 0);
- if (model == NULL) {
- cur_type->model = newModel;
- } else {
- zend_hash_next_index_insert(model->u.content,&newModel,sizeof(sdlContentModelPtr), NULL);
- }
-
- newModel->min_occurs = 1;
- newModel->max_occurs = 1;
-
- attr = get_attribute(all->properties, "minOccurs");
- if (attr) {
- newModel->min_occurs = atoi(attr->children->content);
- }
-
- attr = get_attribute(all->properties, "maxOccurs");
- if (attr) {
- if (!strncmp(attr->children->content, "unbounded", sizeof("unbounded"))) {
- newModel->max_occurs = -1;
- } else {
- newModel->max_occurs = atoi(attr->children->content);
- }
- }
-
- trav = all->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"element")) {
- schema_element(sdl, tns, trav, cur_type, newModel);
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in all", trav->name);
- }
- trav = trav->next;
- }
- return TRUE;
-}
-
-/*
-<group
- name = NCName
- Content: (annotation?, (all | choice | sequence))
-</group>
-<group
- name = NCName
- ref = QName>
- Content: (annotation?)
-</group>
-*/
-static int schema_group(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr groupType, sdlTypePtr cur_type, sdlContentModelPtr model)
-{
- xmlNodePtr trav;
- xmlAttrPtr attr;
- xmlAttrPtr ns, name, ref = NULL;
- sdlContentModelPtr newModel;
-
- ns = get_attribute(groupType->properties, "targetNamespace");
- if (ns == NULL) {
- ns = tns;
- }
-
- name = get_attribute(groupType->properties, "name");
- if (name == NULL) {
- name = ref = get_attribute(groupType->properties, "ref");
- }
-
- if (name) {
- smart_str key = {0};
-
- if (ref) {
- char *type, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(ref->children->content, &type, &ns);
- nsptr = xmlSearchNs(groupType->doc, groupType, ns);
- if (nsptr != NULL) {
- smart_str_appends(&key, nsptr->href);
- smart_str_appendc(&key, ':');
- }
- smart_str_appends(&key, type);
- smart_str_0(&key);
-
- newModel = emalloc(sizeof(sdlContentModel));
- newModel->kind = XSD_CONTENT_GROUP_REF;
- newModel->u.group_ref = estrdup(key.c);
-
- if (type) {efree(type);}
- if (ns) {efree(ns);}
- } else {
- newModel = emalloc(sizeof(sdlContentModel));
- newModel->kind = XSD_CONTENT_SEQUENCE; /* will be redefined */
- newModel->u.content = emalloc(sizeof(HashTable));
- zend_hash_init(newModel->u.content, 0, NULL, delete_model, 0);
-
- smart_str_appends(&key, ns->children->content);
- smart_str_appendc(&key, ':');
- smart_str_appends(&key, name->children->content);
- smart_str_0(&key);
- }
-
- if (cur_type == NULL) {
- sdlTypePtr newType;
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
-
- if (sdl->groups == NULL) {
- sdl->groups = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->groups, 0, NULL, delete_type, 0);
- }
- if (zend_hash_add(sdl->groups, key.c, key.len+1, (void**)&newType, sizeof(sdlTypePtr), NULL) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing Schema: group '%s' already defined", key.c);
- }
-
- cur_type = newType;
- }
- smart_str_free(&key);
-
- if (model == NULL) {
- cur_type->model = newModel;
- } else {
- zend_hash_next_index_insert(model->u.content, &newModel, sizeof(sdlContentModelPtr), NULL);
- }
- } else {
- soap_error0(E_ERROR, "Parsing Schema: group has no 'name' nor 'ref' attributes");
- }
-
- newModel->min_occurs = 1;
- newModel->max_occurs = 1;
-
- attr = get_attribute(groupType->properties, "minOccurs");
- if (attr) {
- newModel->min_occurs = atoi(attr->children->content);
- }
-
- attr = get_attribute(groupType->properties, "maxOccurs");
- if (attr) {
- if (!strncmp(attr->children->content, "unbounded", sizeof("unbounded"))) {
- newModel->max_occurs = -1;
- } else {
- newModel->max_occurs = atoi(attr->children->content);
- }
- }
-
- trav = groupType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav,"choice")) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: group has both 'ref' attribute and subcontent");
- }
- newModel->kind = XSD_CONTENT_CHOICE;
- schema_choice(sdl, tns, trav, cur_type, newModel);
- trav = trav->next;
- } else if (node_is_equal(trav,"sequence")) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: group has both 'ref' attribute and subcontent");
- }
- newModel->kind = XSD_CONTENT_SEQUENCE;
- schema_sequence(sdl, tns, trav, cur_type, newModel);
- trav = trav->next;
- } else if (node_is_equal(trav,"all")) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: group has both 'ref' attribute and subcontent");
- }
- newModel->kind = XSD_CONTENT_ALL;
- schema_all(sdl, tns, trav, cur_type, newModel);
- trav = trav->next;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in group", trav->name);
- }
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in group", trav->name);
- }
- return TRUE;
-}
-/*
-<choice
- id = ID
- maxOccurs = (nonNegativeInteger | unbounded) : 1
- minOccurs = nonNegativeInteger : 1
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (element | group | choice | sequence | any)*)
-</choice>
-*/
-static int schema_choice(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr choiceType, sdlTypePtr cur_type, sdlContentModelPtr model)
-{
- xmlNodePtr trav;
- xmlAttrPtr attr;
- sdlContentModelPtr newModel;
-
- newModel = emalloc(sizeof(sdlContentModel));
- newModel->kind = XSD_CONTENT_CHOICE;
- newModel->u.content = emalloc(sizeof(HashTable));
- zend_hash_init(newModel->u.content, 0, NULL, delete_model, 0);
- if (model == NULL) {
- cur_type->model = newModel;
- } else {
- zend_hash_next_index_insert(model->u.content,&newModel,sizeof(sdlContentModelPtr), NULL);
- }
-
- newModel->min_occurs = 1;
- newModel->max_occurs = 1;
-
- attr = get_attribute(choiceType->properties, "minOccurs");
- if (attr) {
- newModel->min_occurs = atoi(attr->children->content);
- }
-
- attr = get_attribute(choiceType->properties, "maxOccurs");
- if (attr) {
- if (!strncmp(attr->children->content, "unbounded", sizeof("unbounded"))) {
- newModel->max_occurs = -1;
- } else {
- newModel->max_occurs = atoi(attr->children->content);
- }
- }
-
- trav = choiceType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"element")) {
- schema_element(sdl, tns, trav, cur_type, newModel);
- } else if (node_is_equal(trav,"group")) {
- schema_group(sdl, tns, trav, cur_type, newModel);
- } else if (node_is_equal(trav,"choice")) {
- schema_choice(sdl, tns, trav, cur_type, newModel);
- } else if (node_is_equal(trav,"sequence")) {
- schema_sequence(sdl, tns, trav, cur_type, newModel);
- } else if (node_is_equal(trav,"any")) {
- schema_any(sdl, tns, trav, cur_type, newModel);
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in choice", trav->name);
- }
- trav = trav->next;
- }
- return TRUE;
-}
-
-/*
-<sequence
- id = ID
- maxOccurs = (nonNegativeInteger | unbounded) : 1
- minOccurs = nonNegativeInteger : 1
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (element | group | choice | sequence | any)*)
-</sequence>
-*/
-static int schema_sequence(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr seqType, sdlTypePtr cur_type, sdlContentModelPtr model)
-{
- xmlNodePtr trav;
- xmlAttrPtr attr;
- sdlContentModelPtr newModel;
-
- newModel = emalloc(sizeof(sdlContentModel));
- newModel->kind = XSD_CONTENT_SEQUENCE;
- newModel->u.content = emalloc(sizeof(HashTable));
- zend_hash_init(newModel->u.content, 0, NULL, delete_model, 0);
- if (model == NULL) {
- cur_type->model = newModel;
- } else {
- zend_hash_next_index_insert(model->u.content,&newModel,sizeof(sdlContentModelPtr), NULL);
- }
-
- newModel->min_occurs = 1;
- newModel->max_occurs = 1;
-
- attr = get_attribute(seqType->properties, "minOccurs");
- if (attr) {
- newModel->min_occurs = atoi(attr->children->content);
- }
-
- attr = get_attribute(seqType->properties, "maxOccurs");
- if (attr) {
- if (!strncmp(attr->children->content, "unbounded", sizeof("unbounded"))) {
- newModel->max_occurs = -1;
- } else {
- newModel->max_occurs = atoi(attr->children->content);
- }
- }
-
- trav = seqType->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"element")) {
- schema_element(sdl, tns, trav, cur_type, newModel);
- } else if (node_is_equal(trav,"group")) {
- schema_group(sdl, tns, trav, cur_type, newModel);
- } else if (node_is_equal(trav,"choice")) {
- schema_choice(sdl, tns, trav, cur_type, newModel);
- } else if (node_is_equal(trav,"sequence")) {
- schema_sequence(sdl, tns, trav, cur_type, newModel);
- } else if (node_is_equal(trav,"any")) {
- schema_any(sdl, tns, trav, cur_type, newModel);
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in sequence", trav->name);
- }
- trav = trav->next;
- }
- return TRUE;
-}
-
-/*
-<any
- id = ID
- maxOccurs = (nonNegativeInteger | unbounded) : 1
- minOccurs = nonNegativeInteger : 1
- namespace = ((##any | ##other) | List of (anyURI | (##targetNamespace | ##local)) ) : ##any
- processContents = (lax | skip | strict) : strict
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?)
-</any>
-*/
-static int schema_any(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr anyType, sdlTypePtr cur_type, sdlContentModelPtr model)
-{
- if (model != NULL) {
- sdlContentModelPtr newModel;
- xmlAttrPtr attr;
-
- newModel = emalloc(sizeof(sdlContentModel));
- newModel->kind = XSD_CONTENT_ANY;
- newModel->min_occurs = 1;
- newModel->max_occurs = 1;
-
- attr = get_attribute(anyType->properties, "minOccurs");
- if (attr) {
- newModel->min_occurs = atoi(attr->children->content);
- }
-
- attr = get_attribute(anyType->properties, "maxOccurs");
- if (attr) {
- if (!strncmp(attr->children->content, "unbounded", sizeof("unbounded"))) {
- newModel->max_occurs = -1;
- } else {
- newModel->max_occurs = atoi(attr->children->content);
- }
- }
-
- zend_hash_next_index_insert(model->u.content, &newModel, sizeof(sdlContentModelPtr), NULL);
- }
- return TRUE;
-}
-
-/*
-<complexContent
- id = ID
- mixed = boolean
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (restriction | extension))
-</complexContent>
-*/
-static int schema_complexContent(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr compCont, sdlTypePtr cur_type)
-{
- xmlNodePtr trav;
-
- trav = compCont->children;
- if (trav != NULL && node_is_equal(trav,"annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav, "restriction")) {
- cur_type->kind = XSD_TYPEKIND_RESTRICTION;
- schema_restriction_complexContent(sdl, tns, trav, cur_type);
- trav = trav->next;
- } else if (node_is_equal(trav, "extension")) {
- cur_type->kind = XSD_TYPEKIND_EXTENSION;
- schema_extension_complexContent(sdl, tns, trav, cur_type);
- trav = trav->next;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in complexContent", trav->name);
- }
- } else {
- soap_error0(E_ERROR, "Parsing Schema: <restriction> or <extension> expected in complexContent");
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in complexContent", trav->name);
- }
-
- return TRUE;
-}
-
-/*
-<complexType
- abstract = boolean : false
- block = (#all | List of (extension | restriction))
- final = (#all | List of (extension | restriction))
- id = ID
- mixed = boolean : false
- name = NCName
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (simpleContent | complexContent | ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?))))
-</complexType>
-*/
-static int schema_complexType(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr compType, sdlTypePtr cur_type)
-{
- xmlNodePtr trav;
- xmlAttrPtr attrs, name, ns;
-
- attrs = compType->properties;
- ns = get_attribute(attrs, "targetNamespace");
- if (ns == NULL) {
- ns = tns;
- }
-
- name = get_attribute(attrs, "name");
- if (cur_type != NULL) {
- /* Anonymous type inside <element> */
- sdlTypePtr newType, *ptr;
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
- newType->kind = XSD_TYPEKIND_COMPLEX;
- if (name != NULL) {
- newType->name = estrdup(name->children->content);
- newType->namens = estrdup(ns->children->content);
- } else {
- newType->name = estrdup(cur_type->name);
- newType->namens = estrdup(cur_type->namens);
- }
-
- zend_hash_next_index_insert(sdl->types, &newType, sizeof(sdlTypePtr), (void **)&ptr);
-
- if (sdl->encoders == NULL) {
- sdl->encoders = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->encoders, 0, NULL, delete_encoder, 0);
- }
- cur_type->encode = emalloc(sizeof(encode));
- memset(cur_type->encode, 0, sizeof(encode));
- cur_type->encode->details.ns = estrdup(newType->namens);
- cur_type->encode->details.type_str = estrdup(newType->name);
- cur_type->encode->details.sdl_type = *ptr;
- cur_type->encode->to_xml = sdl_guess_convert_xml;
- cur_type->encode->to_zval = sdl_guess_convert_zval;
- zend_hash_next_index_insert(sdl->encoders, &cur_type->encode, sizeof(encodePtr), NULL);
-
- cur_type =*ptr;
-
- } else if (name) {
- sdlTypePtr newType, *ptr;
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
- newType->kind = XSD_TYPEKIND_COMPLEX;
- newType->name = estrdup(name->children->content);
- newType->namens = estrdup(ns->children->content);
-
- zend_hash_next_index_insert(sdl->types, &newType, sizeof(sdlTypePtr), (void **)&ptr);
-
- cur_type = (*ptr);
- create_encoder(sdl, cur_type, ns->children->content, name->children->content);
- } else {
- soap_error0(E_ERROR, "Parsing Schema: complexType has no 'name' attribute");
- return FALSE;
- }
-
- trav = compType->children;
- if (trav != NULL && node_is_equal(trav, "annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav,"simpleContent")) {
- schema_simpleContent(sdl, tns, trav, cur_type);
- trav = trav->next;
- } else if (node_is_equal(trav,"complexContent")) {
- schema_complexContent(sdl, tns, trav, cur_type);
- trav = trav->next;
- } else {
- if (node_is_equal(trav,"group")) {
- schema_group(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"all")) {
- schema_all(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"choice")) {
- schema_choice(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- } else if (node_is_equal(trav,"sequence")) {
- schema_sequence(sdl, tns, trav, cur_type, NULL);
- trav = trav->next;
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"attribute")) {
- schema_attribute(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"attributeGroup")) {
- schema_attributeGroup(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"anyAttribute")) {
- /* TODO: <anyAttribute> support */
- trav = trav->next;
- break;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in complexType", trav->name);
- }
- trav = trav->next;
- }
- }
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in complexType", trav->name);
- }
- return TRUE;
-}
-/*
-<element
- abstract = boolean : false
- block = (#all | List of (extension | restriction | substitution))
- default = string
- final = (#all | List of (extension | restriction))
- fixed = string
- form = (qualified | unqualified)
- id = ID
- maxOccurs = (nonNegativeInteger | unbounded) : 1
- minOccurs = nonNegativeInteger : 1
- name = NCName
- nillable = boolean : false
- ref = QName
- substitutionGroup = QName
- type = QName
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, ((simpleType | complexType)?, (unique | key | keyref)*))
-</element>
-*/
-static int schema_element(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr element, sdlTypePtr cur_type, sdlContentModelPtr model)
-{
- xmlNodePtr trav;
- xmlAttrPtr attrs, attr, ns, name, type, ref = NULL;
-
- attrs = element->properties;
- ns = get_attribute(attrs, "targetNamespace");
- if (ns == NULL) {
- ns = tns;
- }
-
- name = get_attribute(attrs, "name");
- if (name == NULL) {
- name = ref = get_attribute(attrs, "ref");
- }
-
- if (name) {
- HashTable *addHash;
- sdlTypePtr newType;
- smart_str key = {0};
-
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
-
- if (ref) {
- smart_str nscat = {0};
- char *type, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(ref->children->content, &type, &ns);
- nsptr = xmlSearchNs(element->doc, element, ns);
- if (nsptr != NULL) {
- smart_str_appends(&nscat, nsptr->href);
- smart_str_appendc(&nscat, ':');
- newType->namens = estrdup(nsptr->href);
- }
- smart_str_appends(&nscat, type);
- newType->name = estrdup(type);
- smart_str_0(&nscat);
- if (type) {efree(type);}
- if (ns) {efree(ns);}
- newType->ref = estrdup(nscat.c);
- smart_str_free(&nscat);
- } else {
- newType->name = estrdup(name->children->content);
- newType->namens = estrdup(ns->children->content);
- }
-
- newType->nillable = FALSE;
-
- if (cur_type == NULL) {
- if (sdl->elements == NULL) {
- sdl->elements = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->elements, 0, NULL, delete_type, 0);
- }
- addHash = sdl->elements;
- smart_str_appends(&key, newType->namens);
- smart_str_appendc(&key, ':');
- smart_str_appends(&key, newType->name);
- } else {
- if (cur_type->elements == NULL) {
- cur_type->elements = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->elements, 0, NULL, delete_type, 0);
- }
- addHash = cur_type->elements;
- smart_str_appends(&key, newType->name);
- }
-
- smart_str_0(&key);
- if (zend_hash_add(addHash, key.c, key.len + 1, &newType, sizeof(sdlTypePtr), NULL) != SUCCESS) {
- if (cur_type == NULL) {
- soap_error1(E_ERROR, "Parsing Schema: element '%s' already defined", key.c);
- } else {
- zend_hash_next_index_insert(addHash, &newType, sizeof(sdlTypePtr), NULL);
- }
- }
- smart_str_free(&key);
-
- if (model != NULL) {
- sdlContentModelPtr newModel = emalloc(sizeof(sdlContentModel));
-
- newModel->kind = XSD_CONTENT_ELEMENT;
- newModel->u.element = newType;
- newModel->min_occurs = 1;
- newModel->max_occurs = 1;
-
- attr = get_attribute(attrs, "maxOccurs");
- if (attr) {
- if (!strncmp(attr->children->content, "unbounded", sizeof("unbounded"))) {
- newModel->max_occurs = -1;
- } else {
- newModel->max_occurs = atoi(attr->children->content);
- }
- }
-
- attr = get_attribute(attrs, "minOccurs");
- if (attr) {
- newModel->min_occurs = atoi(attr->children->content);
- }
-
- zend_hash_next_index_insert(model->u.content, &newModel, sizeof(sdlContentModelPtr), NULL);
- }
- cur_type = newType;
- } else {
- soap_error0(E_ERROR, "Parsing Schema: element has no 'name' nor 'ref' attributes");
- }
-
- /* nillable = boolean : false */
- attrs = element->properties;
- attr = get_attribute(attrs, "nillable");
- if (attr) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'ref' and 'nillable' attributes");
- }
- if (!stricmp(attr->children->content, "true") ||
- !stricmp(attr->children->content, "1")) {
- cur_type->nillable = TRUE;
- } else {
- cur_type->nillable = FALSE;
- }
- } else {
- cur_type->nillable = FALSE;
- }
-
- attr = get_attribute(attrs, "fixed");
- if (attr) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'ref' and 'fixed' attributes");
- }
- cur_type->fixed = estrdup(attr->children->content);
- }
-
- attr = get_attribute(attrs, "default");
- if (attr) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'ref' and 'fixed' attributes");
- } else if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'default' and 'fixed' attributes");
- }
- cur_type->def = estrdup(attr->children->content);
- }
-
- /* form */
- attr = get_attribute(attrs, "form");
- if (attr) {
- if (strncmp(attr->children->content,"qualified",sizeof("qualified")) == 0) {
- cur_type->form = XSD_FORM_QUALIFIED;
- } else if (strncmp(attr->children->content,"unqualified",sizeof("unqualified")) == 0) {
- cur_type->form = XSD_FORM_UNQUALIFIED;
- } else {
- cur_type->form = XSD_FORM_DEFAULT;
- }
- } else {
- cur_type->form = XSD_FORM_DEFAULT;
- }
- if (cur_type->form == XSD_FORM_DEFAULT) {
- xmlNodePtr parent = element->parent;
- while (parent) {
- if (node_is_equal_ex(parent, "schema", SCHEMA_NAMESPACE)) {
- xmlAttrPtr def;
- def = get_attribute(parent->properties, "elementFormDefault");
- if(def == NULL || strncmp(def->children->content, "qualified", sizeof("qualified"))) {
- cur_type->form = XSD_FORM_UNQUALIFIED;
- } else {
- cur_type->form = XSD_FORM_QUALIFIED;
- }
- break;
- }
- parent = parent->parent;
- }
- if (parent == NULL) {
- cur_type->form = XSD_FORM_UNQUALIFIED;
- }
- }
-
- /* type = QName */
- type = get_attribute(attrs, "type");
- if (type) {
- char *cptype, *str_ns;
- xmlNsPtr nsptr;
-
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'ref' and 'type' attributes");
- }
- parse_namespace(type->children->content, &cptype, &str_ns);
- nsptr = xmlSearchNs(element->doc, element, str_ns);
- if (nsptr != NULL) {
- cur_type->encode = get_create_encoder(sdl, cur_type, (char *)nsptr->href, (char *)cptype);
- }
- if (str_ns) {efree(str_ns);}
- if (cptype) {efree(cptype);}
- }
-
- trav = element->children;
- if (trav != NULL && node_is_equal(trav, "annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav,"simpleType")) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'ref' attribute and subtype");
- } else if (type != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'type' attribute and subtype");
- }
- schema_simpleType(sdl, tns, trav, cur_type);
- trav = trav->next;
- } else if (node_is_equal(trav,"complexType")) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'ref' attribute and subtype");
- } else if (type != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: element has both 'type' attribute and subtype");
- }
- schema_complexType(sdl, tns, trav, cur_type);
- trav = trav->next;
- }
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"unique")) {
- /* TODO: <unique> support */
- } else if (node_is_equal(trav,"key")) {
- /* TODO: <key> support */
- } else if (node_is_equal(trav,"keyref")) {
- /* TODO: <keyref> support */
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in element", trav->name);
- }
- trav = trav->next;
- }
-
- return TRUE;
-}
-
-/*
-<attribute
- default = string
- fixed = string
- form = (qualified | unqualified)
- id = ID
- name = NCName
- ref = QName
- type = QName
- use = (optional | prohibited | required) : optional
- {any attributes with non-schema namespace . . .}>
- Content: (annotation?, (simpleType?))
-</attribute>
-*/
-static int schema_attribute(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr attrType, sdlTypePtr cur_type, sdlCtx *ctx)
-{
- sdlAttributePtr newAttr;
- xmlAttrPtr attr, name, ref = NULL, type = NULL;
- xmlNodePtr trav;
-
- name = get_attribute(attrType->properties, "name");
- if (name == NULL) {
- name = ref = get_attribute(attrType->properties, "ref");
- }
- if (name) {
- HashTable *addHash;
- smart_str key = {0};
-
- newAttr = emalloc(sizeof(sdlAttribute));
- memset(newAttr, 0, sizeof(sdlAttribute));
-
- if (ref) {
- char *attr_name, *ns;
- xmlNsPtr nsptr;
-
- parse_namespace(ref->children->content, &attr_name, &ns);
- nsptr = xmlSearchNs(attrType->doc, attrType, ns);
- if (nsptr != NULL) {
- smart_str_appends(&key, nsptr->href);
- smart_str_appendc(&key, ':');
- newAttr->namens = estrdup(nsptr->href);
- }
- smart_str_appends(&key, attr_name);
- smart_str_0(&key);
- newAttr->ref = estrdup(key.c);
- if (attr_name) {efree(attr_name);}
- if (ns) {efree(ns);}
- } else {
- xmlAttrPtr ns;
-
- ns = get_attribute(attrType->properties, "targetNamespace");
- if (ns == NULL) {
- ns = tns;
- }
- if (ns != NULL) {
- smart_str_appends(&key, ns->children->content);
- smart_str_appendc(&key, ':');
- newAttr->namens = estrdup(ns->children->content);
- }
- smart_str_appends(&key, name->children->content);
- smart_str_0(&key);
- }
-
- if (cur_type == NULL) {
- addHash = ctx->attributes;
- } else {
- if (cur_type->attributes == NULL) {
- cur_type->attributes = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->attributes, 0, NULL, delete_attribute, 0);
- }
- addHash = cur_type->attributes;
- }
-
- if (zend_hash_add(addHash, key.c, key.len + 1, &newAttr, sizeof(sdlAttributePtr), NULL) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing Schema: attribute '%s' already defined", key.c);
- }
- smart_str_free(&key);
- } else{
- soap_error0(E_ERROR, "Parsing Schema: attribute has no 'name' nor 'ref' attributes");
- }
-
- /* type = QName */
- type = get_attribute(attrType->properties, "type");
- if (type) {
- char *cptype, *str_ns;
- xmlNsPtr nsptr;
-
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: attribute has both 'ref' and 'type' attributes");
- }
- parse_namespace(type->children->content, &cptype, &str_ns);
- nsptr = xmlSearchNs(attrType->doc, attrType, str_ns);
- if (nsptr != NULL) {
- newAttr->encode = get_create_encoder(sdl, cur_type, (char *)nsptr->href, (char *)cptype);
- }
- if (str_ns) {efree(str_ns);}
- if (cptype) {efree(cptype);}
- }
-
- attr = attrType->properties;
- while (attr != NULL) {
- if (attr_is_equal_ex(attr, "default", SCHEMA_NAMESPACE)) {
- newAttr->def = estrdup(attr->children->content);
- } else if (attr_is_equal_ex(attr, "fixed", SCHEMA_NAMESPACE)) {
- newAttr->fixed = estrdup(attr->children->content);
- } else if (attr_is_equal_ex(attr, "form", SCHEMA_NAMESPACE)) {
- if (strncmp(attr->children->content,"qualified",sizeof("qualified")) == 0) {
- newAttr->form = XSD_FORM_QUALIFIED;
- } else if (strncmp(attr->children->content,"unqualified",sizeof("unqualified")) == 0) {
- newAttr->form = XSD_FORM_UNQUALIFIED;
- } else {
- newAttr->form = XSD_FORM_DEFAULT;
- }
- } else if (attr_is_equal_ex(attr, "id", SCHEMA_NAMESPACE)) {
- /* skip */
- } else if (attr_is_equal_ex(attr, "name", SCHEMA_NAMESPACE)) {
- newAttr->name = estrdup(attr->children->content);
- } else if (attr_is_equal_ex(attr, "ref", SCHEMA_NAMESPACE)) {
- /* already processed */
- } else if (attr_is_equal_ex(attr, "type", SCHEMA_NAMESPACE)) {
- /* already processed */
- } else if (attr_is_equal_ex(attr, "use", SCHEMA_NAMESPACE)) {
- if (strncmp(attr->children->content,"prohibited",sizeof("prohibited")) == 0) {
- newAttr->use = XSD_USE_PROHIBITED;
- } else if (strncmp(attr->children->content,"required",sizeof("required")) == 0) {
- newAttr->use = XSD_USE_REQUIRED;
- } else if (strncmp(attr->children->content,"optional",sizeof("optional")) == 0) {
- newAttr->use = XSD_USE_OPTIONAL;
- } else {
- newAttr->use = XSD_USE_DEFAULT;
- }
- } else {
- xmlNsPtr nsPtr = attr_find_ns(attr);
-
- if (strncmp(nsPtr->href, SCHEMA_NAMESPACE, sizeof(SCHEMA_NAMESPACE))) {
- smart_str key2 = {0};
- sdlExtraAttributePtr ext;
- xmlNsPtr nsptr;
- char *value, *ns;
-
- ext = emalloc(sizeof(sdlExtraAttribute));
- memset(ext, 0, sizeof(sdlExtraAttribute));
- parse_namespace(attr->children->content, &value, &ns);
- nsptr = xmlSearchNs(attr->doc, attr->parent, ns);
- if (nsptr) {
- ext->ns = estrdup(nsptr->href);
- ext->val = estrdup(value);
- } else {
- ext->val = estrdup(attr->children->content);
- }
- if (ns) {efree(ns);}
- efree(value);
-
- if (!newAttr->extraAttributes) {
- newAttr->extraAttributes = emalloc(sizeof(HashTable));
- zend_hash_init(newAttr->extraAttributes, 0, NULL, delete_extra_attribute, 0);
- }
-
- smart_str_appends(&key2, nsPtr->href);
- smart_str_appendc(&key2, ':');
- smart_str_appends(&key2, attr->name);
- smart_str_0(&key2);
- zend_hash_add(newAttr->extraAttributes, key2.c, key2.len + 1, &ext, sizeof(sdlExtraAttributePtr), NULL);
- smart_str_free(&key2);
- }
- }
- attr = attr->next;
- }
- if (newAttr->form == XSD_FORM_DEFAULT) {
- xmlNodePtr parent = attrType->parent;
- while (parent) {
- if (node_is_equal_ex(parent, "schema", SCHEMA_NAMESPACE)) {
- xmlAttrPtr def;
- def = get_attribute(parent->properties, "attributeFormDefault");
- if(def == NULL || strncmp(def->children->content, "qualified", sizeof("qualified"))) {
- newAttr->form = XSD_FORM_UNQUALIFIED;
- } else {
- newAttr->form = XSD_FORM_QUALIFIED;
- }
- break;
- }
- parent = parent->parent;
- }
- if (parent == NULL) {
- newAttr->form = XSD_FORM_UNQUALIFIED;
- }
- }
- trav = attrType->children;
- if (trav != NULL && node_is_equal(trav, "annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- if (trav != NULL) {
- if (node_is_equal(trav,"simpleType")) {
- sdlTypePtr dummy_type;
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: attribute has both 'ref' attribute and subtype");
- } else if (type != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: attribute has both 'type' attribute and subtype");
- }
- dummy_type = emalloc(sizeof(sdlType));
- memset(dummy_type, 0, sizeof(sdlType));
- dummy_type->name = estrdup("anonymous");
- dummy_type->namens = estrdup(tns->children->content);
- schema_simpleType(sdl, tns, trav, dummy_type);
- newAttr->encode = dummy_type->encode;
- delete_type(&dummy_type);
- trav = trav->next;
- }
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in attribute", trav->name);
- }
- return TRUE;
-}
-
-static int schema_attributeGroup(sdlPtr sdl, xmlAttrPtr tns, xmlNodePtr attrGroup, sdlTypePtr cur_type, sdlCtx *ctx)
-{
- xmlNodePtr trav;
- xmlAttrPtr name, ref = NULL;
-
-
- name = get_attribute(attrGroup->properties, "name");
- if (name == NULL) {
- name = ref = get_attribute(attrGroup->properties, "ref");
- }
- if (name) {
- if (cur_type == NULL) {
- xmlAttrPtr ns;
- sdlTypePtr newType;
- smart_str key = {0};
-
- ns = get_attribute(attrGroup->properties, "targetNamespace");
- if (ns == NULL) {
- ns = tns;
- }
- newType = emalloc(sizeof(sdlType));
- memset(newType, 0, sizeof(sdlType));
- newType->name = estrdup(name->children->content);
- newType->namens = estrdup(ns->children->content);
-
- smart_str_appends(&key, newType->namens);
- smart_str_appendc(&key, ':');
- smart_str_appends(&key, newType->name);
- smart_str_0(&key);
-
- if (zend_hash_add(ctx->attributeGroups, key.c, key.len + 1, &newType, sizeof(sdlTypePtr), NULL) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing Schema: attributeGroup '%s' already defined", key.c);
- }
- cur_type = newType;
- smart_str_free(&key);
- } else if (ref) {
- sdlAttributePtr newAttr;
- char *group_name, *ns;
- smart_str key = {0};
- xmlNsPtr nsptr;
-
- if (cur_type->attributes == NULL) {
- cur_type->attributes = emalloc(sizeof(HashTable));
- zend_hash_init(cur_type->attributes, 0, NULL, delete_attribute, 0);
- }
- newAttr = emalloc(sizeof(sdlAttribute));
- memset(newAttr, 0, sizeof(sdlAttribute));
-
- parse_namespace(ref->children->content, &group_name, &ns);
- nsptr = xmlSearchNs(attrGroup->doc, attrGroup, ns);
- if (nsptr != NULL) {
- smart_str_appends(&key, nsptr->href);
- smart_str_appendc(&key, ':');
- }
- smart_str_appends(&key, group_name);
- smart_str_0(&key);
- newAttr->ref = estrdup(key.c);
- if (group_name) {efree(group_name);}
- if (ns) {efree(ns);}
- smart_str_free(&key);
-
- zend_hash_next_index_insert(cur_type->attributes, &newAttr, sizeof(sdlAttributePtr), NULL);
- cur_type = NULL;
- }
- } else{
- soap_error0(E_ERROR, "Parsing Schema: attributeGroup has no 'name' nor 'ref' attributes");
- }
-
- trav = attrGroup->children;
- if (trav != NULL && node_is_equal(trav, "annotation")) {
- /* TODO: <annotation> support */
- trav = trav->next;
- }
- while (trav != NULL) {
- if (node_is_equal(trav,"attribute")) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: attributeGroup has both 'ref' attribute and subattribute");
- }
- schema_attribute(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"attributeGroup")) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: attributeGroup has both 'ref' attribute and subattribute");
- }
- schema_attributeGroup(sdl, tns, trav, cur_type, NULL);
- } else if (node_is_equal(trav,"anyAttribute")) {
- if (ref != NULL) {
- soap_error0(E_ERROR, "Parsing Schema: attributeGroup has both 'ref' attribute and subattribute");
- }
- /* TODO: <anyAttribute> support */
- trav = trav->next;
- break;
- } else {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in attributeGroup", trav->name);
- }
- trav = trav->next;
- }
- if (trav != NULL) {
- soap_error1(E_ERROR, "Parsing Schema: unexpected <%s> in attributeGroup", trav->name);
- }
- return TRUE;
-}
-
-static void copy_extra_attribute(void *attribute)
-{
- sdlExtraAttributePtr *attr = (sdlExtraAttributePtr*)attribute;
- sdlExtraAttributePtr new_attr;
-
- new_attr = emalloc(sizeof(sdlExtraAttribute));
- memcpy(new_attr, *attr, sizeof(sdlExtraAttribute));
- *attr = new_attr;
- if (new_attr->ns) {
- new_attr->ns = estrdup(new_attr->ns);
- }
- if (new_attr->val) {
- new_attr->val = estrdup(new_attr->val);
- }
-}
-
-static void schema_attribute_fixup(sdlCtx *ctx, sdlAttributePtr attr)
-{
- sdlAttributePtr *tmp;
-
- if (attr->ref != NULL) {
- if (ctx->attributes != NULL) {
- if (zend_hash_find(ctx->attributes, attr->ref, strlen(attr->ref)+1, (void**)&tmp) == SUCCESS) {
- schema_attribute_fixup(ctx, *tmp);
- if ((*tmp)->name != NULL && attr->name == NULL) {
- attr->name = estrdup((*tmp)->name);
- }
- if ((*tmp)->namens != NULL && attr->namens == NULL) {
- attr->namens = estrdup((*tmp)->namens);
- }
- if ((*tmp)->def != NULL && attr->def == NULL) {
- attr->def = estrdup((*tmp)->def);
- }
- if ((*tmp)->fixed != NULL && attr->fixed == NULL) {
- attr->fixed = estrdup((*tmp)->fixed);
- }
- if (attr->form == XSD_FORM_DEFAULT) {
- attr->form = (*tmp)->form;
- }
- if (attr->use == XSD_USE_DEFAULT) {
- attr->use = (*tmp)->use;
- }
- if ((*tmp)->extraAttributes != NULL) {
- xmlNodePtr node;
-
- attr->extraAttributes = emalloc(sizeof(HashTable));
- zend_hash_init(attr->extraAttributes, 0, NULL, delete_extra_attribute, 0);
- zend_hash_copy(attr->extraAttributes, (*tmp)->extraAttributes, copy_extra_attribute, &node, sizeof(xmlNodePtr));
- }
- attr->encode = (*tmp)->encode;
- }
- }
- if (attr->name == NULL && attr->ref != NULL) {
- char *name = strrchr(attr->ref, ':');
- if (*name) {
- attr->name = estrdup(name+1);
- } else{
- attr->name = estrdup(attr->ref);
- }
- }
- efree(attr->ref);
- attr->ref = NULL;
- }
-}
-
-static void schema_attributegroup_fixup(sdlCtx *ctx, sdlAttributePtr attr, HashTable *ht)
-{
- sdlTypePtr *tmp;
- sdlAttributePtr *tmp_attr;
-
- if (attr->ref != NULL) {
- if (ctx->attributeGroups != NULL) {
- if (zend_hash_find(ctx->attributeGroups, attr->ref, strlen(attr->ref)+1, (void**)&tmp) == SUCCESS) {
- if ((*tmp)->attributes) {
- zend_hash_internal_pointer_reset((*tmp)->attributes);
- while (zend_hash_get_current_data((*tmp)->attributes,(void**)&tmp_attr) == SUCCESS) {
- if (zend_hash_get_current_key_type((*tmp)->attributes) == HASH_KEY_IS_STRING) {
- char* key;
- uint key_len;
- sdlAttributePtr newAttr;
-
- schema_attribute_fixup(ctx,*tmp_attr);
-
- newAttr = emalloc(sizeof(sdlAttribute));
- memcpy(newAttr, *tmp_attr, sizeof(sdlAttribute));
- if (newAttr->def) {newAttr->def = estrdup(newAttr->def);}
- if (newAttr->fixed) {newAttr->fixed = estrdup(newAttr->fixed);}
- if (newAttr->namens) {newAttr->namens = estrdup(newAttr->namens);}
- if (newAttr->name) {newAttr->name = estrdup(newAttr->name);}
- if (newAttr->extraAttributes) {
- xmlNodePtr node;
- HashTable *ht = emalloc(sizeof(HashTable));
- zend_hash_init(ht, 0, NULL, delete_extra_attribute, 0);
- zend_hash_copy(ht, newAttr->extraAttributes, copy_extra_attribute, &node, sizeof(xmlNodePtr));
- newAttr->extraAttributes = ht;
- }
-
- zend_hash_get_current_key_ex((*tmp)->attributes, &key, &key_len, NULL, 0, NULL);
- zend_hash_add(ht, key, key_len, &newAttr, sizeof(sdlAttributePtr), NULL);
-
- zend_hash_move_forward((*tmp)->attributes);
- } else {
- ulong index;
-
- schema_attributegroup_fixup(ctx,*tmp_attr, ht);
- zend_hash_get_current_key((*tmp)->attributes, NULL, &index, 0);
- zend_hash_index_del((*tmp)->attributes, index);
- }
- }
- }
- }
- }
- efree(attr->ref);
- attr->ref = NULL;
- }
-}
-
-static void schema_content_model_fixup(sdlCtx *ctx, sdlContentModelPtr model)
-{
- switch (model->kind) {
- case XSD_CONTENT_GROUP_REF: {
- sdlTypePtr *tmp;
-
- if (ctx->sdl->groups && zend_hash_find(ctx->sdl->groups, model->u.group_ref, strlen(model->u.group_ref)+1, (void**)&tmp) == SUCCESS) {
- schema_type_fixup(ctx,*tmp);
- efree(model->u.group_ref);
- model->kind = XSD_CONTENT_GROUP;
- model->u.group = (*tmp);
- } else {
- soap_error0(E_ERROR, "Parsing Schema: unresolved group 'ref' attribute");
- }
- break;
- }
- case XSD_CONTENT_SEQUENCE:
- case XSD_CONTENT_ALL:
- case XSD_CONTENT_CHOICE: {
- sdlContentModelPtr *tmp;
-
- zend_hash_internal_pointer_reset(model->u.content);
- while (zend_hash_get_current_data(model->u.content, (void**)&tmp) == SUCCESS) {
- schema_content_model_fixup(ctx, *tmp);
- zend_hash_move_forward(model->u.content);
- }
- break;
- }
- default:
- break;
- }
-}
-
-static void schema_type_fixup(sdlCtx *ctx, sdlTypePtr type)
-{
- sdlTypePtr *tmp;
- sdlAttributePtr *attr;
-
- if (type->ref != NULL) {
- if (ctx->sdl->elements != NULL) {
- if (zend_hash_find(ctx->sdl->elements, type->ref, strlen(type->ref)+1, (void**)&tmp) == SUCCESS) {
- type->kind = (*tmp)->kind;
- type->encode = (*tmp)->encode;
- if ((*tmp)->nillable) {
- type->nillable = 1;
- }
- if ((*tmp)->fixed) {
- type->fixed = estrdup((*tmp)->fixed);
- }
- if ((*tmp)->def) {
- type->def = estrdup((*tmp)->def);
- }
- type->form = (*tmp)->form;
- } else if (strcmp(type->ref, SCHEMA_NAMESPACE ":schema") == 0) {
- type->encode = get_conversion(XSD_ANYXML);
- } else {
- soap_error0(E_ERROR, "Parsing Schema: unresolved element 'ref' attribute");
- }
- }
- efree(type->ref);
- type->ref = NULL;
- }
- if (type->elements) {
- zend_hash_internal_pointer_reset(type->elements);
- while (zend_hash_get_current_data(type->elements,(void**)&tmp) == SUCCESS) {
- schema_type_fixup(ctx,*tmp);
- zend_hash_move_forward(type->elements);
- }
- }
- if (type->model) {
- schema_content_model_fixup(ctx, type->model);
- }
- if (type->attributes) {
- zend_hash_internal_pointer_reset(type->attributes);
- while (zend_hash_get_current_data(type->attributes,(void**)&attr) == SUCCESS) {
- if (zend_hash_get_current_key_type(type->attributes) == HASH_KEY_IS_STRING) {
- schema_attribute_fixup(ctx,*attr);
- zend_hash_move_forward(type->attributes);
- } else {
- ulong index;
-
- schema_attributegroup_fixup(ctx,*attr,type->attributes);
- zend_hash_get_current_key(type->attributes, NULL, &index, 0);
- zend_hash_index_del(type->attributes, index);
- }
- }
- }
-}
-
-void schema_pass2(sdlCtx *ctx)
-{
- sdlPtr sdl = ctx->sdl;
- sdlAttributePtr *attr;
- sdlTypePtr *type;
-
- if (ctx->attributes) {
- zend_hash_internal_pointer_reset(ctx->attributes);
- while (zend_hash_get_current_data(ctx->attributes,(void**)&attr) == SUCCESS) {
- schema_attribute_fixup(ctx,*attr);
- zend_hash_move_forward(ctx->attributes);
- }
- }
- if (ctx->attributeGroups) {
- zend_hash_internal_pointer_reset(ctx->attributeGroups);
- while (zend_hash_get_current_data(ctx->attributeGroups,(void**)&type) == SUCCESS) {
- schema_type_fixup(ctx,*type);
- zend_hash_move_forward(ctx->attributeGroups);
- }
- }
- if (sdl->elements) {
- zend_hash_internal_pointer_reset(sdl->elements);
- while (zend_hash_get_current_data(sdl->elements,(void**)&type) == SUCCESS) {
- schema_type_fixup(ctx,*type);
- zend_hash_move_forward(sdl->elements);
- }
- }
- if (sdl->groups) {
- zend_hash_internal_pointer_reset(sdl->groups);
- while (zend_hash_get_current_data(sdl->groups,(void**)&type) == SUCCESS) {
- schema_type_fixup(ctx,*type);
- zend_hash_move_forward(sdl->groups);
- }
- }
- if (sdl->types) {
- zend_hash_internal_pointer_reset(sdl->types);
- while (zend_hash_get_current_data(sdl->types,(void**)&type) == SUCCESS) {
- schema_type_fixup(ctx,*type);
- zend_hash_move_forward(sdl->types);
- }
- }
- if (ctx->attributes) {
- zend_hash_destroy(ctx->attributes);
- efree(ctx->attributes);
- }
- if (ctx->attributeGroups) {
- zend_hash_destroy(ctx->attributeGroups);
- efree(ctx->attributeGroups);
- }
-}
-
-void delete_model(void *handle)
-{
- sdlContentModelPtr tmp = *((sdlContentModelPtr*)handle);
- switch (tmp->kind) {
- case XSD_CONTENT_ELEMENT:
- case XSD_CONTENT_GROUP:
- break;
- case XSD_CONTENT_SEQUENCE:
- case XSD_CONTENT_ALL:
- case XSD_CONTENT_CHOICE:
- zend_hash_destroy(tmp->u.content);
- efree(tmp->u.content);
- break;
- case XSD_CONTENT_GROUP_REF:
- efree(tmp->u.group_ref);
- break;
- default:
- break;
- }
- efree(tmp);
-}
-
-void delete_type(void *data)
-{
- sdlTypePtr type = *((sdlTypePtr*)data);
- if (type->name) {
- efree(type->name);
- }
- if (type->namens) {
- efree(type->namens);
- }
- if (type->def) {
- efree(type->def);
- }
- if (type->fixed) {
- efree(type->fixed);
- }
- if (type->elements) {
- zend_hash_destroy(type->elements);
- efree(type->elements);
- }
- if (type->attributes) {
- zend_hash_destroy(type->attributes);
- efree(type->attributes);
- }
- if (type->model) {
- delete_model((void**)&type->model);
- }
- if (type->restrictions) {
- delete_restriction_var_int(&type->restrictions->minExclusive);
- delete_restriction_var_int(&type->restrictions->minInclusive);
- delete_restriction_var_int(&type->restrictions->maxExclusive);
- delete_restriction_var_int(&type->restrictions->maxInclusive);
- delete_restriction_var_int(&type->restrictions->totalDigits);
- delete_restriction_var_int(&type->restrictions->fractionDigits);
- delete_restriction_var_int(&type->restrictions->length);
- delete_restriction_var_int(&type->restrictions->minLength);
- delete_restriction_var_int(&type->restrictions->maxLength);
- delete_restriction_var_char(&type->restrictions->whiteSpace);
- delete_restriction_var_char(&type->restrictions->pattern);
- if (type->restrictions->enumeration) {
- zend_hash_destroy(type->restrictions->enumeration);
- efree(type->restrictions->enumeration);
- }
- efree(type->restrictions);
- }
- efree(type);
-}
-
-void delete_extra_attribute(void *attribute)
-{
- sdlExtraAttributePtr attr = *((sdlExtraAttributePtr*)attribute);
-
- if (attr->ns) {
- efree(attr->ns);
- }
- if (attr->val) {
- efree(attr->val);
- }
- efree(attr);
-}
-
-void delete_attribute(void *attribute)
-{
- sdlAttributePtr attr = *((sdlAttributePtr*)attribute);
-
- if (attr->def) {
- efree(attr->def);
- }
- if (attr->fixed) {
- efree(attr->fixed);
- }
- if (attr->name) {
- efree(attr->name);
- }
- if (attr->namens) {
- efree(attr->namens);
- }
- if (attr->ref) {
- efree(attr->ref);
- }
- if (attr->extraAttributes) {
- zend_hash_destroy(attr->extraAttributes);
- efree(attr->extraAttributes);
- }
- efree(attr);
-}
-
-void delete_restriction_var_int(void *rvi)
-{
- sdlRestrictionIntPtr ptr = *((sdlRestrictionIntPtr*)rvi);
- if (ptr) {
- efree(ptr);
- }
-}
-
-void delete_restriction_var_char(void *srvc)
-{
- sdlRestrictionCharPtr ptr = *((sdlRestrictionCharPtr*)srvc);
- if (ptr) {
- if (ptr->value) {
- efree(ptr->value);
- }
- efree(ptr);
- }
-}
diff --git a/ext/soap/php_schema.h b/ext/soap/php_schema.h
deleted file mode 100644
index d1fed2bb95..0000000000
--- a/ext/soap/php_schema.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifndef PHP_SCHEMA_H
-#define PHP_SCHEMA_H
-
-int load_schema(sdlCtx *ctx, xmlNodePtr schema TSRMLS_DC);
-void schema_pass2(sdlCtx *ctx);
-
-void delete_model(void *handle);
-void delete_type(void *data);
-void delete_extra_attribute(void *attribute);
-void delete_attribute(void *attribute);
-void delete_restriction_var_int(void *rvi);
-void delete_restriction_var_char(void *srvc);
-#endif
diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c
deleted file mode 100644
index 08a96fe841..0000000000
--- a/ext/soap/php_sdl.c
+++ /dev/null
@@ -1,2484 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#include "php_soap.h"
-#include "ext/libxml/php_libxml.h"
-#include "libxml/uri.h"
-
-#include "ext/standard/md5.h"
-#include "tsrm_virtual_cwd.h"
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#ifndef O_BINARY
-# define O_BINARY 0
-#endif
-
-static void delete_fault(void *fault);
-static void delete_binding(void *binding);
-static void delete_function(void *function);
-static void delete_parameter(void *paramater);
-static void delete_header(void *header);
-static void delete_document(void *doc_ptr);
-
-encodePtr get_encoder_from_prefix(sdlPtr sdl, xmlNodePtr node, const char *type)
-{
- encodePtr enc = NULL;
- xmlNsPtr nsptr;
- char *ns, *cptype;
-
- parse_namespace(type, &cptype, &ns);
- nsptr = xmlSearchNs(node->doc, node, ns);
- if (nsptr != NULL) {
- enc = get_encoder(sdl, nsptr->href, cptype);
- if (enc == NULL) {
- enc = get_encoder_ex(sdl, cptype, strlen(cptype));
- }
- } else {
- enc = get_encoder_ex(sdl, type, strlen(type));
- }
- efree(cptype);
- if (ns) {efree(ns);}
- return enc;
-}
-
-static sdlTypePtr get_element(sdlPtr sdl, xmlNodePtr node, const char *type)
-{
- sdlTypePtr ret = NULL;
-
- if (sdl->elements) {
- xmlNsPtr nsptr;
- char *ns, *cptype;
- sdlTypePtr *sdl_type;
-
- parse_namespace(type, &cptype, &ns);
- nsptr = xmlSearchNs(node->doc, node, ns);
- if (nsptr != NULL) {
- int ns_len = strlen(nsptr->href);
- int type_len = strlen(cptype);
- int len = ns_len + type_len + 1;
- char *nscat = emalloc(len + 1);
-
- memcpy(nscat, nsptr->href, ns_len);
- nscat[ns_len] = ':';
- memcpy(nscat+ns_len+1, cptype, type_len);
- nscat[len] = '\0';
-
- if (zend_hash_find(sdl->elements, nscat, len + 1, (void **)&sdl_type) == SUCCESS) {
- ret = *sdl_type;
- } else if (zend_hash_find(sdl->elements, (char*)type, type_len + 1, (void **)&sdl_type) == SUCCESS) {
- ret = *sdl_type;
- }
- efree(nscat);
- } else {
- if (zend_hash_find(sdl->elements, (char*)type, strlen(type) + 1, (void **)&sdl_type) == SUCCESS) {
- ret = *sdl_type;
- }
- }
-
- efree(cptype);
- if (ns) {efree(ns);}
- }
- return ret;
-}
-
-encodePtr get_encoder(sdlPtr sdl, const char *ns, const char *type)
-{
- encodePtr enc = NULL;
- char *nscat;
- int ns_len = strlen(ns);
- int type_len = strlen(type);
- int len = ns_len + type_len + 1;
-
- nscat = emalloc(len + 1);
- memcpy(nscat, ns, ns_len);
- nscat[ns_len] = ':';
- memcpy(nscat+ns_len+1, type, type_len);
- nscat[len] = '\0';
-
- enc = get_encoder_ex(sdl, nscat, len);
- efree(nscat);
-
- if (enc == NULL &&
- ((ns_len == sizeof(SOAP_1_1_ENC_NAMESPACE)-1 &&
- memcmp(ns, SOAP_1_1_ENC_NAMESPACE, sizeof(SOAP_1_1_ENC_NAMESPACE)-1) == 0) ||
- (ns_len == sizeof(SOAP_1_2_ENC_NAMESPACE)-1 &&
- memcmp(ns, SOAP_1_2_ENC_NAMESPACE, sizeof(SOAP_1_2_ENC_NAMESPACE)-1) == 0))) {
- ns_len = sizeof(XSD_NAMESPACE)-1;
- len = ns_len + type_len + 1;
- nscat = emalloc(len + 1);
- memcpy(nscat, XSD_NAMESPACE, sizeof(XSD_NAMESPACE)-1);
- nscat[ns_len] = ':';
- memcpy(nscat+ns_len+1, type, type_len);
- nscat[len] = '\0';
-
- enc = get_encoder_ex(sdl, nscat, len);
- efree(nscat);
- }
- return enc;
-}
-
-encodePtr get_encoder_ex(sdlPtr sdl, const char *nscat, int len)
-{
- encodePtr *enc;
- TSRMLS_FETCH();
-
- if (zend_hash_find(&SOAP_GLOBAL(defEnc), (char*)nscat, len + 1, (void **)&enc) == SUCCESS) {
- return (*enc);
- } else if (sdl && sdl->encoders && zend_hash_find(sdl->encoders, (char*)nscat, len + 1, (void **)&enc) == SUCCESS) {
- return (*enc);
- }
- return NULL;
-}
-
-sdlBindingPtr get_binding_from_type(sdlPtr sdl, int type)
-{
- sdlBindingPtr *binding;
-
- if (sdl == NULL) {
- return NULL;
- }
-
- for (zend_hash_internal_pointer_reset(sdl->bindings);
- zend_hash_get_current_data(sdl->bindings, (void **) &binding) == SUCCESS;
- zend_hash_move_forward(sdl->bindings)) {
- if ((*binding)->bindingType == type) {
- return *binding;
- }
- }
- return NULL;
-}
-
-sdlBindingPtr get_binding_from_name(sdlPtr sdl, char *name, char *ns)
-{
- sdlBindingPtr binding = NULL;
- smart_str key = {0};
-
- smart_str_appends(&key, ns);
- smart_str_appendc(&key, ':');
- smart_str_appends(&key, name);
- smart_str_0(&key);
-
- zend_hash_find(sdl->bindings, key.c, key.len, (void **)&binding);
-
- smart_str_free(&key);
- return binding;
-}
-
-static int is_wsdl_element(xmlNodePtr node)
-{
- if (node->ns && strcmp(node->ns->href,WSDL_NAMESPACE) != 0) {
- xmlAttrPtr attr;
- if ((attr = get_attribute_ex(node->properties, "required", WSDL_NAMESPACE)) != NULL &&
- attr->children && attr->children->content &&
- (strcmp(attr->children->content,"1") == 0 ||
- strcmp(attr->children->content,"true") == 0)) {
- soap_error1(E_ERROR, "Parsing WSDL: Unknown required WSDL extension '%s'", node->ns->href);
- }
- return 0;
- }
- return 1;
-}
-
-static void load_wsdl_ex(zval *this_ptr, char *struri, sdlCtx *ctx, int include TSRMLS_DC)
-{
- sdlPtr tmpsdl = ctx->sdl;
- xmlDocPtr wsdl;
- xmlNodePtr root, definitions, trav;
- xmlAttrPtr targetNamespace;
-
- if (zend_hash_exists(&ctx->docs, struri, strlen(struri)+1)) {
- return;
- }
-
- wsdl = soap_xmlParseFile(struri TSRMLS_CC);
-
- if (!wsdl) {
- soap_error1(E_ERROR, "Parsing WSDL: Couldn't load from '%s'", struri);
- }
-
- zend_hash_add(&ctx->docs, struri, strlen(struri)+1, (void**)&wsdl, sizeof(xmlDocPtr), NULL);
-
- root = wsdl->children;
- definitions = get_node_ex(root, "definitions", WSDL_NAMESPACE);
- if (!definitions) {
- if (include) {
- xmlNodePtr schema = get_node_ex(root, "schema", XSD_NAMESPACE);
- if (schema) {
- load_schema(ctx, schema TSRMLS_CC);
- return;
- }
- }
- soap_error1(E_ERROR, "Parsing WSDL: Couldn't find <definitions> in '%s'", struri);
- }
-
- if (!include) {
- targetNamespace = get_attribute(definitions->properties, "targetNamespace");
- if (targetNamespace) {
- tmpsdl->target_ns = estrdup(targetNamespace->children->content);
- }
- }
-
- trav = definitions->children;
- while (trav != NULL) {
- if (!is_wsdl_element(trav)) {
- trav = trav->next;
- continue;
- }
- if (node_is_equal(trav,"types")) {
- /* TODO: Only one "types" is allowed */
- xmlNodePtr trav2 = trav->children;
-
- while (trav2 != NULL) {
- if (node_is_equal_ex(trav2, "schema", XSD_NAMESPACE)) {
- load_schema(ctx, trav2 TSRMLS_CC);
- } else if (is_wsdl_element(trav2) && !node_is_equal(trav2,"documentation")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav2->name);
- }
- trav2 = trav2->next;
- }
- } else if (node_is_equal(trav,"import")) {
- /* TODO: namespace ??? */
- xmlAttrPtr tmp = get_attribute(trav->properties, "location");
- if (tmp) {
- xmlChar *uri;
- xmlChar *base = xmlNodeGetBase(trav->doc, trav);
-
- if (base == NULL) {
- uri = xmlBuildURI(tmp->children->content, trav->doc->URL);
- } else {
- uri = xmlBuildURI(tmp->children->content, base);
- xmlFree(base);
- }
- load_wsdl_ex(this_ptr, uri, ctx, 1 TSRMLS_CC);
- xmlFree(uri);
- }
-
- } else if (node_is_equal(trav,"message")) {
- xmlAttrPtr name = get_attribute(trav->properties, "name");
- if (name && name->children && name->children->content) {
- if (zend_hash_add(&ctx->messages, name->children->content, strlen(name->children->content)+1,&trav, sizeof(xmlNodePtr), NULL) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing WSDL: <message> '%s' already defined", name->children->content);
- }
- } else {
- soap_error0(E_ERROR, "Parsing WSDL: <message> hasn't name attribute");
- }
-
- } else if (node_is_equal(trav,"portType")) {
- xmlAttrPtr name = get_attribute(trav->properties, "name");
- if (name && name->children && name->children->content) {
- if (zend_hash_add(&ctx->portTypes, name->children->content, strlen(name->children->content)+1,&trav, sizeof(xmlNodePtr), NULL) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing WSDL: <portType> '%s' already defined", name->children->content);
- }
- } else {
- soap_error0(E_ERROR, "Parsing WSDL: <portType> hasn't name attribute");
- }
-
- } else if (node_is_equal(trav,"binding")) {
- xmlAttrPtr name = get_attribute(trav->properties, "name");
- if (name && name->children && name->children->content) {
- if (zend_hash_add(&ctx->bindings, name->children->content, strlen(name->children->content)+1,&trav, sizeof(xmlNodePtr), NULL) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing WSDL: <binding> '%s' already defined", name->children->content);
- }
- } else {
- soap_error0(E_ERROR, "Parsing WSDL: <binding> hasn't name attribute");
- }
-
- } else if (node_is_equal(trav,"service")) {
- xmlAttrPtr name = get_attribute(trav->properties, "name");
- if (name && name->children && name->children->content) {
- if (zend_hash_add(&ctx->services, name->children->content, strlen(name->children->content)+1,&trav, sizeof(xmlNodePtr), NULL) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing WSDL: <service> '%s' already defined", name->children->content);
- }
- } else {
- soap_error0(E_ERROR, "Parsing WSDL: <service> hasn't name attribute");
- }
- } else if (!node_is_equal(trav,"documentation")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav->name);
- }
- trav = trav->next;
- }
-}
-
-static sdlSoapBindingFunctionHeaderPtr wsdl_soap_binding_header(sdlCtx* ctx, xmlNodePtr header, char* wsdl_soap_namespace, int fault)
-{
- xmlAttrPtr tmp;
- xmlNodePtr *message, part;
- char *ctype;
- sdlSoapBindingFunctionHeaderPtr h;
-
- tmp = get_attribute(header->properties, "message");
- if (!tmp) {
- soap_error0(E_ERROR, "Parsing WSDL: Missing message attribute for <header>");
- }
-
- ctype = strrchr(tmp->children->content,':');
- if (ctype == NULL) {
- ctype = tmp->children->content;
- } else {
- ++ctype;
- }
- if (zend_hash_find(&ctx->messages, ctype, strlen(ctype)+1, (void**)&message) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing <message> with name '%s'", tmp->children->content);
- }
-
- tmp = get_attribute(header->properties, "part");
- if (!tmp) {
- soap_error0(E_ERROR, "Parsing WSDL: Missing part attribute for <header>");
- }
- part = get_node_with_attribute_ex((*message)->children, "part", WSDL_NAMESPACE, "name", tmp->children->content, NULL);
- if (!part) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing part '%s' in <message>", tmp->children->content);
- }
-
- h = emalloc(sizeof(sdlSoapBindingFunctionHeader));
- memset(h, 0, sizeof(sdlSoapBindingFunctionHeader));
- h->name = estrdup(tmp->children->content);
-
- tmp = get_attribute(header->properties, "use");
- if (tmp && !strncmp(tmp->children->content, "encoded", sizeof("encoded"))) {
- h->use = SOAP_ENCODED;
- } else {
- h->use = SOAP_LITERAL;
- }
-
- tmp = get_attribute(header->properties, "namespace");
- if (tmp) {
- h->ns = estrdup(tmp->children->content);
- }
-
- if (h->use == SOAP_ENCODED) {
- tmp = get_attribute(header->properties, "encodingStyle");
- if (tmp) {
- if (strncmp(tmp->children->content,SOAP_1_1_ENC_NAMESPACE,sizeof(SOAP_1_1_ENC_NAMESPACE)) == 0) {
- h->encodingStyle = SOAP_ENCODING_1_1;
- } else if (strncmp(tmp->children->content,SOAP_1_2_ENC_NAMESPACE,sizeof(SOAP_1_2_ENC_NAMESPACE)) == 0) {
- h->encodingStyle = SOAP_ENCODING_1_2;
- } else {
- soap_error1(E_ERROR, "Parsing WSDL: Unknown encodingStyle '%s'", tmp->children->content);
- }
- } else {
- soap_error0(E_ERROR, "Parsing WSDL: Unspecified encodingStyle");
- }
- }
-
- tmp = get_attribute(part->properties, "type");
- if (tmp != NULL) {
- h->encode = get_encoder_from_prefix(ctx->sdl, part, tmp->children->content);
- } else {
- tmp = get_attribute(part->properties, "element");
- if (tmp != NULL) {
- h->element = get_element(ctx->sdl, part, tmp->children->content);
- if (h->element) {
- h->encode = h->element->encode;
- if (!h->ns && h->element->namens) {
- h->ns = estrdup(h->element->namens);
- }
- }
- if (h->element->name) {
- efree(h->name);
- h->name = estrdup(h->element->name);
- }
- }
- }
- if (!fault) {
- xmlNodePtr trav = header->children;
- while (trav != NULL) {
- if (node_is_equal_ex(trav, "headerfault", wsdl_soap_namespace)) {
- sdlSoapBindingFunctionHeaderPtr hf = wsdl_soap_binding_header(ctx, trav, wsdl_soap_namespace, 1);
- smart_str key = {0};
-
- if (h->headerfaults == NULL) {
- h->headerfaults = emalloc(sizeof(HashTable));
- zend_hash_init(h->headerfaults, 0, NULL, delete_header, 0);
- }
-
- if (hf->ns) {
- smart_str_appends(&key,hf->ns);
- smart_str_appendc(&key,':');
- }
- smart_str_appends(&key,hf->name);
- smart_str_0(&key);
- if (zend_hash_add(h->headerfaults, key.c, key.len+1, (void**)&hf, sizeof(sdlSoapBindingFunctionHeaderPtr), NULL) != SUCCESS) {
- delete_header((void**)&hf);
- }
- smart_str_free(&key);
- } else if (is_wsdl_element(trav) && !node_is_equal(trav,"documentation")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav->name);
- }
- trav = trav->next;
- }
- }
- return h;
-}
-
-static void wsdl_soap_binding_body(sdlCtx* ctx, xmlNodePtr node, char* wsdl_soap_namespace, sdlSoapBindingFunctionBody *binding, HashTable* params)
-{
- xmlNodePtr body, trav;
- xmlAttrPtr tmp;
-
- trav = node->children;
- while (trav != NULL) {
- if (node_is_equal_ex(trav, "body", wsdl_soap_namespace)) {
- body = trav;
-
- tmp = get_attribute(body->properties, "use");
- if (tmp && !strncmp(tmp->children->content, "literal", sizeof("literal"))) {
- binding->use = SOAP_LITERAL;
- } else {
- binding->use = SOAP_ENCODED;
- }
-
- tmp = get_attribute(body->properties, "namespace");
- if (tmp) {
- binding->ns = estrdup(tmp->children->content);
- }
-
- tmp = get_attribute(body->properties, "parts");
- if (tmp) {
- HashTable ht;
- char *parts = tmp->children->content;
-
- /* Delete all parts those are not in the "parts" attribute */
- zend_hash_init(&ht, 0, NULL, delete_parameter, 0);
- while (*parts) {
- HashPosition pos;
- sdlParamPtr *param;
- int found = 0;
- char *end;
-
- while (*parts == ' ') ++parts;
- if (*parts == '\0') break;
- end = strchr(parts, ' ');
- if (end) *end = '\0';
- zend_hash_internal_pointer_reset_ex(params, &pos);
- while (zend_hash_get_current_data_ex(params, (void **)&param, &pos) != FAILURE) {
- if ((*param)->paramName &&
- strcmp(parts, (*param)->paramName) == 0) {
- sdlParamPtr x_param;
- x_param = emalloc(sizeof(sdlParam));
- *x_param = **param;
- (*param)->paramName = NULL;
- zend_hash_next_index_insert(&ht, &x_param, sizeof(sdlParamPtr), NULL);
- found = 1;
- break;
- }
- zend_hash_move_forward_ex(params, &pos);
- }
- if (!found) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing part '%s' in <message>", parts);
- }
- parts += strlen(parts);
- if (end) *end = ' ';
- }
- zend_hash_destroy(params);
- *params = ht;
- }
-
- if (binding->use == SOAP_ENCODED) {
- tmp = get_attribute(body->properties, "encodingStyle");
- if (tmp) {
- if (strncmp(tmp->children->content,SOAP_1_1_ENC_NAMESPACE,sizeof(SOAP_1_1_ENC_NAMESPACE)) == 0) {
- binding->encodingStyle = SOAP_ENCODING_1_1;
- } else if (strncmp(tmp->children->content,SOAP_1_2_ENC_NAMESPACE,sizeof(SOAP_1_2_ENC_NAMESPACE)) == 0) {
- binding->encodingStyle = SOAP_ENCODING_1_2;
- } else {
- soap_error1(E_ERROR, "Parsing WSDL: Unknown encodingStyle '%s'", tmp->children->content);
- }
- } else {
- soap_error0(E_ERROR, "Parsing WSDL: Unspecified encodingStyle");
- }
- }
- } else if (node_is_equal_ex(trav, "header", wsdl_soap_namespace)) {
- sdlSoapBindingFunctionHeaderPtr h = wsdl_soap_binding_header(ctx, trav, wsdl_soap_namespace, 0);
- smart_str key = {0};
-
- if (binding->headers == NULL) {
- binding->headers = emalloc(sizeof(HashTable));
- zend_hash_init(binding->headers, 0, NULL, delete_header, 0);
- }
-
- if (h->ns) {
- smart_str_appends(&key,h->ns);
- smart_str_appendc(&key,':');
- }
- smart_str_appends(&key,h->name);
- smart_str_0(&key);
- if (zend_hash_add(binding->headers, key.c, key.len+1, (void**)&h, sizeof(sdlSoapBindingFunctionHeaderPtr), NULL) != SUCCESS) {
- delete_header((void**)&h);
- }
- smart_str_free(&key);
- } else if (is_wsdl_element(trav) && !node_is_equal(trav,"documentation")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav->name);
- }
- trav = trav->next;
- }
-}
-
-static HashTable* wsdl_message(sdlCtx *ctx, char* message_name)
-{
- xmlNodePtr trav, part, message = NULL, *tmp;
- HashTable* parameters = NULL;
- char *ctype;
-
- ctype = strrchr(message_name,':');
- if (ctype == NULL) {
- ctype = message_name;
- } else {
- ++ctype;
- }
- if (zend_hash_find(&ctx->messages, ctype, strlen(ctype)+1, (void**)&tmp) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing <message> with name '%s'", message_name);
- }
- message = *tmp;
-
- parameters = emalloc(sizeof(HashTable));
- zend_hash_init(parameters, 0, NULL, delete_parameter, 0);
-
- trav = message->children;
- while (trav != NULL) {
- xmlAttrPtr element, type, name;
- sdlParamPtr param;
-
- if (trav->ns != NULL && strcmp(trav->ns->href,WSDL_NAMESPACE) != 0) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected extensibility element <%s>", trav->name);
- }
- if (node_is_equal(trav,"documentation")) {
- trav = trav->next;
- continue;
- }
- if (!node_is_equal(trav,"part")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav->name);
- }
- part = trav;
- param = emalloc(sizeof(sdlParam));
- memset(param,0,sizeof(sdlParam));
- param->order = 0;
-
- name = get_attribute(part->properties, "name");
- if (name == NULL) {
- soap_error1(E_ERROR, "Parsing WSDL: No name associated with <part> '%s'", message->name);
- }
-
- param->paramName = estrdup(name->children->content);
-
- type = get_attribute(part->properties, "type");
- if (type != NULL) {
- param->encode = get_encoder_from_prefix(ctx->sdl, part, type->children->content);
- } else {
- element = get_attribute(part->properties, "element");
- if (element != NULL) {
- param->element = get_element(ctx->sdl, part, element->children->content);
- if (param->element) {
- param->encode = param->element->encode;
- }
- }
- }
-
- zend_hash_next_index_insert(parameters, &param, sizeof(sdlParamPtr), NULL);
-
- trav = trav->next;
- }
- return parameters;
-}
-
-static sdlPtr load_wsdl(zval *this_ptr, char *struri TSRMLS_DC)
-{
- sdlCtx ctx;
- int i,n;
-
- memset(&ctx,0,sizeof(ctx));
- ctx.sdl = emalloc(sizeof(sdl));
- memset(ctx.sdl, 0, sizeof(sdl));
- ctx.sdl->source = estrdup(struri);
- zend_hash_init(&ctx.sdl->functions, 0, NULL, delete_function, 0);
-
- zend_hash_init(&ctx.docs, 0, NULL, delete_document, 0);
- zend_hash_init(&ctx.messages, 0, NULL, NULL, 0);
- zend_hash_init(&ctx.bindings, 0, NULL, NULL, 0);
- zend_hash_init(&ctx.portTypes, 0, NULL, NULL, 0);
- zend_hash_init(&ctx.services, 0, NULL, NULL, 0);
-
- load_wsdl_ex(this_ptr, struri,&ctx, 0 TSRMLS_CC);
- schema_pass2(&ctx);
-
- n = zend_hash_num_elements(&ctx.services);
- if (n > 0) {
- zend_hash_internal_pointer_reset(&ctx.services);
- for (i = 0; i < n; i++) {
- xmlNodePtr *tmp, service;
- xmlNodePtr trav, port;
-
- zend_hash_get_current_data(&ctx.services, (void **)&tmp);
- service = *tmp;
-
- trav = service->children;
- while (trav != NULL) {
- xmlAttrPtr type, name, bindingAttr, location;
- xmlNodePtr portType, operation;
- xmlNodePtr address, binding, trav2;
- char *ctype;
- sdlBindingPtr tmpbinding;
- char *wsdl_soap_namespace = NULL;
-
- if (!is_wsdl_element(trav) || node_is_equal(trav,"documentation")) {
- trav = trav->next;
- continue;
- }
- if (!node_is_equal(trav,"port")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav->name);
- }
-
- port = trav;
-
- tmpbinding = emalloc(sizeof(sdlBinding));
- memset(tmpbinding, 0, sizeof(sdlBinding));
-
- bindingAttr = get_attribute(port->properties, "binding");
- if (bindingAttr == NULL) {
- soap_error0(E_ERROR, "Parsing WSDL: No binding associated with <port>");
- }
-
- /* find address and figure out binding type */
- address = NULL;
- trav2 = port->children;
- while (trav2 != NULL) {
- if (node_is_equal(trav2,"address") && trav2->ns) {
- if (!strncmp(trav2->ns->href, WSDL_SOAP11_NAMESPACE, sizeof(WSDL_SOAP11_NAMESPACE))) {
- address = trav2;
- wsdl_soap_namespace = WSDL_SOAP11_NAMESPACE;
- tmpbinding->bindingType = BINDING_SOAP;
- } else if (!strncmp(trav2->ns->href, WSDL_SOAP12_NAMESPACE, sizeof(WSDL_SOAP12_NAMESPACE))) {
- address = trav2;
- wsdl_soap_namespace = WSDL_SOAP12_NAMESPACE;
- tmpbinding->bindingType = BINDING_SOAP;
- } else if (!strncmp(trav2->ns->href, RPC_SOAP12_NAMESPACE, sizeof(RPC_SOAP12_NAMESPACE))) {
- address = trav2;
- wsdl_soap_namespace = RPC_SOAP12_NAMESPACE;
- tmpbinding->bindingType = BINDING_SOAP;
- } else if (!strncmp(trav2->ns->href, WSDL_HTTP11_NAMESPACE, sizeof(WSDL_HTTP11_NAMESPACE))) {
- address = trav2;
- tmpbinding->bindingType = BINDING_HTTP;
- } else if (!strncmp(trav2->ns->href, WSDL_HTTP12_NAMESPACE, sizeof(WSDL_HTTP12_NAMESPACE))) {
- address = trav2;
- tmpbinding->bindingType = BINDING_HTTP;
- }
- }
- if (trav2 != address && is_wsdl_element(trav2) && !node_is_equal(trav2,"documentation")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav2->name);
- }
- trav2 = trav2->next;
- }
- if (!address) {
- soap_error0(E_ERROR, "Parsing WSDL: No address associated with <port>");
- }
-
- location = get_attribute(address->properties, "location");
- if (!location) {
- soap_error0(E_ERROR, "Parsing WSDL: No location associated with <port>");
- }
-
- tmpbinding->location = estrdup(location->children->content);
-
- ctype = strrchr(bindingAttr->children->content,':');
- if (ctype == NULL) {
- ctype = bindingAttr->children->content;
- } else {
- ++ctype;
- }
- if (zend_hash_find(&ctx.bindings, ctype, strlen(ctype)+1, (void*)&tmp) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing WSDL: No <binding> element with name '%s'", ctype);
- }
- binding = *tmp;
-
- if (tmpbinding->bindingType == BINDING_SOAP) {
- sdlSoapBindingPtr soapBinding;
- xmlNodePtr soapBindingNode;
- xmlAttrPtr tmp;
-
- soapBinding = emalloc(sizeof(sdlSoapBinding));
- memset(soapBinding, 0, sizeof(sdlSoapBinding));
- soapBinding->style = SOAP_DOCUMENT;
-
- soapBindingNode = get_node_ex(binding->children, "binding", wsdl_soap_namespace);
- if (soapBindingNode) {
- tmp = get_attribute(soapBindingNode->properties, "style");
- if (tmp && !strncmp(tmp->children->content, "rpc", sizeof("rpc"))) {
- soapBinding->style = SOAP_RPC;
- }
-
- tmp = get_attribute(soapBindingNode->properties, "transport");
- if (tmp) {
- if (strncmp(tmp->children->content, WSDL_HTTP_TRANSPORT, sizeof(WSDL_HTTP_TRANSPORT)) == 0) {
- soapBinding->transport = SOAP_TRANSPORT_HTTP;
- } else {
- soap_error1(E_ERROR, "Parsing WSDL: PHP-SOAP doesn't support transport '%s'", tmp->children->content);
- }
- }
- }
- tmpbinding->bindingAttributes = (void *)soapBinding;
- }
-
- name = get_attribute(binding->properties, "name");
- if (name == NULL) {
- soap_error0(E_ERROR, "Parsing WSDL: Missing 'name' attribute for <binding>");
- }
- tmpbinding->name = estrdup(name->children->content);
-
- type = get_attribute(binding->properties, "type");
- if (type == NULL) {
- soap_error0(E_ERROR, "Parsing WSDL: Missing 'type' attribute for <binding>");
- }
-
- ctype = strrchr(type->children->content,':');
- if (ctype == NULL) {
- ctype = type->children->content;
- } else {
- ++ctype;
- }
- if (zend_hash_find(&ctx.portTypes, ctype, strlen(ctype)+1, (void**)&tmp) != SUCCESS) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing <portType> with name '%s'", name->children->content);
- }
- portType = *tmp;
-
- trav2 = binding->children;
- while (trav2 != NULL) {
- sdlFunctionPtr function;
- xmlNodePtr input, output, fault, portTypeOperation, trav3;
- xmlAttrPtr op_name, paramOrder;
-
- if ((tmpbinding->bindingType == BINDING_SOAP &&
- node_is_equal_ex(trav2, "binding", wsdl_soap_namespace)) ||
- !is_wsdl_element(trav2) ||
- node_is_equal(trav2,"documentation")) {
- trav2 = trav2->next;
- continue;
- }
- if (!node_is_equal(trav2,"operation")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav2->name);
- }
-
- operation = trav2;
-
- op_name = get_attribute(operation->properties, "name");
- if (op_name == NULL) {
- soap_error0(E_ERROR, "Parsing WSDL: Missing 'name' attribute for <operation>");
- }
-
- trav3 = operation->children;
- while (trav3 != NULL) {
- if (tmpbinding->bindingType == BINDING_SOAP &&
- node_is_equal_ex(trav3, "operation", wsdl_soap_namespace)) {
- } else if (is_wsdl_element(trav3) &&
- !node_is_equal(trav3,"input") &&
- !node_is_equal(trav3,"output") &&
- !node_is_equal(trav3,"fault") &&
- !node_is_equal(trav3,"documentation")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav3->name);
- }
- trav3 = trav3->next;
- }
-
- portTypeOperation = get_node_with_attribute_ex(portType->children, "operation", WSDL_NAMESPACE, "name", op_name->children->content, NULL);
- if (portTypeOperation == NULL) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing <portType>/<operation> with name '%s'", op_name->children->content);
- }
-
- function = emalloc(sizeof(sdlFunction));
- memset(function, 0, sizeof(sdlFunction));
- function->functionName = estrdup(op_name->children->content);
-
- if (tmpbinding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr soapFunctionBinding;
- sdlSoapBindingPtr soapBinding;
- xmlNodePtr soapOperation;
- xmlAttrPtr tmp;
-
- soapFunctionBinding = emalloc(sizeof(sdlSoapBindingFunction));
- memset(soapFunctionBinding, 0, sizeof(sdlSoapBindingFunction));
- soapBinding = (sdlSoapBindingPtr)tmpbinding->bindingAttributes;
- soapFunctionBinding->style = soapBinding->style;
-
- soapOperation = get_node_ex(operation->children, "operation", wsdl_soap_namespace);
- if (soapOperation) {
- tmp = get_attribute(soapOperation->properties, "soapAction");
- if (tmp) {
- soapFunctionBinding->soapAction = estrdup(tmp->children->content);
- }
-
- tmp = get_attribute(soapOperation->properties, "style");
- if (tmp) {
- if (!strncmp(tmp->children->content, "rpc", sizeof("rpc"))) {
- soapFunctionBinding->style = SOAP_RPC;
- } else {
- soapFunctionBinding->style = SOAP_DOCUMENT;
- }
- } else {
- soapFunctionBinding->style = soapBinding->style;
- }
- }
-
- function->bindingAttributes = (void *)soapFunctionBinding;
- }
-
- input = get_node_ex(portTypeOperation->children, "input", WSDL_NAMESPACE);
- if (input != NULL) {
- xmlAttrPtr message, name;
-
- message = get_attribute(input->properties, "message");
- if (message == NULL) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing name for <input> of '%s'", op_name->children->content);
- }
- function->requestParameters = wsdl_message(&ctx, message->children->content);
-
- name = get_attribute(input->properties, "name");
-/* FIXME
- if (name != NULL) {
- function->requestName = estrdup(name->children->content);
- } else {
-*/
- {
- function->requestName = estrdup(function->functionName);
- }
-
- if (tmpbinding->bindingType == BINDING_SOAP) {
- input = get_node_ex(operation->children, "input", WSDL_NAMESPACE);
- if (input != NULL) {
- sdlSoapBindingFunctionPtr soapFunctionBinding = function->bindingAttributes;
- wsdl_soap_binding_body(&ctx, input, wsdl_soap_namespace, &soapFunctionBinding->input, function->requestParameters);
- }
- }
- }
-
- output = get_node_ex(portTypeOperation->children, "output", WSDL_NAMESPACE);
- if (output != NULL) {
- xmlAttrPtr message, name;
-
- message = get_attribute(output->properties, "message");
- if (message == NULL) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing name for <output> of '%s'", op_name->children->content);
- }
- function->responseParameters = wsdl_message(&ctx, message->children->content);
-
- name = get_attribute(output->properties, "name");
-/* FIXME
- if (name != NULL) {
- function->responseName = estrdup(name->children->content);
- } else if (input == NULL) {
- function->responseName = estrdup(function->functionName);
- } else {
-*/
- {
- int len = strlen(function->functionName);
- function->responseName = emalloc(len + sizeof("Response"));
- memcpy(function->responseName, function->functionName, len);
- memcpy(function->responseName+len, "Response", sizeof("Response"));
- }
-
- if (tmpbinding->bindingType == BINDING_SOAP) {
- output = get_node_ex(operation->children, "output", WSDL_NAMESPACE);
- if (output != NULL) {
- sdlSoapBindingFunctionPtr soapFunctionBinding = function->bindingAttributes;
- wsdl_soap_binding_body(&ctx, output, wsdl_soap_namespace, &soapFunctionBinding->output, function->responseParameters);
- }
- }
- }
-
- paramOrder = get_attribute(portTypeOperation->properties, "parameterOrder");
- if (paramOrder) {
- /* FIXME: */
- }
-
- fault = portTypeOperation->children;
- while (fault != NULL) {
- if (node_is_equal_ex(fault, "fault", WSDL_NAMESPACE)) {
- xmlAttrPtr message, name;
- sdlFaultPtr f;
-
- name = get_attribute(fault->properties, "name");
- if (name == NULL) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing name for <fault> of '%s'", op_name->children->content);
- }
- message = get_attribute(fault->properties, "message");
- if (message == NULL) {
- soap_error1(E_ERROR, "Parsing WSDL: Missing name for <output> of '%s'", op_name->children->content);
- }
-
- f = emalloc(sizeof(sdlFault));
- memset(f, 0, sizeof(sdlFault));
-
- f->name = estrdup(name->children->content);
- f->details = wsdl_message(&ctx, message->children->content);
- if (f->details == NULL || zend_hash_num_elements(f->details) > 1) {
- soap_error1(E_ERROR, "Parsing WSDL: The fault message '%s' must have a single part", message->children->content);
- }
-
- if (tmpbinding->bindingType == BINDING_SOAP) {
- xmlNodePtr soap_fault = get_node_with_attribute_ex(operation->children, "fault", WSDL_NAMESPACE, "name", f->name, NULL);
- if (soap_fault != NULL) {
- xmlNodePtr trav = soap_fault->children;
- while (trav != NULL) {
- if (node_is_equal_ex(trav, "fault", wsdl_soap_namespace)) {
- xmlAttrPtr tmp;
- sdlSoapBindingFunctionFaultPtr binding;
-
- binding = f->bindingAttributes = emalloc(sizeof(sdlSoapBindingFunctionFault));
- memset(f->bindingAttributes, 0, sizeof(sdlSoapBindingFunctionFault));
-
- tmp = get_attribute(trav->properties, "use");
- if (tmp && !strncmp(tmp->children->content, "encoded", sizeof("encoded"))) {
- binding->use = SOAP_ENCODED;
- } else {
- binding->use = SOAP_LITERAL;
- }
-
- tmp = get_attribute(trav->properties, "namespace");
- if (tmp) {
- binding->ns = estrdup(tmp->children->content);
- }
-
- if (binding->use == SOAP_ENCODED) {
- tmp = get_attribute(trav->properties, "encodingStyle");
- if (tmp) {
- if (strncmp(tmp->children->content,SOAP_1_1_ENC_NAMESPACE,sizeof(SOAP_1_1_ENC_NAMESPACE)) == 0) {
- binding->encodingStyle = SOAP_ENCODING_1_1;
- } else if (strncmp(tmp->children->content,SOAP_1_2_ENC_NAMESPACE,sizeof(SOAP_1_2_ENC_NAMESPACE)) == 0) {
- binding->encodingStyle = SOAP_ENCODING_1_2;
- } else {
- soap_error1(E_ERROR, "Parsing WSDL: Unknown encodingStyle '%s'", tmp->children->content);
- }
- } else {
- soap_error0(E_ERROR, "Parsing WSDL: Unspecified encodingStyle");
- }
- }
- } else if (is_wsdl_element(trav) && !node_is_equal(trav,"documentation")) {
- soap_error1(E_ERROR, "Parsing WSDL: Unexpected WSDL element <%s>", trav->name);
- }
- trav = trav->next;
- }
- }
- }
- if (function->faults == NULL) {
- function->faults = emalloc(sizeof(HashTable));
- zend_hash_init(function->faults, 0, NULL, delete_fault, 0);
- }
- if (zend_hash_add(function->faults, f->name, strlen(f->name)+1, (void**)&f, sizeof(sdlFaultPtr), NULL) != SUCCESS) {
- soap_error2(E_ERROR, "Parsing WSDL: <fault> with name '%s' already defined in '%s'", f->name, op_name->children->content);
- }
- }
- fault = fault->next;
- }
-
- function->binding = tmpbinding;
-
- {
- char *tmp = estrdup(function->functionName);
- int len = strlen(tmp);
-
- if (zend_hash_add(&ctx.sdl->functions, php_strtolower(tmp, len), len+1, &function, sizeof(sdlFunctionPtr), NULL) != SUCCESS) {
- zend_hash_next_index_insert(&ctx.sdl->functions, &function, sizeof(sdlFunctionPtr), NULL);
- }
- efree(tmp);
- if (function->requestName != NULL && strcmp(function->requestName,function->functionName) != 0) {
- if (ctx.sdl->requests == NULL) {
- ctx.sdl->requests = emalloc(sizeof(HashTable));
- zend_hash_init(ctx.sdl->requests, 0, NULL, NULL, 0);
- }
- tmp = estrdup(function->requestName);
- len = strlen(tmp);
- zend_hash_add(ctx.sdl->requests, php_strtolower(tmp, len), len+1, &function, sizeof(sdlFunctionPtr), NULL);
- efree(tmp);
- }
- }
- trav2 = trav2->next;
- }
-
- if (!ctx.sdl->bindings) {
- ctx.sdl->bindings = emalloc(sizeof(HashTable));
- zend_hash_init(ctx.sdl->bindings, 0, NULL, delete_binding, 0);
- }
-
- zend_hash_add(ctx.sdl->bindings, tmpbinding->name, strlen(tmpbinding->name), &tmpbinding, sizeof(sdlBindingPtr), NULL);
- trav= trav->next;
- }
-
- zend_hash_move_forward(&ctx.services);
- }
- } else {
- soap_error0(E_ERROR, "Parsing WSDL: Couldn't bind to service");
- }
-
- zend_hash_destroy(&ctx.messages);
- zend_hash_destroy(&ctx.bindings);
- zend_hash_destroy(&ctx.portTypes);
- zend_hash_destroy(&ctx.services);
- zend_hash_destroy(&ctx.docs);
-
- return ctx.sdl;
-}
-
-#define WSDL_CACHE_VERSION 0x0e
-
-#define WSDL_CACHE_GET(ret,type,buf) memcpy(&ret,*buf,sizeof(type)); *buf += sizeof(type);
-#define WSDL_CACHE_GET_INT(ret,buf) ret = ((unsigned char)(*buf)[0])|((unsigned char)(*buf)[1]<<8)|((unsigned char)(*buf)[2]<<16)|((int)(*buf)[3]<<24); *buf += 4;
-#define WSDL_CACHE_GET_1(ret,type,buf) ret = (type)(**buf); (*buf)++;
-#define WSDL_CACHE_GET_N(ret,n,buf) memcpy(ret,*buf,n); *buf += n;
-#define WSDL_CACHE_SKIP(n,buf) *buf += n;
-
-#define WSDL_CACHE_PUT_INT(val,buf) smart_str_appendc(buf,val & 0xff); \
- smart_str_appendc(buf,(val >> 8) & 0xff); \
- smart_str_appendc(buf,(val >> 16) & 0xff); \
- smart_str_appendc(buf,(val >> 24) & 0xff);
-#define WSDL_CACHE_PUT_1(val,buf) smart_str_appendc(buf,val);
-#define WSDL_CACHE_PUT_N(val,n,buf) smart_str_appendl(buf,(char*)val,n);
-
-static char* sdl_deserialize_string(char **in)
-{
- char *s;
- int len;
-
- WSDL_CACHE_GET_INT(len, in);
- if (len == 0x7fffffff) {
- return NULL;
- } else {
- s = emalloc(len+1);
- WSDL_CACHE_GET_N(s, len, in);
- s[len] = '\0';
- return s;
- }
-}
-
-static void sdl_deserialize_key(HashTable* ht, void* data, char **in)
-{
- int len;
-
- WSDL_CACHE_GET_INT(len, in);
- if (len == 0) {
- zend_hash_next_index_insert(ht, &data, sizeof(void*), NULL);
- } else {
- zend_hash_add(ht, *in, len, &data, sizeof(void*), NULL);
- WSDL_CACHE_SKIP(len, in);
- }
-}
-
-static void sdl_deserialize_attribute(sdlAttributePtr attr, encodePtr *encoders, char **in)
-{
- int i;
-
- attr->name = sdl_deserialize_string(in);
- attr->namens = sdl_deserialize_string(in);
- attr->ref = sdl_deserialize_string(in);
- attr->def = sdl_deserialize_string(in);
- attr->fixed = sdl_deserialize_string(in);
- WSDL_CACHE_GET_1(attr->form, sdlForm, in);
- WSDL_CACHE_GET_1(attr->use, sdlUse, in);
- WSDL_CACHE_GET_INT(i, in);
- attr->encode = encoders[i];
- WSDL_CACHE_GET_INT(i, in);
- if (i > 0) {
- attr->extraAttributes = emalloc(sizeof(HashTable));
- zend_hash_init(attr->extraAttributes, i, NULL, delete_extra_attribute, 0);
- while (i > 0) {
- sdlExtraAttributePtr x = emalloc(sizeof(sdlExtraAttribute));
- sdl_deserialize_key(attr->extraAttributes, x, in);
- x->ns = sdl_deserialize_string(in);
- x->val = sdl_deserialize_string(in);
- --i;
- }
- }
-}
-
-static sdlRestrictionIntPtr sdl_deserialize_resriction_int(char **in)
-{
- if (**in == 1) {
- sdlRestrictionIntPtr x = emalloc(sizeof(sdlRestrictionInt));
- WSDL_CACHE_SKIP(1, in);
- WSDL_CACHE_GET_INT(x->value, in);
- WSDL_CACHE_GET_1(x->fixed, char, in);
- return x;
- } else {
- WSDL_CACHE_SKIP(1, in);
- return NULL;
- }
-}
-
-static sdlRestrictionCharPtr sdl_deserialize_resriction_char(char **in)
-{
- if (**in == 1) {
- sdlRestrictionCharPtr x = emalloc(sizeof(sdlRestrictionChar));
- WSDL_CACHE_SKIP(1, in);
- x->value = sdl_deserialize_string(in);
- WSDL_CACHE_GET_1(x->fixed, char, in);
- return x;
- } else {
- WSDL_CACHE_SKIP(1, in);
- return NULL;
- }
-}
-
-static sdlContentModelPtr sdl_deserialize_model(sdlTypePtr *types, sdlTypePtr *elements, char **in)
-{
- int i;
- sdlContentModelPtr model = emalloc(sizeof(sdlContentModel));
-
- WSDL_CACHE_GET_1(model->kind, sdlContentKind, in);
- WSDL_CACHE_GET_INT(model->min_occurs, in);
- WSDL_CACHE_GET_INT(model->max_occurs, in);
- switch (model->kind) {
- case XSD_CONTENT_ELEMENT:
- WSDL_CACHE_GET_INT(i, in);
- model->u.element = elements[i];
- break;
- case XSD_CONTENT_SEQUENCE:
- case XSD_CONTENT_ALL:
- case XSD_CONTENT_CHOICE:
- WSDL_CACHE_GET_INT(i, in);
- model->u.content = emalloc(sizeof(HashTable));
- zend_hash_init(model->u.content, i, NULL, delete_model, 0);
- while (i > 0) {
- sdlContentModelPtr x = sdl_deserialize_model(types, elements, in);
- zend_hash_next_index_insert(model->u.content,&x,sizeof(sdlContentModelPtr),NULL);
- i--;
- }
- break;
- case XSD_CONTENT_GROUP_REF:
- model->u.group_ref = sdl_deserialize_string(in);
- break;
- case XSD_CONTENT_GROUP:
- WSDL_CACHE_GET_INT(i, in);
- model->u.group = types[i];
- break;
- default:
- break;
- }
- return model;
-}
-
-static void sdl_deserialize_type(sdlTypePtr type, sdlTypePtr *types, encodePtr *encoders, char **in)
-{
- int i;
- sdlTypePtr *elements = NULL;
-
- WSDL_CACHE_GET_1(type->kind, sdlTypeKind, in);
- type->name = sdl_deserialize_string(in);
- type->namens = sdl_deserialize_string(in);
- type->def = sdl_deserialize_string(in);
- type->fixed = sdl_deserialize_string(in);
- type->ref = sdl_deserialize_string(in);
- WSDL_CACHE_GET_1(type->nillable, char, in);
- WSDL_CACHE_GET_1(type->form, sdlForm, in);
-
- WSDL_CACHE_GET_INT(i, in);
- type->encode = encoders[i];
-
- if (**in == 1) {
- WSDL_CACHE_SKIP(1, in);
- type->restrictions = emalloc(sizeof(sdlRestrictions));
- /*memset(type->restrictions, 0, sizeof(sdlRestrictions));*/
- type->restrictions->minExclusive = sdl_deserialize_resriction_int(in);
- type->restrictions->minInclusive = sdl_deserialize_resriction_int(in);
- type->restrictions->maxExclusive = sdl_deserialize_resriction_int(in);
- type->restrictions->maxInclusive = sdl_deserialize_resriction_int(in);
- type->restrictions->totalDigits = sdl_deserialize_resriction_int(in);
- type->restrictions->fractionDigits = sdl_deserialize_resriction_int(in);
- type->restrictions->length = sdl_deserialize_resriction_int(in);
- type->restrictions->minLength = sdl_deserialize_resriction_int(in);
- type->restrictions->maxLength = sdl_deserialize_resriction_int(in);
- type->restrictions->whiteSpace = sdl_deserialize_resriction_char(in);
- type->restrictions->pattern = sdl_deserialize_resriction_char(in);
- WSDL_CACHE_GET_INT(i, in);
- if (i > 0) {
- type->restrictions->enumeration = emalloc(sizeof(HashTable));
- zend_hash_init(type->restrictions->enumeration, i, NULL, delete_restriction_var_char, 0);
- while (i > 0) {
- sdlRestrictionCharPtr x = sdl_deserialize_resriction_char(in);
- sdl_deserialize_key(type->restrictions->enumeration, x, in);
- --i;
- }
- } else {
- type->restrictions->enumeration = NULL;
- }
- } else {
- WSDL_CACHE_SKIP(1, in);
- }
-
- WSDL_CACHE_GET_INT(i, in);
- if (i > 0) {
- elements = emalloc((i+1) * sizeof(sdlTypePtr));
- elements[0] = NULL;
- type->elements = emalloc(sizeof(HashTable));
- zend_hash_init(type->elements, i, NULL, delete_type, 0);
- while (i > 0) {
- sdlTypePtr t = emalloc(sizeof(sdlType));
- memset(t, 0, sizeof(sdlType));
- sdl_deserialize_key(type->elements, t, in);
- sdl_deserialize_type(t, types, encoders, in);
- elements[i] = t;
- --i;
- }
- }
-
- WSDL_CACHE_GET_INT(i, in);
- if (i > 0) {
- type->attributes = emalloc(sizeof(HashTable));
- zend_hash_init(type->attributes, i, NULL, delete_attribute, 0);
- while (i > 0) {
- sdlAttributePtr attr = emalloc(sizeof(sdlAttribute));
- memset(attr, 0, sizeof(sdlAttribute));
- sdl_deserialize_key(type->attributes, attr, in);
- sdl_deserialize_attribute(attr, encoders, in);
- --i;
- }
- }
-
- if (**in != 0) {
- WSDL_CACHE_SKIP(1, in);
- type->model = sdl_deserialize_model(types, elements, in);
- } else {
- WSDL_CACHE_SKIP(1, in);
- }
- if (elements != NULL) {
- efree(elements);
- }
-}
-
-static void sdl_deserialize_encoder(encodePtr enc, sdlTypePtr *types, char **in)
-{
- int i;
-
- WSDL_CACHE_GET_INT(enc->details.type, in);
- enc->details.type_str = sdl_deserialize_string(in);
- enc->details.ns = sdl_deserialize_string(in);
- WSDL_CACHE_GET_INT(i, in);
- enc->details.sdl_type = types[i];
- enc->to_xml = sdl_guess_convert_xml;
- enc->to_zval = sdl_guess_convert_zval;
-}
-
-static void sdl_deserialize_soap_body(sdlSoapBindingFunctionBodyPtr body, encodePtr *encoders, sdlTypePtr *types, char **in)
-{
- int i, j, n;
-
- WSDL_CACHE_GET_1(body->use, sdlEncodingUse, in);
- if (body->use == SOAP_ENCODED) {
- WSDL_CACHE_GET_1(body->encodingStyle, sdlRpcEncodingStyle, in);
- } else {
- body->encodingStyle = SOAP_ENCODING_DEFAULT;
- }
- body->ns = sdl_deserialize_string(in);
- WSDL_CACHE_GET_INT(i, in);
- if (i > 0) {
- body->headers = emalloc(sizeof(HashTable));
- zend_hash_init(body->headers, i, NULL, delete_header, 0);
- while (i > 0) {
- sdlSoapBindingFunctionHeaderPtr tmp = emalloc(sizeof(sdlSoapBindingFunctionHeader));
- memset(tmp, 0, sizeof(sdlSoapBindingFunctionHeader));
- sdl_deserialize_key(body->headers, tmp, in);
- WSDL_CACHE_GET_1(tmp->use, sdlEncodingUse, in);
- if (tmp->use == SOAP_ENCODED) {
- WSDL_CACHE_GET_1(tmp->encodingStyle, sdlRpcEncodingStyle, in);
- } else {
- tmp->encodingStyle = SOAP_ENCODING_DEFAULT;
- }
- tmp->name = sdl_deserialize_string(in);
- tmp->ns = sdl_deserialize_string(in);
- WSDL_CACHE_GET_INT(n, in);
- tmp->encode = encoders[n];
- WSDL_CACHE_GET_INT(n, in);
- tmp->element = types[n];
- --i;
- WSDL_CACHE_GET_INT(j, in);
- if (j > 0) {
- tmp->headerfaults = emalloc(sizeof(HashTable));
- zend_hash_init(tmp->headerfaults, i, NULL, delete_header, 0);
- while (j > 0) {
- sdlSoapBindingFunctionHeaderPtr tmp2 = emalloc(sizeof(sdlSoapBindingFunctionHeader));
- memset(tmp2, 0, sizeof(sdlSoapBindingFunctionHeader));
- sdl_deserialize_key(tmp->headerfaults, tmp2, in);
- WSDL_CACHE_GET_1(tmp2->use, sdlEncodingUse, in);
- if (tmp2->use == SOAP_ENCODED) {
- WSDL_CACHE_GET_1(tmp2->encodingStyle, sdlRpcEncodingStyle, in);
- } else {
- tmp2->encodingStyle = SOAP_ENCODING_DEFAULT;
- }
- tmp2->name = sdl_deserialize_string(in);
- tmp2->ns = sdl_deserialize_string(in);
- WSDL_CACHE_GET_INT(n, in);
- tmp2->encode = encoders[n];
- WSDL_CACHE_GET_INT(n, in);
- tmp2->element = types[n];
- --j;
- }
- }
- }
- }
-}
-
-static HashTable* sdl_deserialize_parameters(encodePtr *encoders, sdlTypePtr *types, char **in)
-{
- int i, n;
- HashTable *ht;
-
- WSDL_CACHE_GET_INT(i, in);
- if (i == 0) {return NULL;}
- ht = emalloc(sizeof(HashTable));
- zend_hash_init(ht, i, NULL, delete_parameter, 0);
- while (i > 0) {
- sdlParamPtr param = emalloc(sizeof(sdlParam));
- sdl_deserialize_key(ht, param, in);
- param->paramName = sdl_deserialize_string(in);
- WSDL_CACHE_GET_INT(param->order, in);
- WSDL_CACHE_GET_INT(n, in);
- param->encode = encoders[n];
- WSDL_CACHE_GET_INT(n, in);
- param->element = types[n];
- --i;
- }
- return ht;
-}
-
-static sdlPtr get_sdl_from_cache(const char *fn, const char *uri, time_t t)
-{
- sdlPtr sdl;
- time_t old_t;
- int i, num_groups, num_types, num_elements, num_encoders, num_bindings, num_func;
- sdlFunctionPtr *functions = NULL;
- sdlBindingPtr *bindings;
- sdlTypePtr *types;
- encodePtr *encoders;
- encodePtr enc;
-
- int f;
- struct stat st;
- char *in, *buf;
-
- f = open(fn, O_RDONLY|O_BINARY);
- if (f < 0) {
- return NULL;
- }
- if (fstat(f, &st) != 0) {
- close(f);
- return NULL;
- }
- buf = in = emalloc(st.st_size);
- if (read(f, in, st.st_size) != st.st_size) {
- close(f);
- efree(in);
- return NULL;
- }
- close(f);
-
- if (strncmp(in,"wsdl",4) != 0 || in[4] != WSDL_CACHE_VERSION || in[5] != '\0') {
- unlink(fn);
- efree(buf);
- return NULL;
- }
- in += 6;
-
- WSDL_CACHE_GET(old_t, time_t, &in);
- if (old_t < t) {
- unlink(fn);
- efree(buf);
- return NULL;
- }
-
- WSDL_CACHE_GET_INT(i, &in);
- if (i == 0 && strncmp(in, uri, i) != 0) {
- unlink(fn);
- efree(buf);
- return NULL;
- }
- WSDL_CACHE_SKIP(i, &in);
-
- sdl = emalloc(sizeof(*sdl));
- memset(sdl, 0, sizeof(*sdl));
-
- sdl->source = sdl_deserialize_string(&in);
- sdl->target_ns = sdl_deserialize_string(&in);
-
- WSDL_CACHE_GET_INT(num_groups, &in);
- WSDL_CACHE_GET_INT(num_types, &in);
- WSDL_CACHE_GET_INT(num_elements, &in);
- WSDL_CACHE_GET_INT(num_encoders, &in);
-
- i = num_groups+num_types+num_elements;
- types = emalloc((i+1)*sizeof(sdlTypePtr));
- types[0] = NULL;
- while (i > 0) {
- types[i] = emalloc(sizeof(sdlType));
- memset(types[i], 0, sizeof(sdlType));
- i--;
- }
-
- i = num_encoders;
- enc = defaultEncoding;
- while (enc->details.type != END_KNOWN_TYPES) {
- i++; enc++;
- }
- encoders = emalloc((i+1)*sizeof(encodePtr));
- i = num_encoders;
- encoders[0] = NULL;
- while (i > 0) {
- encoders[i] = emalloc(sizeof(encode));
- memset(encoders[i], 0, sizeof(encode));
- i--;
- }
- i = num_encoders;
- enc = defaultEncoding;
- while (enc->details.type != END_KNOWN_TYPES) {
- encoders[++i] = enc++;
- }
-
- i = 1;
- if (num_groups > 0) {
- sdl->groups = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->groups, num_groups, NULL, delete_type, 0);
- while (i < num_groups+1) {
- sdl_deserialize_key(sdl->groups, types[i], &in);
- sdl_deserialize_type(types[i], types, encoders, &in);
- i++;
- }
- }
-
- if (num_types > 0) {
- sdl->types = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->types, num_types, NULL, delete_type, 0);
- while (i < num_groups+num_types+1) {
- sdl_deserialize_key(sdl->types, types[i], &in);
- sdl_deserialize_type(types[i], types, encoders, &in);
- i++;
- }
- }
-
- if (num_elements > 0) {
- sdl->elements = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->elements, num_elements, NULL, delete_type, 0);
- while (i < num_groups+num_types+num_elements+1) {
- sdl_deserialize_key(sdl->elements, types[i], &in);
- sdl_deserialize_type(types[i], types, encoders, &in);
- i++;
- }
- }
-
- i = 1;
- if (num_encoders > 0) {
- sdl->encoders = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->encoders, num_encoders, NULL, delete_encoder, 0);
- while (i < num_encoders+1) {
- sdl_deserialize_key(sdl->encoders, encoders[i], &in);
- sdl_deserialize_encoder(encoders[i], types, &in);
- i++;
- }
- }
-
- /* deserialize bindings */
- WSDL_CACHE_GET_INT(num_bindings, &in);
- bindings = emalloc(num_bindings*sizeof(sdlBindingPtr));
- if (num_bindings > 0) {
- sdl->bindings = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->bindings, num_bindings, NULL, delete_binding, 0);
- for (i = 0; i < num_bindings; i++) {
- sdlBindingPtr binding = emalloc(sizeof(sdlBinding));
- memset(binding, 0, sizeof(sdlBinding));
- sdl_deserialize_key(sdl->bindings, binding, &in);
- binding->name = sdl_deserialize_string(&in);
- binding->location = sdl_deserialize_string(&in);
- WSDL_CACHE_GET_1(binding->bindingType,sdlBindingType,&in);
- if (binding->bindingType == BINDING_SOAP && *in != 0) {
- sdlSoapBindingPtr soap_binding = binding->bindingAttributes = emalloc(sizeof(sdlSoapBinding));
- WSDL_CACHE_GET_1(soap_binding->style,sdlEncodingStyle,&in);
- WSDL_CACHE_GET_1(soap_binding->transport,sdlTransport,&in);
- } else {
- WSDL_CACHE_SKIP(1,&in);
- }
- bindings[i] = binding;
- }
- }
-
- /* deserialize functions */
- WSDL_CACHE_GET_INT(num_func, &in);
- zend_hash_init(&sdl->functions, num_func, NULL, delete_function, 0);
- if (num_func > 0) {
- functions = emalloc(num_func*sizeof(sdlFunctionPtr));
- for (i = 0; i < num_func; i++) {
- int binding_num, num_faults;
- sdlFunctionPtr func = emalloc(sizeof(sdlFunction));
- sdl_deserialize_key(&sdl->functions, func, &in);
- func->functionName = sdl_deserialize_string(&in);
- func->requestName = sdl_deserialize_string(&in);
- func->responseName = sdl_deserialize_string(&in);
-
- WSDL_CACHE_GET_INT(binding_num, &in);
- if (binding_num == 0) {
- func->binding = NULL;
- } else {
- func->binding = bindings[binding_num-1];
- }
- if (func->binding && func->binding->bindingType == BINDING_SOAP && *in != 0) {
- sdlSoapBindingFunctionPtr binding = func->bindingAttributes = emalloc(sizeof(sdlSoapBindingFunction));
- memset(binding, 0, sizeof(sdlSoapBindingFunction));
- WSDL_CACHE_GET_1(binding->style,sdlEncodingStyle,&in);
- binding->soapAction = sdl_deserialize_string(&in);
- sdl_deserialize_soap_body(&binding->input, encoders, types, &in);
- sdl_deserialize_soap_body(&binding->output, encoders, types, &in);
- } else {
- WSDL_CACHE_SKIP(1, &in);
- func->bindingAttributes = NULL;
- }
-
- func->requestParameters = sdl_deserialize_parameters(encoders, types, &in);
- func->responseParameters = sdl_deserialize_parameters(encoders, types, &in);
-
- WSDL_CACHE_GET_INT(num_faults, &in);
- if (num_faults > 0) {
- int j;
-
- func->faults = emalloc(sizeof(HashTable));
- zend_hash_init(func->faults, num_faults, NULL, delete_fault, 0);
-
- for (j = 0; j < num_faults; j++) {
- sdlFaultPtr fault = emalloc(sizeof(sdlFault));
-
- sdl_deserialize_key(func->faults, fault, &in);
- fault->name =sdl_deserialize_string(&in);
- fault->details =sdl_deserialize_parameters(encoders, types, &in);
- if (*in != 0) {
- sdlSoapBindingFunctionFaultPtr binding = fault->bindingAttributes = emalloc(sizeof(sdlSoapBindingFunctionFault));
- memset(binding, 0, sizeof(sdlSoapBindingFunctionFault));
- WSDL_CACHE_GET_1(binding->use,sdlEncodingUse,&in);
- if (binding->use == SOAP_ENCODED) {
- WSDL_CACHE_GET_1(binding->encodingStyle, sdlRpcEncodingStyle, &in);
- } else {
- binding->encodingStyle = SOAP_ENCODING_DEFAULT;
- }
- binding->ns = sdl_deserialize_string(&in);
- } else {
- WSDL_CACHE_SKIP(1, &in);
- fault->bindingAttributes = NULL;
- }
- }
- } else {
- func->faults = NULL;
- }
- functions[i] = func;
- }
- }
-
- /* deserialize requests */
- WSDL_CACHE_GET_INT(i, &in);
- if (i > 0) {
- sdl->requests = emalloc(sizeof(HashTable));
- zend_hash_init(sdl->requests, i, NULL, NULL, 0);
- while (i > 0) {
- int function_num;
-
- WSDL_CACHE_GET_INT(function_num, &in);
- sdl_deserialize_key(sdl->requests, functions[function_num-1], &in);
- i--;
- }
- }
-
- if (functions) {
- efree(functions);
- }
- efree(bindings);
- efree(encoders);
- efree(types);
- efree(buf);
- return sdl;
-}
-
-static void sdl_serialize_string(const char *str, smart_str *out)
-{
- int i;
-
- if (str) {
- i = strlen(str);
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- WSDL_CACHE_PUT_N(str, i, out);
- }
- } else {
- WSDL_CACHE_PUT_INT(0x7fffffff, out);
- }
-}
-
-static void sdl_serialize_key(HashTable *ht, smart_str *out)
-{
- char *key;
- uint key_len;
- ulong index;
-
- if (zend_hash_get_current_key_ex(ht, &key, &key_len, &index, 0, NULL) == HASH_KEY_IS_STRING) {
- WSDL_CACHE_PUT_INT(key_len, out);
- WSDL_CACHE_PUT_N(key, key_len, out);
- } else {
- WSDL_CACHE_PUT_INT(0, out);
- }
-}
-
-static void sdl_serialize_encoder_ref(encodePtr enc, HashTable *tmp_encoders, smart_str *out) {
- if (enc) {
- int *encoder_num;
- if (zend_hash_find(tmp_encoders, (char*)&enc, sizeof(enc), (void**)&encoder_num) == SUCCESS) {
- WSDL_CACHE_PUT_INT(*encoder_num, out);
- } else {
- WSDL_CACHE_PUT_INT(0, out);
- }
- } else {
- WSDL_CACHE_PUT_INT(0, out);
- }
-}
-
-static void sdl_serialize_type_ref(sdlTypePtr type, HashTable *tmp_types, smart_str *out) {
- if (type) {
- int *type_num;
- if (zend_hash_find(tmp_types, (char*)&type, sizeof(type), (void**)&type_num) == SUCCESS) {
- WSDL_CACHE_PUT_INT(*type_num, out);
- } else {
- WSDL_CACHE_PUT_INT(0, out);
- }
- } else {
- WSDL_CACHE_PUT_INT(0,out);
- }
-}
-
-static void sdl_serialize_attribute(sdlAttributePtr attr, HashTable *tmp_encoders, smart_str *out)
-{
- int i;
-
- sdl_serialize_string(attr->name, out);
- sdl_serialize_string(attr->namens, out);
- sdl_serialize_string(attr->ref, out);
- sdl_serialize_string(attr->def, out);
- sdl_serialize_string(attr->fixed, out);
- WSDL_CACHE_PUT_1(attr->form, out);
- WSDL_CACHE_PUT_1(attr->use, out);
- sdl_serialize_encoder_ref(attr->encode, tmp_encoders, out);
- if (attr->extraAttributes) {
- i = zend_hash_num_elements(attr->extraAttributes);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlExtraAttributePtr *tmp;
- zend_hash_internal_pointer_reset(attr->extraAttributes);
- while (zend_hash_get_current_data(attr->extraAttributes, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(attr->extraAttributes, out);
- sdl_serialize_string((*tmp)->ns, out);
- sdl_serialize_string((*tmp)->val, out);
- zend_hash_move_forward(attr->extraAttributes);
- }
- }
-}
-
-static void sdl_serialize_model(sdlContentModelPtr model, HashTable *tmp_types, HashTable *tmp_elements, smart_str *out)
-{
- WSDL_CACHE_PUT_1(model->kind, out);
- WSDL_CACHE_PUT_INT(model->min_occurs, out);
- WSDL_CACHE_PUT_INT(model->max_occurs, out);
- switch (model->kind) {
- case XSD_CONTENT_ELEMENT:
- sdl_serialize_type_ref(model->u.element, tmp_elements, out);
- break;
- case XSD_CONTENT_SEQUENCE:
- case XSD_CONTENT_ALL:
- case XSD_CONTENT_CHOICE: {
- sdlContentModelPtr *tmp;
- int i = zend_hash_num_elements(model->u.content);
-
- WSDL_CACHE_PUT_INT(i, out);
- zend_hash_internal_pointer_reset(model->u.content);
- while (zend_hash_get_current_data(model->u.content, (void**)&tmp) == SUCCESS) {
- sdl_serialize_model(*tmp, tmp_types, tmp_elements, out);
- zend_hash_move_forward(model->u.content);
- }
- }
- break;
- case XSD_CONTENT_GROUP_REF:
- sdl_serialize_string(model->u.group_ref,out);
- break;
- case XSD_CONTENT_GROUP:
- sdl_serialize_type_ref(model->u.group, tmp_types, out);
- break;
- default:
- break;
- }
-}
-
-static void sdl_serialize_resriction_int(sdlRestrictionIntPtr x, smart_str *out)
-{
- if (x) {
- WSDL_CACHE_PUT_1(1, out);
- WSDL_CACHE_PUT_INT(x->value, out);
- WSDL_CACHE_PUT_1(x->fixed, out);
- } else {
- WSDL_CACHE_PUT_1(0, out);
- }
-}
-
-static void sdl_serialize_resriction_char(sdlRestrictionCharPtr x, smart_str *out)
-{
- if (x) {
- WSDL_CACHE_PUT_1(1, out);
- sdl_serialize_string(x->value, out);
- WSDL_CACHE_PUT_1(x->fixed, out);
- } else {
- WSDL_CACHE_PUT_1(0, out);
- }
-}
-
-static void sdl_serialize_type(sdlTypePtr type, HashTable *tmp_encoders, HashTable *tmp_types, smart_str *out)
-{
- int i;
- HashTable *tmp_elements = NULL;
-
- WSDL_CACHE_PUT_1(type->kind, out);
- sdl_serialize_string(type->name, out);
- sdl_serialize_string(type->namens, out);
- sdl_serialize_string(type->def, out);
- sdl_serialize_string(type->fixed, out);
- sdl_serialize_string(type->ref, out);
- WSDL_CACHE_PUT_1(type->nillable, out);
- WSDL_CACHE_PUT_1(type->form, out);
- sdl_serialize_encoder_ref(type->encode, tmp_encoders, out);
-
- if (type->restrictions) {
- WSDL_CACHE_PUT_1(1, out);
- sdl_serialize_resriction_int(type->restrictions->minExclusive,out);
- sdl_serialize_resriction_int(type->restrictions->minInclusive,out);
- sdl_serialize_resriction_int(type->restrictions->maxExclusive,out);
- sdl_serialize_resriction_int(type->restrictions->maxInclusive,out);
- sdl_serialize_resriction_int(type->restrictions->totalDigits,out);
- sdl_serialize_resriction_int(type->restrictions->fractionDigits,out);
- sdl_serialize_resriction_int(type->restrictions->length,out);
- sdl_serialize_resriction_int(type->restrictions->minLength,out);
- sdl_serialize_resriction_int(type->restrictions->maxLength,out);
- sdl_serialize_resriction_char(type->restrictions->whiteSpace,out);
- sdl_serialize_resriction_char(type->restrictions->pattern,out);
- if (type->restrictions->enumeration) {
- i = zend_hash_num_elements(type->restrictions->enumeration);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlRestrictionCharPtr *tmp;
-
- zend_hash_internal_pointer_reset(type->restrictions->enumeration);
- while (zend_hash_get_current_data(type->restrictions->enumeration, (void**)&tmp) == SUCCESS) {
- sdl_serialize_resriction_char(*tmp, out);
- sdl_serialize_key(type->restrictions->enumeration, out);
- zend_hash_move_forward(type->restrictions->enumeration);
- }
- }
- } else {
- WSDL_CACHE_PUT_1(0, out);
- }
- if (type->elements) {
- i = zend_hash_num_elements(type->elements);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlTypePtr *tmp;
-
- tmp_elements = emalloc(sizeof(HashTable));
- zend_hash_init(tmp_elements, 0, NULL, NULL, 0);
-
- zend_hash_internal_pointer_reset(type->elements);
- while (zend_hash_get_current_data(type->elements, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(type->elements, out);
- sdl_serialize_type(*tmp, tmp_encoders, tmp_types, out);
- zend_hash_add(tmp_elements, (char*)tmp, sizeof(*tmp), &i, sizeof(int), NULL);
- i--;
- zend_hash_move_forward(type->elements);
- }
- }
-
- if (type->attributes) {
- i = zend_hash_num_elements(type->attributes);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlAttributePtr *tmp;
- zend_hash_internal_pointer_reset(type->attributes);
- while (zend_hash_get_current_data(type->attributes, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(type->attributes, out);
- sdl_serialize_attribute(*tmp, tmp_encoders, out);
- zend_hash_move_forward(type->attributes);
- }
- }
- if (type->model) {
- WSDL_CACHE_PUT_1(1, out);
- sdl_serialize_model(type->model, tmp_types, tmp_elements, out);
- } else {
- WSDL_CACHE_PUT_1(0, out);
- }
- if (tmp_elements != NULL) {
- zend_hash_destroy(tmp_elements);
- efree(tmp_elements);
- }
-}
-
-static void sdl_serialize_encoder(encodePtr enc, HashTable *tmp_types, smart_str *out)
-{
- WSDL_CACHE_PUT_INT(enc->details.type, out);
- sdl_serialize_string(enc->details.type_str, out);
- sdl_serialize_string(enc->details.ns, out);
- sdl_serialize_type_ref(enc->details.sdl_type, tmp_types, out);
-}
-
-static void sdl_serialize_parameters(HashTable *ht, HashTable *tmp_encoders, HashTable *tmp_types, smart_str *out)
-{
- int i;
-
- if (ht) {
- i = zend_hash_num_elements(ht);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlParamPtr *tmp;
-
- zend_hash_internal_pointer_reset(ht);
- while (zend_hash_get_current_data(ht, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(ht, out);
- sdl_serialize_string((*tmp)->paramName, out);
- WSDL_CACHE_PUT_INT((*tmp)->order, out);
- sdl_serialize_encoder_ref((*tmp)->encode, tmp_encoders, out);
- sdl_serialize_type_ref((*tmp)->element, tmp_types, out);
- zend_hash_move_forward(ht);
- }
- }
-}
-
-static void sdl_serialize_soap_body(sdlSoapBindingFunctionBodyPtr body, HashTable *tmp_encoders, HashTable *tmp_types, smart_str *out)
-{
- int i, j;
-
- WSDL_CACHE_PUT_1(body->use, out);
- if (body->use == SOAP_ENCODED) {
- WSDL_CACHE_PUT_1(body->encodingStyle, out);
- }
- sdl_serialize_string(body->ns, out);
- if (body->headers) {
- i = zend_hash_num_elements(body->headers);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlSoapBindingFunctionHeaderPtr *tmp;
- zend_hash_internal_pointer_reset(body->headers);
- while (zend_hash_get_current_data(body->headers, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(body->headers, out);
- WSDL_CACHE_PUT_1((*tmp)->use, out);
- if ((*tmp)->use == SOAP_ENCODED) {
- WSDL_CACHE_PUT_1((*tmp)->encodingStyle, out);
- }
- sdl_serialize_string((*tmp)->name, out);
- sdl_serialize_string((*tmp)->ns, out);
- sdl_serialize_encoder_ref((*tmp)->encode, tmp_encoders, out);
- sdl_serialize_type_ref((*tmp)->element, tmp_types, out);
- if ((*tmp)->headerfaults) {
- j = zend_hash_num_elements((*tmp)->headerfaults);
- } else {
- j = 0;
- }
- WSDL_CACHE_PUT_INT(j, out);
- if (j > 0) {
- sdlSoapBindingFunctionHeaderPtr *tmp2;
- zend_hash_internal_pointer_reset((*tmp)->headerfaults);
- while (zend_hash_get_current_data((*tmp)->headerfaults, (void**)&tmp2) == SUCCESS) {
- sdl_serialize_key((*tmp)->headerfaults, out);
- WSDL_CACHE_PUT_1((*tmp2)->use, out);
- if ((*tmp2)->use == SOAP_ENCODED) {
- WSDL_CACHE_PUT_1((*tmp2)->encodingStyle, out);
- }
- sdl_serialize_string((*tmp2)->name, out);
- sdl_serialize_string((*tmp2)->ns, out);
- sdl_serialize_encoder_ref((*tmp2)->encode, tmp_encoders, out);
- sdl_serialize_type_ref((*tmp2)->element, tmp_types, out);
- zend_hash_move_forward((*tmp)->headerfaults);
- }
- }
- zend_hash_move_forward(body->headers);
- }
- }
-}
-
-static void add_sdl_to_cache(const char *fn, const char *uri, time_t t, sdlPtr sdl)
-{
- smart_str buf = {0};
- smart_str *out = &buf;
- int i;
- int type_num = 1;
- int encoder_num = 1;
- int f;
- encodePtr enc;
- HashTable tmp_types;
- HashTable tmp_encoders;
- HashTable tmp_bindings;
- HashTable tmp_functions;
-
-#ifdef ZEND_WIN32
- f = open(fn,O_CREAT|O_WRONLY|O_EXCL|O_BINARY,S_IREAD|S_IWRITE);
-#else
- f = open(fn,O_CREAT|O_WRONLY|O_EXCL|O_BINARY,S_IREAD|S_IWRITE|S_IROTH|S_IWOTH|S_IRGRP|S_IWGRP);
-#endif
- if (f < 0) {return;}
-
- zend_hash_init(&tmp_types, 0, NULL, NULL, 0);
- zend_hash_init(&tmp_encoders, 0, NULL, NULL, 0);
- zend_hash_init(&tmp_bindings, 0, NULL, NULL, 0);
- zend_hash_init(&tmp_functions, 0, NULL, NULL, 0);
-
- WSDL_CACHE_PUT_N("wsdl", 4, out);
- WSDL_CACHE_PUT_1(WSDL_CACHE_VERSION,out);
- WSDL_CACHE_PUT_1(0,out);
- WSDL_CACHE_PUT_N(&t, sizeof(t), out);
-
- sdl_serialize_string(uri, out);
- sdl_serialize_string(sdl->source, out);
- sdl_serialize_string(sdl->target_ns, out);
-
- if (sdl->groups) {
- i = zend_hash_num_elements(sdl->groups);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlTypePtr *tmp;
-
- zend_hash_internal_pointer_reset(sdl->groups);
- while (zend_hash_get_current_data(sdl->groups, (void**)&tmp) == SUCCESS) {
- zend_hash_add(&tmp_types, (char*)tmp, sizeof(*tmp), (void**)&type_num, sizeof(type_num), NULL);
- ++type_num;
- zend_hash_move_forward(sdl->groups);
- }
- }
-
- if (sdl->types) {
- i = zend_hash_num_elements(sdl->types);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlTypePtr *tmp;
-
- zend_hash_internal_pointer_reset(sdl->types);
- while (zend_hash_get_current_data(sdl->types, (void**)&tmp) == SUCCESS) {
- zend_hash_add(&tmp_types, (char*)tmp, sizeof(*tmp), (void**)&type_num, sizeof(type_num), NULL);
- ++type_num;
- zend_hash_move_forward(sdl->types);
- }
- }
-
- if (sdl->elements) {
- i = zend_hash_num_elements(sdl->elements);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlTypePtr *tmp;
-
- zend_hash_internal_pointer_reset(sdl->elements);
- while (zend_hash_get_current_data(sdl->elements, (void**)&tmp) == SUCCESS) {
- zend_hash_add(&tmp_types, (char*)tmp, sizeof(*tmp), (void**)&type_num, sizeof(type_num), NULL);
- ++type_num;
- zend_hash_move_forward(sdl->elements);
- }
- }
-
- if (sdl->encoders) {
- i = zend_hash_num_elements(sdl->encoders);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- encodePtr *tmp;
-
- zend_hash_internal_pointer_reset(sdl->encoders);
- while (zend_hash_get_current_data(sdl->encoders, (void**)&tmp) == SUCCESS) {
- zend_hash_add(&tmp_encoders, (char*)tmp, sizeof(*tmp), (void**)&encoder_num, sizeof(encoder_num), NULL);
- ++encoder_num;
- zend_hash_move_forward(sdl->encoders);
- }
- }
- enc = defaultEncoding;
- while (enc->details.type != END_KNOWN_TYPES) {
- zend_hash_add(&tmp_encoders, (char*)&enc, sizeof(encodePtr), (void**)&encoder_num, sizeof(encoder_num), NULL);
- enc++;
- ++encoder_num;
- }
-
- if (sdl->groups) {
- sdlTypePtr *tmp;
- zend_hash_internal_pointer_reset(sdl->groups);
- while (zend_hash_get_current_data(sdl->groups, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(sdl->groups, out);
- sdl_serialize_type(*tmp, &tmp_encoders, &tmp_types, out);
- zend_hash_move_forward(sdl->groups);
- }
- }
-
- if (sdl->types) {
- sdlTypePtr *tmp;
- zend_hash_internal_pointer_reset(sdl->types);
- while (zend_hash_get_current_data(sdl->types, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(sdl->types, out);
- sdl_serialize_type(*tmp, &tmp_encoders, &tmp_types, out);
- zend_hash_move_forward(sdl->types);
- }
- }
-
- if (sdl->elements) {
- sdlTypePtr *tmp;
- zend_hash_internal_pointer_reset(sdl->elements);
- while (zend_hash_get_current_data(sdl->elements, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(sdl->elements, out);
- sdl_serialize_type(*tmp, &tmp_encoders, &tmp_types, out);
- zend_hash_move_forward(sdl->elements);
- }
- }
-
- if (sdl->encoders) {
- encodePtr *tmp;
- zend_hash_internal_pointer_reset(sdl->encoders);
- while (zend_hash_get_current_data(sdl->encoders, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(sdl->encoders, out);
- sdl_serialize_encoder(*tmp, &tmp_types, out);
- zend_hash_move_forward(sdl->encoders);
- }
- }
-
- /* serialize bindings */
- if (sdl->bindings) {
- i = zend_hash_num_elements(sdl->bindings);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlBindingPtr *tmp;
- int binding_num = 1;
-
- zend_hash_internal_pointer_reset(sdl->bindings);
- while (zend_hash_get_current_data(sdl->bindings, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(sdl->bindings, out);
- sdl_serialize_string((*tmp)->name, out);
- sdl_serialize_string((*tmp)->location, out);
- WSDL_CACHE_PUT_1((*tmp)->bindingType,out);
- if ((*tmp)->bindingType == BINDING_SOAP && (*tmp)->bindingAttributes != NULL) {
- sdlSoapBindingPtr binding = (sdlSoapBindingPtr)(*tmp)->bindingAttributes;
- WSDL_CACHE_PUT_1(binding->style, out);
- WSDL_CACHE_PUT_1(binding->transport, out);
- } else {
- WSDL_CACHE_PUT_1(0,out);
- }
-
- zend_hash_add(&tmp_bindings, (char*)tmp, sizeof(*tmp), (void**)&binding_num, sizeof(binding_num), NULL);
- binding_num++;
- zend_hash_move_forward(sdl->bindings);
- }
- }
-
- /* serialize functions */
- i = zend_hash_num_elements(&sdl->functions);
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlFunctionPtr *tmp;
- int *binding_num;
- int function_num = 1;
-
- zend_hash_internal_pointer_reset(&sdl->functions);
- while (zend_hash_get_current_data(&sdl->functions, (void**)&tmp) == SUCCESS) {
- sdl_serialize_key(&sdl->functions, out);
- sdl_serialize_string((*tmp)->functionName, out);
- sdl_serialize_string((*tmp)->requestName, out);
- sdl_serialize_string((*tmp)->responseName, out);
-
- if ((*tmp)->binding == NULL ||
- zend_hash_find(&tmp_bindings,(char*)&(*tmp)->binding,sizeof((*tmp)->binding), (void**)&binding_num) != SUCCESS) {
- }
- WSDL_CACHE_PUT_INT(*binding_num, out);
- if (binding_num >= 0) {
- if ((*tmp)->binding->bindingType == BINDING_SOAP && (*tmp)->bindingAttributes != NULL) {
- sdlSoapBindingFunctionPtr binding = (sdlSoapBindingFunctionPtr)(*tmp)->bindingAttributes;
- WSDL_CACHE_PUT_1(binding->style, out);
- sdl_serialize_string(binding->soapAction, out);
- sdl_serialize_soap_body(&binding->input, &tmp_encoders, &tmp_types, out);
- sdl_serialize_soap_body(&binding->output, &tmp_encoders, &tmp_types, out);
- } else {
- WSDL_CACHE_PUT_1(0,out);
- }
- }
- sdl_serialize_parameters((*tmp)->requestParameters, &tmp_encoders, &tmp_types, out);
- sdl_serialize_parameters((*tmp)->responseParameters, &tmp_encoders, &tmp_types, out);
-
- if ((*tmp)->faults) {
- sdlFaultPtr *fault;
-
- WSDL_CACHE_PUT_INT(zend_hash_num_elements((*tmp)->faults), out);
-
- zend_hash_internal_pointer_reset((*tmp)->faults);
- while (zend_hash_get_current_data((*tmp)->faults, (void**)&fault) == SUCCESS) {
- sdl_serialize_key((*tmp)->faults, out);
- sdl_serialize_string((*fault)->name, out);
- sdl_serialize_parameters((*fault)->details, &tmp_encoders, &tmp_types, out);
- if ((*tmp)->binding->bindingType == BINDING_SOAP && (*fault)->bindingAttributes != NULL) {
- sdlSoapBindingFunctionFaultPtr binding = (sdlSoapBindingFunctionFaultPtr)(*fault)->bindingAttributes;
- WSDL_CACHE_PUT_1(binding->use, out);
- if (binding->use == SOAP_ENCODED) {
- WSDL_CACHE_PUT_1(binding->encodingStyle, out);
- }
- sdl_serialize_string(binding->ns, out);
- } else {
- WSDL_CACHE_PUT_1(0, out);
- }
- zend_hash_move_forward((*tmp)->faults);
- }
- } else {
- WSDL_CACHE_PUT_INT(0, out);
- }
-
- zend_hash_add(&tmp_functions, (char*)tmp, sizeof(*tmp), (void**)&function_num, sizeof(function_num), NULL);
- function_num++;
- zend_hash_move_forward(&sdl->functions);
- }
- }
-
- /* serialize requests */
- if (sdl->requests) {
- i = zend_hash_num_elements(sdl->requests);
- } else {
- i = 0;
- }
- WSDL_CACHE_PUT_INT(i, out);
- if (i > 0) {
- sdlFunctionPtr *tmp;
- int *function_num;
-
- zend_hash_internal_pointer_reset(sdl->requests);
- while (zend_hash_get_current_data(sdl->requests, (void**)&tmp) == SUCCESS) {
- if (zend_hash_find(&tmp_functions, (char*)tmp, sizeof(*tmp), (void**)&function_num) != SUCCESS) {
- }
- WSDL_CACHE_PUT_INT(*function_num, out);
- sdl_serialize_key(sdl->requests, out);
- zend_hash_move_forward(sdl->requests);
- }
- }
-
- write(f, buf.c, buf.len);
- close(f);
- smart_str_free(&buf);
- zend_hash_destroy(&tmp_functions);
- zend_hash_destroy(&tmp_bindings);
- zend_hash_destroy(&tmp_encoders);
- zend_hash_destroy(&tmp_types);
-}
-
-sdlPtr get_sdl(zval *this_ptr, char *uri TSRMLS_DC)
-{
- sdlPtr sdl = NULL;
- char* old_error_code = SOAP_GLOBAL(error_code);
- int uri_len;
- php_stream_context *context=NULL;
- zval **tmp, **proxy_host, **proxy_port, *orig_context, *new_context;
- smart_str headers = {0};
-
- if (SUCCESS == zend_hash_find(Z_OBJPROP_P(this_ptr),
- "_stream_context", sizeof("_stream_context"), (void**)&tmp)) {
- context = php_stream_context_from_zval(*tmp, 0);
- }
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_host", sizeof("_proxy_host"), (void **) &proxy_host) == SUCCESS &&
- Z_TYPE_PP(proxy_host) == IS_STRING &&
- zend_hash_find(Z_OBJPROP_P(this_ptr), "_proxy_port", sizeof("_proxy_port"), (void **) &proxy_port) == SUCCESS &&
- Z_TYPE_PP(proxy_port) == IS_LONG) {
- zval str_port, *str_proxy;
- smart_str proxy = {0};
- str_port = **proxy_port;
- zval_copy_ctor(&str_port);
- convert_to_string(&str_port);
- smart_str_appends(&proxy,"tcp://");
- smart_str_appends(&proxy,Z_STRVAL_PP(proxy_host));
- smart_str_appends(&proxy,":");
- smart_str_appends(&proxy,Z_STRVAL(str_port));
- zval_dtor(&str_port);
- MAKE_STD_ZVAL(str_proxy);
- ZVAL_STRING(str_proxy, proxy.c, 1);
- smart_str_free(&proxy);
-
- if (!context) {
- context = php_stream_context_alloc();
- }
- php_stream_context_set_option(context, "http", "proxy", str_proxy);
- zval_ptr_dtor(&str_proxy);
-
- proxy_authentication(this_ptr, &headers TSRMLS_CC);
- }
-
- basic_authentication(this_ptr, &headers TSRMLS_CC);
-
- if (headers.len > 0) {
- zval *str_headers;
-
- if (!context) {
- context = php_stream_context_alloc();
- }
-
- smart_str_0(&headers);
- MAKE_STD_ZVAL(str_headers);
- ZVAL_STRING(str_headers, headers.c, 1);
- php_stream_context_set_option(context, "http", "header", str_headers);
- smart_str_free(&headers);
- zval_ptr_dtor(&str_headers);
- }
-
- if (context) {
- MAKE_STD_ZVAL(new_context);
- php_stream_context_to_zval(context, new_context);
- orig_context = php_libxml_switch_context(new_context TSRMLS_CC);
- }
-
- SOAP_GLOBAL(error_code) = "WSDL";
-
- if (SOAP_GLOBAL(cache_enabled) && ((uri_len = strlen(uri)) < MAXPATHLEN)) {
- char fn[MAXPATHLEN];
-
- if (strchr(uri,':') != NULL || IS_ABSOLUTE_PATH(uri, uri_len)) {
- strcpy(fn, uri);
- } else if (VCWD_REALPATH(uri, fn) == NULL) {
- sdl = load_wsdl(this_ptr, uri TSRMLS_CC);
- }
- if (sdl == NULL) {
- char* key;
- time_t t = time(0);
- char md5str[33];
- PHP_MD5_CTX context;
- unsigned char digest[16];
- int len = strlen(SOAP_GLOBAL(cache_dir));
-
- md5str[0] = '\0';
- PHP_MD5Init(&context);
- PHP_MD5Update(&context, fn, strlen(fn));
- PHP_MD5Final(digest, &context);
- make_digest(md5str, digest);
- key = emalloc(len+sizeof("/wsdl-")-1+sizeof(md5str));
- memcpy(key,SOAP_GLOBAL(cache_dir),len);
- memcpy(key+len,"/wsdl-",sizeof("/wsdl-")-1);
- memcpy(key+len+sizeof("/wsdl-")-1,md5str,sizeof(md5str));
-
- if ((sdl = get_sdl_from_cache(key, fn, t-SOAP_GLOBAL(cache_ttl))) == NULL) {
- sdl = load_wsdl(this_ptr, fn TSRMLS_CC);
- if (sdl != NULL) {
- add_sdl_to_cache(key, fn, t, sdl);
- }
- }
- efree(key);
- }
- } else {
- sdl = load_wsdl(this_ptr, uri TSRMLS_CC);
- }
-
- SOAP_GLOBAL(error_code) = old_error_code;
-
- if (context) {
- php_libxml_switch_context(orig_context TSRMLS_CC);
- zval_ptr_dtor(&new_context);
- }
-
- return sdl;
-}
-
-/* Deletes */
-void delete_sdl(void *handle)
-{
- sdlPtr tmp = (sdlPtr)handle;
-
- zend_hash_destroy(&tmp->functions);
- if (tmp->source) {
- efree(tmp->source);
- }
- if (tmp->target_ns) {
- efree(tmp->target_ns);
- }
- if (tmp->elements) {
- zend_hash_destroy(tmp->elements);
- efree(tmp->elements);
- }
- if (tmp->encoders) {
- zend_hash_destroy(tmp->encoders);
- efree(tmp->encoders);
- }
- if (tmp->types) {
- zend_hash_destroy(tmp->types);
- efree(tmp->types);
- }
- if (tmp->groups) {
- zend_hash_destroy(tmp->groups);
- efree(tmp->groups);
- }
- if (tmp->bindings) {
- zend_hash_destroy(tmp->bindings);
- efree(tmp->bindings);
- }
- if (tmp->requests) {
- zend_hash_destroy(tmp->requests);
- efree(tmp->requests);
- }
- efree(tmp);
-}
-
-static void delete_binding(void *data)
-{
- sdlBindingPtr binding = *((sdlBindingPtr*)data);
-
- if (binding->location) {
- efree(binding->location);
- }
- if (binding->name) {
- efree(binding->name);
- }
-
- if (binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingPtr soapBind = binding->bindingAttributes;
- if (soapBind) {
- efree(soapBind);
- }
- }
- efree(binding);
-}
-
-static void delete_sdl_soap_binding_function_body(sdlSoapBindingFunctionBody body)
-{
- if (body.ns) {
- efree(body.ns);
- }
- if (body.headers) {
- zend_hash_destroy(body.headers);
- efree(body.headers);
- }
-}
-
-static void delete_function(void *data)
-{
- sdlFunctionPtr function = *((sdlFunctionPtr*)data);
-
- if (function->functionName) {
- efree(function->functionName);
- }
- if (function->requestName) {
- efree(function->requestName);
- }
- if (function->responseName) {
- efree(function->responseName);
- }
- if (function->requestParameters) {
- zend_hash_destroy(function->requestParameters);
- efree(function->requestParameters);
- }
- if (function->responseParameters) {
- zend_hash_destroy(function->responseParameters);
- efree(function->responseParameters);
- }
- if (function->faults) {
- zend_hash_destroy(function->faults);
- efree(function->faults);
- }
-
- if (function->bindingAttributes &&
- function->binding && function->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr soapFunction = function->bindingAttributes;
- if (soapFunction->soapAction) {
- efree(soapFunction->soapAction);
- }
- delete_sdl_soap_binding_function_body(soapFunction->input);
- delete_sdl_soap_binding_function_body(soapFunction->output);
- efree(soapFunction);
- }
- efree(function);
-}
-
-static void delete_parameter(void *data)
-{
- sdlParamPtr param = *((sdlParamPtr*)data);
- if (param->paramName) {
- efree(param->paramName);
- }
- efree(param);
-}
-
-static void delete_header(void *data)
-{
- sdlSoapBindingFunctionHeaderPtr hdr = *((sdlSoapBindingFunctionHeaderPtr*)data);
- if (hdr->name) {
- efree(hdr->name);
- }
- if (hdr->ns) {
- efree(hdr->ns);
- }
- if (hdr->headerfaults) {
- zend_hash_destroy(hdr->headerfaults);
- efree(hdr->headerfaults);
- }
- efree(hdr);
-}
-
-static void delete_fault(void *data)
-{
- sdlFaultPtr fault = *((sdlFaultPtr*)data);
- if (fault->name) {
- efree(fault->name);
- }
- if (fault->details) {
- zend_hash_destroy(fault->details);
- efree(fault->details);
- }
- if (fault->bindingAttributes) {
- sdlSoapBindingFunctionFaultPtr binding = (sdlSoapBindingFunctionFaultPtr)fault->bindingAttributes;
-
- if (binding->ns) {
- efree(binding->ns);
- }
- efree(fault->bindingAttributes);
- }
- efree(fault);
-}
-
-static void delete_document(void *doc_ptr)
-{
- xmlDocPtr doc = *((xmlDocPtr*)doc_ptr);
- xmlFreeDoc(doc);
-}
diff --git a/ext/soap/php_sdl.h b/ext/soap/php_sdl.h
deleted file mode 100644
index 53329829f1..0000000000
--- a/ext/soap/php_sdl.h
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifndef PHP_SDL_H
-#define PHP_SDL_H
-
-#define XSD_WHITESPACE_COLLAPSE 1
-#define XSD_WHITESPACE_PRESERVE 1
-#define XSD_WHITESPACE_REPLACE 1
-
-typedef enum _sdlBindingType {
- BINDING_SOAP = 1,
- BINDING_HTTP = 2
-} sdlBindingType;
-
-typedef enum _sdlEncodingStyle {
- SOAP_RPC = 1,
- SOAP_DOCUMENT = 2
-} sdlEncodingStyle;
-
-typedef enum _sdlRpcEncodingStyle {
- SOAP_ENCODING_DEFAULT = 0,
- SOAP_ENCODING_1_1 = 1,
- SOAP_ENCODING_1_2 = 2
-} sdlRpcEncodingStyle;
-
-typedef enum _sdlEncodingUse {
- SOAP_ENCODED = 1,
- SOAP_LITERAL = 2
-} sdlEncodingUse;
-
-typedef enum _sdlTransport {
- SOAP_TRANSPORT_HTTP = 1
-} sdlTransport;
-
-struct _sdl {
- HashTable functions; /* array of sdlFunction */
- HashTable *types; /* array of sdlTypesPtr */
- HashTable *elements; /* array of sdlTypesPtr */
- HashTable *encoders; /* array of encodePtr */
- HashTable *bindings; /* array of sdlBindings (key'd by name) */
- HashTable *requests; /* array of sdlFunction (references) */
- HashTable *groups; /* array of sdlTypesPtr */
- char *target_ns;
- char *source;
-};
-
-typedef struct sdlCtx {
- sdlPtr sdl;
-
- HashTable docs; /* array of xmlDocPtr */
-
- HashTable messages; /* array of xmlNodePtr */
- HashTable bindings; /* array of xmlNodePtr */
- HashTable portTypes; /* array of xmlNodePtr */
- HashTable services; /* array of xmlNodePtr */
-
- HashTable *attributes; /* array of sdlAttributePtr */
- HashTable *attributeGroups; /* array of sdlTypesPtr */
-} sdlCtx;
-
-struct _sdlBinding {
- char *name;
- char *location;
- sdlBindingType bindingType;
- void *bindingAttributes; /* sdlSoapBindingPtr */
-};
-
-/* Soap Binding Specfic stuff */
-struct _sdlSoapBinding {
- sdlEncodingStyle style;
- sdlTransport transport; /* not implemented yet */
-};
-
-typedef struct _sdlSoapBindingFunctionHeader {
- char *name;
- char *ns;
- sdlEncodingUse use;
- sdlTypePtr element;
- encodePtr encode;
- sdlRpcEncodingStyle encodingStyle; /* not implemented yet */
- HashTable *headerfaults; /* array of sdlSoapBindingFunctionHeaderPtr */
-} sdlSoapBindingFunctionHeader, *sdlSoapBindingFunctionHeaderPtr;
-
-typedef struct _sdlSoapBindingFunctionFault {
- char *ns;
- sdlEncodingUse use;
- sdlRpcEncodingStyle encodingStyle; /* not implemented yet */
-} sdlSoapBindingFunctionFault, *sdlSoapBindingFunctionFaultPtr;
-
-struct _sdlSoapBindingFunctionBody {
- char *ns;
- sdlEncodingUse use;
- sdlRpcEncodingStyle encodingStyle; /* not implemented yet */
- HashTable *headers; /* array of sdlSoapBindingFunctionHeaderPtr */
-};
-
-struct _sdlSoapBindingFunction {
- char *soapAction;
- sdlEncodingStyle style;
-
- sdlSoapBindingFunctionBody input;
- sdlSoapBindingFunctionBody output;
-};
-
-struct _sdlRestrictionInt {
- int value;
- char fixed;
-};
-
-struct _sdlRestrictionChar {
- char *value;
- char fixed;
-};
-
-struct _sdlRestrictions {
- HashTable *enumeration; /* array of sdlRestrictionCharPtr */
- sdlRestrictionIntPtr minExclusive;
- sdlRestrictionIntPtr minInclusive;
- sdlRestrictionIntPtr maxExclusive;
- sdlRestrictionIntPtr maxInclusive;
- sdlRestrictionIntPtr totalDigits;
- sdlRestrictionIntPtr fractionDigits;
- sdlRestrictionIntPtr length;
- sdlRestrictionIntPtr minLength;
- sdlRestrictionIntPtr maxLength;
- sdlRestrictionCharPtr whiteSpace;
- sdlRestrictionCharPtr pattern;
-};
-
-typedef enum _sdlContentKind {
- XSD_CONTENT_ELEMENT,
- XSD_CONTENT_SEQUENCE,
- XSD_CONTENT_ALL,
- XSD_CONTENT_CHOICE,
- XSD_CONTENT_GROUP_REF,
- XSD_CONTENT_GROUP,
- XSD_CONTENT_ANY
-} sdlContentKind;
-
-
-typedef struct _sdlContentModel sdlContentModel, *sdlContentModelPtr;
-
-struct _sdlContentModel {
- sdlContentKind kind;
- int min_occurs;
- int max_occurs;
- union {
- sdlTypePtr element; /* pointer to element */
- sdlTypePtr group; /* pointer to group */
- HashTable *content; /* array of sdlContentModel for sequnce,all,choice*/
- char *group_ref; /* reference to group */
- } u;
-};
-
-typedef enum _sdlTypeKind {
- XSD_TYPEKIND_SIMPLE,
- XSD_TYPEKIND_LIST,
- XSD_TYPEKIND_UNION,
- XSD_TYPEKIND_COMPLEX,
- XSD_TYPEKIND_RESTRICTION,
- XSD_TYPEKIND_EXTENSION
-} sdlTypeKind;
-
-typedef enum _sdlUse {
- XSD_USE_DEFAULT,
- XSD_USE_OPTIONAL,
- XSD_USE_PROHIBITED,
- XSD_USE_REQUIRED
-} sdlUse;
-
-typedef enum _sdlForm {
- XSD_FORM_DEFAULT,
- XSD_FORM_QUALIFIED,
- XSD_FORM_UNQUALIFIED
-} sdlForm;
-
-struct _sdlType {
- sdlTypeKind kind;
- char *name;
- char *namens;
- char nillable;
- HashTable *elements; /* array of sdlTypePtr */
- HashTable *attributes; /* array of sdlAttributePtr */
- sdlRestrictionsPtr restrictions;
- encodePtr encode;
- sdlContentModelPtr model;
- char *def;
- char *fixed;
- char *ref;
- sdlForm form;
-};
-
-struct _sdlParam {
- int order;
- sdlTypePtr element;
- encodePtr encode;
- char *paramName;
-};
-
-typedef struct _sdlFault {
- char *name;
- HashTable *details; /* array of sdlParamPtr */
- void *bindingAttributes; /* sdlSoapBindingFunctionFaultPtr */
-} sdlFault, *sdlFaultPtr;
-
-struct _sdlFunction {
- char *functionName;
- char *requestName;
- char *responseName;
- HashTable *requestParameters; /* array of sdlParamPtr */
- HashTable *responseParameters; /* array of sdlParamPtr (this should only be one) */
- struct _sdlBinding *binding;
- void *bindingAttributes; /* sdlSoapBindingFunctionPtr */
- HashTable *faults; /* array of sdlFaultPtr */
-};
-
-typedef struct _sdlExtraAttribute {
- char *ns;
- char *val;
-} sdlExtraAttribute, *sdlExtraAttributePtr;
-
-struct _sdlAttribute {
- char *name;
- char *namens;
- char *ref;
- char *def;
- char *fixed;
- sdlForm form;
- sdlUse use;
- HashTable *extraAttributes; /* array of sdlExtraAttribute */
- encodePtr encode;
-};
-
-sdlPtr get_sdl(zval *this_ptr, char *uri TSRMLS_DC);
-
-encodePtr get_encoder_from_prefix(sdlPtr sdl, xmlNodePtr data, const char *type);
-encodePtr get_encoder(sdlPtr sdl, const char *ns, const char *type);
-encodePtr get_encoder_ex(sdlPtr sdl, const char *nscat, int len);
-
-sdlBindingPtr get_binding_from_type(sdlPtr sdl, int type);
-sdlBindingPtr get_binding_from_name(sdlPtr sdl, char *name, char *ns);
-
-void delete_sdl(void *handle);
-
-#endif
diff --git a/ext/soap/php_soap.dsp b/ext/soap/php_soap.dsp
deleted file mode 100644
index 4157c63320..0000000000
--- a/ext/soap/php_soap.dsp
+++ /dev/null
@@ -1,156 +0,0 @@
-# Microsoft Developer Studio Project File - Name="php_soap" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=php_soap - Win32 Debug_TS
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "php_soap.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "php_soap.mak" CFG="php_soap - Win32 Debug_TS"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "php_soap - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "php_soap - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "php_soap - Win32 Release_TS"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release_TS"
-# PROP BASE Intermediate_Dir "Release_TS"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release_TS"
-# PROP Intermediate_Dir "Release_TS"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP_SOAP_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /I "..\..\..\libxml2-2.4.12\include" /I "..\..\bind" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP_SOAP_EXPORTSWS" /D "PHP_SOAP_EXPORTS" /D "ZEND_WIN32" /D "PHP_WIN32" /D "ZTS" /D ZEND_DEBUG=0 /D "COMPILE_DL_SOAP" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php5ts.lib libxml2.lib wsock32.lib resolv.lib /nologo /dll /machine:I386 /out:"..\..\Release_TS\php_soap.dll" /libpath:"..\..\\" /libpath:"..\..\..\libxml2-2.4.12\lib" /libpath:"..\..\Release_TS"
-
-!ELSEIF "$(CFG)" == "php_soap - Win32 Debug_TS"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug_TS"
-# PROP BASE Intermediate_Dir "Debug_TS"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug_TS"
-# PROP Intermediate_Dir "Debug_TS"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PHP_SOAP_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\TSRM" /I "..\..\main" /I "..\..\..\libxml2-2.4.12\include" /I "..\..\bind" /D "WS" /D "_MBCS" /D "_USRDLL" /D "PHP_SOAP_EXPORTS" /D "WIN32" /D "ZEND_WIN32" /D "PHP_WIN32" /D "ZTS" /D ZEND_DEBUG=1 /D "COMPILE_DL_SOAP" /FR"Debug_TS/" /Fp"Debug_TS/soap.pch" /YX /Fo"Debug_TS/" /Fd"Debug_TS/" /FD /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php5ts_debug.lib libxml2.lib wsock32.lib resolv.lib /nologo /dll /debug /machine:I386 /out:"..\..\Debug_TS\php_soap.dll" /pdbtype:sept /libpath:"..\..\\" /libpath:"..\..\..\libxml2-2.4.12\lib" /libpath:"..\..\Debug_TS"
-# SUBTRACT LINK32 /pdb:none /incremental:no
-
-!ENDIF
-
-# Begin Target
-
-# Name "php_soap - Win32 Release_TS"
-# Name "php_soap - Win32 Debug_TS"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\php_encoding.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_http.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_packet_soap.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_schema.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_sdl.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_xml.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\soap.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\php_encoding.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_http.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_packet_soap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_schema.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_sdl.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_soap.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\php_xml.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/ext/soap/php_soap.h b/ext/soap/php_soap.h
deleted file mode 100644
index 552ef172ad..0000000000
--- a/ext/soap/php_soap.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifndef PHP_SOAP_H
-#define PHP_SOAP_H
-
-#include "php.h"
-#include "php_globals.h"
-#include "ext/standard/info.h"
-#include "ext/standard/php_standard.h"
-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
-#include "ext/session/php_session.h"
-#endif
-#include "ext/standard/php_smart_str.h"
-#include "php_ini.h"
-#include "SAPI.h"
-#include <libxml/parser.h>
-#include <libxml/xpath.h>
-
-#ifdef HAVE_PHP_DOMXML
-# include "ext/domxml/php_domxml.h"
-#endif
-
-#ifndef PHP_HAVE_STREAMS
-# error You lose - must be compiled against PHP 4.3.0 or later
-#endif
-
-#ifndef PHP_WIN32
-# define TRUE 1
-# define FALSE 0
-# define stricmp strcasecmp
-#endif
-
-extern int le_url;
-
-typedef struct _encodeType encodeType, *encodeTypePtr;
-typedef struct _encode encode, *encodePtr;
-
-typedef struct _sdl sdl, *sdlPtr;
-typedef struct _sdlRestrictionInt sdlRestrictionInt, *sdlRestrictionIntPtr;
-typedef struct _sdlRestrictionChar sdlRestrictionChar, *sdlRestrictionCharPtr;
-typedef struct _sdlRestrictions sdlRestrictions, *sdlRestrictionsPtr;
-typedef struct _sdlType sdlType, *sdlTypePtr;
-typedef struct _sdlParam sdlParam, *sdlParamPtr;
-typedef struct _sdlFunction sdlFunction, *sdlFunctionPtr;
-typedef struct _sdlAttribute sdlAttribute, *sdlAttributePtr;
-typedef struct _sdlBinding sdlBinding, *sdlBindingPtr;
-typedef struct _sdlSoapBinding sdlSoapBinding, *sdlSoapBindingPtr;
-typedef struct _sdlSoapBindingFunction sdlSoapBindingFunction, *sdlSoapBindingFunctionPtr;
-typedef struct _sdlSoapBindingFunctionBody sdlSoapBindingFunctionBody, *sdlSoapBindingFunctionBodyPtr;
-
-typedef struct _soapMapping soapMapping, *soapMappingPtr;
-typedef struct _soapService soapService, *soapServicePtr;
-
-#include "php_xml.h"
-#include "php_encoding.h"
-#include "php_sdl.h"
-#include "php_schema.h"
-#include "php_http.h"
-#include "php_packet_soap.h"
-
-struct _soapMapping {
- char *ns;
- char *ctype;
- int type;
-
- struct _map_functions {
- zval *to_xml_before;
- zval *to_xml;
- zval *to_xml_after;
- zval *to_zval_before;
- zval *to_zval;
- zval *to_zval_after;
- } map_functions;
-
- struct _map_class {
- int type;
- zend_class_entry *ce;
- } map_class;
-};
-
-struct _soapService {
- sdlPtr sdl;
-
- struct _soap_functions {
- HashTable *ft;
- int functions_all;
- } soap_functions;
-
- struct _soap_class {
- zend_class_entry *ce;
- zval **argv;
- int argc;
- int persistance;
- } soap_class;
-
- HashTable *mapping;
- int version;
- int type;
- char *actor;
- char *uri;
- xmlCharEncodingHandlerPtr encoding;
- HashTable *class_map;
-};
-
-#define SOAP_CLASS 1
-#define SOAP_FUNCTIONS 2
-#define SOAP_FUNCTIONS_ALL 999
-
-#define SOAP_MAP_FUNCTION 1
-#define SOAP_MAP_CLASS 2
-
-#define SOAP_PERSISTENCE_SESSION 1
-#define SOAP_PERSISTENCE_REQUEST 2
-
-#define SOAP_1_1 1
-#define SOAP_1_2 2
-
-#define SOAP_ACTOR_NEXT 1
-#define SOAP_ACTOR_NONE 2
-#define SOAP_ACTOR_UNLIMATERECEIVER 3
-
-#define SOAP_1_1_ACTOR_NEXT "http://schemas.xmlsoap.org/soap/actor/next"
-
-#define SOAP_1_2_ACTOR_NEXT "http://www.w3.org/2003/05/soap-envelope/role/next"
-#define SOAP_1_2_ACTOR_NONE "http://www.w3.org/2003/05/soap-envelope/role/none"
-#define SOAP_1_2_ACTOR_UNLIMATERECEIVER "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
-
-#define SOAP_COMPRESSION_ACCEPT 0x20
-#define SOAP_COMPRESSION_GZIP 0x00
-#define SOAP_COMPRESSION_DEFLATE 0x10
-
-#define SOAP_AUTHENTICATION_BASIC 0
-#define SOAP_AUTHENTICATION_DIGEST 1
-
-ZEND_BEGIN_MODULE_GLOBALS(soap)
- HashTable defEncNs; /* mapping of default namespaces to prefixes */
- HashTable defEnc;
- HashTable defEncIndex;
- HashTable *overrides;
- int cur_uniq_ns;
- int soap_version;
- sdlPtr sdl;
- zend_bool use_soap_error_handler;
- char* error_code;
- zval* error_object;
- zend_bool cache_enabled;
- char* cache_dir;
- long cache_ttl;
- xmlCharEncodingHandlerPtr encoding;
- HashTable *class_map;
-ZEND_END_MODULE_GLOBALS(soap)
-
-#ifdef PHP_WIN32
-#define PHP_SOAP_API __declspec(dllexport)
-#else
-#define PHP_SOAP_API
-#endif
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
-extern zend_module_entry soap_module_entry;
-#define soap_module_ptr &soap_module_entry
-#define phpext_soap_ptr soap_module_ptr
-
-ZEND_EXTERN_MODULE_GLOBALS(soap)
-
-#ifdef ZTS
-# define SOAP_GLOBAL(v) TSRMG(soap_globals_id, zend_soap_globals *, v)
-#else
-# define SOAP_GLOBAL(v) (soap_globals.v)
-#endif
-
-extern zend_class_entry* soap_var_class_entry;
-
-zval* add_soap_fault(zval *obj, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail TSRMLS_DC);
-
-#define soap_error0(severity, format) \
- php_error(severity, "SOAP-ERROR: " format)
-
-#define soap_error1(severity, format, param1) \
- php_error(severity, "SOAP-ERROR: " format, param1)
-
-#define soap_error2(severity, format, param1, param2) \
- php_error(severity, "SOAP-ERROR: " format, param1, param2)
-
-#define soap_error3(severity, format, param1, param2, param3) \
- php_error(severity, "SOAP-ERROR: " format, param1, param2, param3)
-
-#endif
diff --git a/ext/soap/php_xml.c b/ext/soap/php_xml.c
deleted file mode 100644
index 73a3963190..0000000000
--- a/ext/soap/php_xml.c
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#include "php_soap.h"
-#include "libxml/parser.h"
-#include "libxml/parserInternals.h"
-
-/* Channel libxml file io layer through the PHP streams subsystem.
- * This allows use of ftps:// and https:// urls */
-
-static int is_blank(const char* str)
-{
- while (*str != '\0') {
- if (*str != ' ' && *str != 0x9 && *str != 0xa && *str != 0xd) {
- return 0;
- }
- str++;
- }
- return 1;
-}
-
-/* removes all empty text, comments and other insignoficant nodes */
-static void cleanup_xml_node(xmlNodePtr node)
-{
- xmlNodePtr trav;
- xmlNodePtr del = NULL;
-
- trav = node->children;
- while (trav != NULL) {
- if (del != NULL) {
- xmlUnlinkNode(del);
- xmlFreeNode(del);
- del = NULL;
- }
- if (trav->type == XML_TEXT_NODE) {
- if (is_blank(trav->content)) {
- del = trav;
- }
- } else if ((trav->type != XML_ELEMENT_NODE) &&
- (trav->type != XML_CDATA_SECTION_NODE)) {
- del = trav;
- } else if (trav->children != NULL) {
- cleanup_xml_node(trav);
- }
- trav = trav->next;
- }
- if (del != NULL) {
- xmlUnlinkNode(del);
- xmlFreeNode(del);
- }
-}
-
-static void soap_ignorableWhitespace(void *ctx, const xmlChar *ch, int len)
-{
-}
-
-static void soap_Comment(void *ctx, const xmlChar *value)
-{
-}
-
-xmlDocPtr soap_xmlParseFile(const char *filename TSRMLS_DC)
-{
- xmlParserCtxtPtr ctxt = NULL;
- xmlDocPtr ret;
- zend_bool old_allow_url_fopen;
-
-/*
- xmlInitParser();
-*/
-
- old_allow_url_fopen = PG(allow_url_fopen);
- PG(allow_url_fopen) = 1;
- ctxt = xmlCreateFileParserCtxt(filename);
- PG(allow_url_fopen) = old_allow_url_fopen;
- if (ctxt) {
- ctxt->keepBlanks = 0;
- ctxt->sax->ignorableWhitespace = soap_ignorableWhitespace;
- ctxt->sax->comment = soap_Comment;
- ctxt->sax->warning = NULL;
- ctxt->sax->error = NULL;
- /*ctxt->sax->fatalError = NULL;*/
- xmlParseDocument(ctxt);
- if (ctxt->wellFormed) {
- ret = ctxt->myDoc;
- if (ret->URL == NULL && ctxt->directory != NULL) {
- ret->URL = xmlStrdup(ctxt->directory);
- }
- } else {
- ret = NULL;
- xmlFreeDoc(ctxt->myDoc);
- ctxt->myDoc = NULL;
- }
- xmlFreeParserCtxt(ctxt);
- } else {
- ret = NULL;
- }
-
-/*
- xmlCleanupParser();
-*/
-
- if (ret) {
- cleanup_xml_node((xmlNodePtr)ret);
- }
- return ret;
-}
-
-xmlDocPtr soap_xmlParseMemory(const void *buf, size_t buf_size)
-{
- xmlParserCtxtPtr ctxt = NULL;
- xmlDocPtr ret;
-
-/*
- xmlInitParser();
-*/
- ctxt = xmlCreateMemoryParserCtxt(buf, buf_size);
- if (ctxt) {
- ctxt->sax->ignorableWhitespace = soap_ignorableWhitespace;
- ctxt->sax->comment = soap_Comment;
- ctxt->sax->warning = NULL;
- ctxt->sax->error = NULL;
- /*ctxt->sax->fatalError = NULL;*/
- xmlParseDocument(ctxt);
- if (ctxt->wellFormed) {
- ret = ctxt->myDoc;
- if (ret->URL == NULL && ctxt->directory != NULL) {
- ret->URL = xmlStrdup(ctxt->directory);
- }
- } else {
- ret = NULL;
- xmlFreeDoc(ctxt->myDoc);
- ctxt->myDoc = NULL;
- }
- xmlFreeParserCtxt(ctxt);
- } else {
- ret = NULL;
- }
-
-/*
- xmlCleanupParser();
-*/
-
-/*
- if (ret) {
- cleanup_xml_node((xmlNodePtr)ret);
- }
-*/
- return ret;
-}
-
-#ifndef ZEND_ENGINE_2
-int php_stream_xmlIO_match_wrapper(const char *filename)
-{
- TSRMLS_FETCH();
- return php_stream_locate_url_wrapper(filename, NULL, STREAM_LOCATE_WRAPPERS_ONLY TSRMLS_CC) ? 1 : 0;
-}
-
-void *php_stream_xmlIO_open_wrapper(const char *filename)
-{
- TSRMLS_FETCH();
- return php_stream_open_wrapper((char*)filename, "rb", ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL);
-}
-
-int php_stream_xmlIO_read(void *context, char *buffer, int len)
-{
- TSRMLS_FETCH();
- return php_stream_read((php_stream*)context, buffer, len);
-}
-
-int php_stream_xmlIO_close(void *context)
-{
- TSRMLS_FETCH();
- return php_stream_close((php_stream*)context);
-}
-#endif
-
-xmlNsPtr attr_find_ns(xmlAttrPtr node)
-{
- if (node->ns) {
- return node->ns;
- } else if (node->parent->ns) {
- return node->parent->ns;
- } else {
- return xmlSearchNs(node->doc, node->parent, NULL);
- }
-}
-
-xmlNsPtr node_find_ns(xmlNodePtr node)
-{
- if (node->ns) {
- return node->ns;
- } else {
- return xmlSearchNs(node->doc, node, NULL);
- }
-}
-
-int attr_is_equal_ex(xmlAttrPtr node, char *name, char *ns)
-{
- if (name == NULL || strcmp(node->name, name) == 0) {
- if (ns) {
- xmlNsPtr nsPtr = attr_find_ns(node);
- if (nsPtr) {
- return (strcmp(nsPtr->href, ns) == 0);
- } else {
- return FALSE;
- }
- }
- return TRUE;
- }
- return FALSE;
-}
-
-int node_is_equal_ex(xmlNodePtr node, char *name, char *ns)
-{
- if (name == NULL || strcmp(node->name, name) == 0) {
- if (ns) {
- xmlNsPtr nsPtr = node_find_ns(node);
- if (nsPtr) {
- return (strcmp(nsPtr->href, ns) == 0);
- } else {
- return FALSE;
- }
- }
- return TRUE;
- }
- return FALSE;
-}
-
-
-xmlAttrPtr get_attribute_ex(xmlAttrPtr node, char *name, char *ns)
-{
- while (node!=NULL) {
- if (attr_is_equal_ex(node, name, ns)) {
- return node;
- }
- node = node->next;
- }
- return NULL;
-}
-
-xmlNodePtr get_node_ex(xmlNodePtr node, char *name, char *ns)
-{
- while (node!=NULL) {
- if (node_is_equal_ex(node, name, ns)) {
- return node;
- }
- node = node->next;
- }
- return NULL;
-}
-
-xmlNodePtr get_node_recurisve_ex(xmlNodePtr node, char *name, char *ns)
-{
- while (node != NULL) {
- if (node_is_equal_ex(node, name, ns)) {
- return node;
- } else if (node->children != NULL) {
- xmlNodePtr tmp = get_node_recurisve_ex(node->children, name, ns);
- if (tmp) {
- return tmp;
- }
- }
- node = node->next;
- }
- return NULL;
-}
-
-xmlNodePtr get_node_with_attribute_ex(xmlNodePtr node, char *name, char *name_ns, char *attribute, char *value, char *attr_ns)
-{
- xmlAttrPtr attr;
-
- while (node != NULL) {
- if (name != NULL) {
- node = get_node_ex(node, name, name_ns);
- if (node==NULL) {
- return NULL;
- }
- }
-
- attr = get_attribute_ex(node->properties, attribute, attr_ns);
- if (attr != NULL && strcmp(attr->children->content, value) == 0) {
- return node;
- }
- node = node->next;
- }
- return NULL;
-}
-
-xmlNodePtr get_node_with_attribute_recursive_ex(xmlNodePtr node, char *name, char *name_ns, char *attribute, char *value, char *attr_ns)
-{
- while (node != NULL) {
- if (node_is_equal_ex(node, name, name_ns)) {
- xmlAttrPtr attr = get_attribute_ex(node->properties, attribute, attr_ns);
- if (attr != NULL && strcmp(attr->children->content, value) == 0) {
- return node;
- }
- }
- if (node->children != NULL) {
- xmlNodePtr tmp = get_node_with_attribute_recursive_ex(node->children, name, name_ns, attribute, value, attr_ns);
- if (tmp) {
- return tmp;
- }
- }
- node = node->next;
- }
- return NULL;
-}
-
-int parse_namespace(const char *inval, char **value, char **namespace)
-{
- char *found = strrchr(inval, ':');
-
- if (found != NULL && found != inval) {
- (*namespace) = estrndup(inval, found - inval);
- (*value) = estrdup(++found);
- } else {
- (*value) = estrdup(inval);
- (*namespace) = NULL;
- }
-
- return FALSE;
-}
diff --git a/ext/soap/php_xml.h b/ext/soap/php_xml.h
deleted file mode 100644
index 7c4a282084..0000000000
--- a/ext/soap/php_xml.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifndef PHP_SOAP_XML_H
-#define PHP_SOAP_XML_H
-
-#define get_attribute(node, name) get_attribute_ex(node, name, NULL)
-#define get_node(node, name) get_node_ex(node, name, NULL)
-#define get_node_recursive(node, name) get_node_recursive_ex(node, name, NULL)
-#define get_node_with_attribute(node, name, attr, val) get_node_with_attribute_ex(node, name, NULL, attr, val, NULL)
-#define get_node_with_attribute_recursive(node, name, attr, val) get_node_with_attribute_recursive_ex(node, name, NULL, attr, val, NULL)
-#define node_is_equal(node, name) node_is_equal_ex(node, name, NULL)
-#define attr_is_equal(node, name) attr_is_equal_ex(node, name, NULL)
-
-xmlDocPtr soap_xmlParseFile(const char *filename TSRMLS_DC);
-xmlDocPtr soap_xmlParseMemory(const void *buf, size_t size);
-
-xmlNsPtr attr_find_ns(xmlAttrPtr node);
-xmlNsPtr node_find_ns(xmlNodePtr node);
-int attr_is_equal_ex(xmlAttrPtr node, char *name, char *ns);
-int node_is_equal_ex(xmlNodePtr node, char *name, char *ns);
-xmlAttrPtr get_attribute_ex(xmlAttrPtr node,char *name, char *ns);
-xmlNodePtr get_node_ex(xmlNodePtr node,char *name, char *ns);
-xmlNodePtr get_node_recursive_ex(xmlNodePtr node,char *name, char *ns);
-xmlNodePtr get_node_with_attribute_ex(xmlNodePtr node, char *name, char *name_ns, char *attribute, char *value, char *attr_ns);
-xmlNodePtr get_node_with_attribute_recursive_ex(xmlNodePtr node, char *name, char *name_ns, char *attribute, char *value, char *attr_ns);
-int parse_namespace(const char *inval,char **value,char **namespace);
-
-#ifndef ZEND_ENGINE_2
-int php_stream_xmlIO_match_wrapper(const char *filename);
-void *php_stream_xmlIO_open_wrapper(const char *filename);
-int php_stream_xmlIO_read(void *context, char *buffer, int len);
-int php_stream_xmlIO_close(void *context);
-#endif
-
-#define FOREACHATTRNODE(n,c,i) FOREACHATTRNODEEX(n,c,NULL,i)
-#define FOREACHATTRNODEEX(n,c,ns,i) \
- do { \
- if (n == NULL) { \
- break; \
- } \
- if (c) { \
- i = get_attribute_ex(n,c,ns); \
- } else { \
- i = n; \
- } \
- if (i != NULL) { \
- n = i;
-
-#define FOREACHNODE(n,c,i) FOREACHNODEEX(n,c,NULL,i)
-#define FOREACHNODEEX(n,c,ns,i) \
- do { \
- if (n == NULL) { \
- break; \
- } \
- if (c) { \
- i = get_node_ex(n,c,NULL); \
- } else { \
- i = n; \
- } \
- if(i != NULL) { \
- n = i;
-
-#define ENDFOREACH(n) \
- } \
- } while ((n = n->next));
-
-#endif
diff --git a/ext/soap/readme.html b/ext/soap/readme.html
deleted file mode 100644
index 98efff3c53..0000000000
--- a/ext/soap/readme.html
+++ /dev/null
@@ -1,646 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>PHP SOAP Manual</TITLE>
-<STYLE>
-TR{
- vertical-align: "top";
-}
-TH{
- text-align: "left";
-}
-TD:{
- text-align: "left";
-}
-</STYLE>
-</HEAD>
-<BODY>
-<A name="ref.soap">
-<H1>PHP SOAP</H1>
-<H2>Introduction</H2>
-<TABLE BORDER="1">
-<TR><TD ALIGN="center"><B>Warning</B></TD></TR>
-<TR><TD ALIGN="left">This extension is <I>EXPERIMENTAL</I>. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.
-</TD></TR>
-</TABLE>
-<p>
-SOAP extension can be used to write SOAP Servers and Clients. It supports
-subsets of <a href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508" target="_top">SOAP 1.1</a>,
-<a href="http://www.w3.org/TR/" target="_top">SOAP 1.2</a> and
-<a href="http://www.w3.org/TR/wsdl" target="_top">WSDL 1.1</a> specifications.
-</p>
-<HR>
-<H2>Requirements</H2>
-This extension makes use of the <A HREF="http://www.xmlsoft.org" TARGET="_top">GNOME XML library</A>. Download and install this library. You will need at least libxml-2.5.4.
-<HR>
-<H2>Installation</H2>
-This extension is only available if PHP was configured with --enable-soap.
-<HR>
-<H2>Runtime Configuration</H2>
-<p>The behaviour of these functions is affected by settings in php.ini.</p>
-<TABLE BORDER="1">
-<TR><TH>Name</TH><TH>Default</TH><TH>Changeable</TH></TR>
-<TR><TD>soap.wsdl_cache_enabled</TD><TD>"1"</TD><TD>PHP_INI_ALL</TD></TR>
-<TR><TD>soap.wsdl_cache_dir</TD><TD>"/tmp"</TD><TD>PHP_INI_ALL</TD></TR>
-<TR><TD>soap.wsdl_cache_ttl</TD><TD>86400</TD><TD>PHP_INI_ALL</TD></TR>
-</TABLE>
-</p>Here is a short explanation of the configuration directives.</p>
-<dl>
-<dt><b>soap.wsdl_cache_enabled</b> (boolean)</dt>
-<dd>enables or disables WSDL caching feature.</dd>
-<dt><b>soap.wsdl_cache_dir</b> (string)</dt>
-<dd>sets the directory name where SOAP extension will put cache files</dd>
-<dt><b>soap.wsdl_cache_ttl</b> (integer)</dt>
-<dd>(time to live) sets the number of second while cached file will be used instead of original one.</dd>
-</dl>
-
-
-<HR>
-<H2>Predefined Constants</H2>
-The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.
-<TABLE BORDER="1">
-<TR><TH>Constant</TH><TH>Value</TH><TH>Description</TH></TR>
-<TR><TH>SOAP_1_1 (integer)</TH><TD>1</TD><TD>SOAP version - SOAP 1.1. Can be used as an option in SoapClient and SoapServer constructors.</TD></TR>
-<TR><TH>SOAP_1_2 (integer)</TH><TD>2</TD><TD>SOAP version - SOAP 1.2. Can be used as an option in SoapClient and SoapServer constructors.</TD></TR>
-<TR><TH>SOAP_FUNCTIONS_ALL (integer)</TH><TD>999</TD><TD>Allows to export all defined functions with SoapClient::addFunction</TD></TR>
-<TR><TH>SOAP_PERSISTENCE_SESSION (integer)</TH><TD>1</TD><TD>Allows making class passed to SoapServer::setClass persistent for a PHP session.</TD></TR>
-<TR><TH>SOAP_PERSISTENCE_REQUEST (integer)</TH><TD>2</TD><TD>Allows making class passed to SoapServer::setClass non-persistent for a PHP session.</TD></TR>
-<TR><TH>SOAP_ENCODED (integer)</TH><TD>1</TD><TD>Can be passed as <b>style</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
-<TR><TH>SOAP_LITERAL (integer)</TH><TD>2</TD><TD>Can be passed as <b>style</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
-<TR><TH>SOAP_RPC (integer)</TH><TD>1</TD><TD>Can be passed as <b>use</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
-<TR><TH>SOAP_DOCUMENT (integer)</TH><TD>2</TD><TD>Can be passed as <b>use</b> option to SoapClient constructor in nonWSDL mode.</TD></TR>
-<TR><TH>SOAP_ACTOR_NEXT (integer)</TH><TD>1</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor.</TD></TR>
-<TR><TH>SOAP_ACTOR_NONE (integer)</TH><TD>2</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor</TD></TR>
-<TR><TH>SOAP_ACTOR_UNLIMATERECEIVER (integer)</TH><TD>3</TD><TD>Can be passed as <b>actor</b> to SoapHeader constructor</TD></TR>
-<TR><TH>UNKNOWN_TYPE (integer)</TH><TD>999998</TD><TD>Encoding for unknown type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_STRING (integer)</TH><TD>101</TD><TD>Encoding for standard XMLSchema <b>string</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_BOOLEAN (integer)</TH><TD>102</TD><TD>Encoding for standard XMLSchema <b>boolen</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DECIMAL (integer)</TH><TD>103</TD><TD>Encoding for standard XMLSchema <b>decimal</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_FLOAT (integer)</TH><TD>104</TD><TD>Encoding for standard XMLSchema <b>float</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DOUBLE (integer)</TH><TD>105</TD><TD>Encoding for standard XMLSchema <b>double</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DURATION (integer)</TH><TD>106</TD><TD>Encoding for standard XMLSchema <b>duration</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DATETIME (integer)</TH><TD>107</TD><TD>Encoding for standard XMLSchema <b>dateTime</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_TIME (integer)</TH><TD>108</TD><TD>Encoding for standard XMLSchema <b>time</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_DATE (integer)</TH><TD>109</TD><TD>Encoding for standard XMLSchema <b>data</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GYEARMONTH (integer)</TH><TD>110</TD><TD>Encoding for standard XMLSchema <b>gYearMonth</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GYEAR (integer)</TH><TD>111</TD><TD>Encoding for standard XMLSchema <b>gYear</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GMONTHDAY (integer)</TH><TD>112</TD><TD>Encoding for standard XMLSchema <b>gMonthDay</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GDAY (integer)</TH><TD>113</TD><TD>Encoding for standard XMLSchema <b>gDay</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_GMONTH (integer)</TH><TD>114</TD><TD>Encoding for standard XMLSchema <b>gMonth</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_HEXBINARY (integer)</TH><TD>115</TD><TD>Encoding for standard XMLSchema <b>hexBinary</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_BASE64BINARY (integer)</TH><TD>116</TD><TD>Encoding for standard XMLSchema <b>base64Binary</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ANYURI (integer)</TH><TD>117</TD><TD>Encoding for standard XMLSchema <b>anyURI</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_QNAME (integer)</TH><TD>118</TD><TD>Encoding for standard XMLSchema <b>QName</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NOTATION (integer)</TH><TD>119</TD><TD>Encoding for standard XMLSchema <b>NOTATION</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NORMALIZEDSTRING (integer)</TH><TD>120</TD><TD>Encoding for standard XMLSchema <b>normalizedString</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_TOKEN (integer)</TH><TD>121</TD><TD>Encoding for standard XMLSchema <b>token</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_LANGUAGE (integer)</TH><TD>122</TD><TD>Encoding for standard XMLSchema <b>language</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NMTOKEN (integer)</TH><TD>123</TD><TD>Encoding for standard XMLSchema <b>NMTOKEN</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NAME (integer)</TH><TD>124</TD><TD>Encoding for standard XMLSchema <b>Name</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NCNAME (integer)</TH><TD>125</TD><TD>Encoding for standard XMLSchema <b>NCName</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ID (integer)</TH><TD>126</TD><TD>Encoding for standard XMLSchema <b>ID</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_IDREF (integer)</TH><TD>127</TD><TD>Encoding for standard XMLSchema <b>IDREF</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_IDREFS (integer)</TH><TD>128</TD><TD>Encoding for standard XMLSchema <b>IDREFS</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ENTITY (integer)</TH><TD>129</TD><TD>Encoding for standard XMLSchema <b>ENTITY</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ENTITIES (integer)</TH><TD>130</TD><TD>Encoding for standard XMLSchema <b>ENTITIES</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_INTEGER (integer)</TH><TD>131</TD><TD>Encoding for standard XMLSchema <b>integer</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NONPOSITIVEINTEGER (integer)</TH><TD>132</TD><TD>Encoding for standard XMLSchema <b>nonPositiveInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NEGATIVEINTEGER (integer)</TH><TD>133</TD><TD>Encoding for standard XMLSchema <b>negativeInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_LONG (integer)</TH><TD>134</TD><TD>Encoding for standard XMLSchema <b>long</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_INT (integer)</TH><TD>135</TD><TD>Encoding for standard XMLSchema <b>int</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_SHORT (integer)</TH><TD>136</TD><TD>Encoding for standard XMLSchema <b>short</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_BYTE (integer)</TH><TD>137</TD><TD>Encoding for standard XMLSchema <b>byte</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NONNEGATIVEINTEGER (integer)</TH><TD>138</TD><TD>Encoding for standard XMLSchema <b>nonNegativeInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_UNSIGNEDLONG (integer)</TH><TD>139</TD><TD>Encoding for standard XMLSchema <b>unsignedLong</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_UNSIGNEDINT (integer)</TH><TD>140</TD><TD>Encoding for standard XMLSchema <b>unsignedInt</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_UNSIGNEDSHORT (integer)</TH><TD>141</TD><TD>Encoding for standard XMLSchema <b>unsignedShort</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_UNSIGNEDBYTE (integer)</TH><TD>142</TD><TD>Encoding for standard XMLSchema <b>unsignedByte</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_POSITIVEINTEGER (integer)</TH><TD>143</TD><TD>Encoding for standard XMLSchema <b>positiveInteger</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NMTOKENS (integer)</TH><TD>144</TD><TD>Encoding for standard XMLSchema <b>NMTOKENS</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_ANYTYPE (integer)</TH><TD>145</TD><TD>Encoding for standard XMLSchema <b>anyType</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>SOAP_ENC_ARRAY (integer)</TH><TD>300</TD><TD>Encoding for SOAP <b>Array</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>SOAP_ENC_OBJECT (integer)</TH><TD>301</TD><TD>Encoding for SOAP <b>Struct</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_1999_TIMEINSTANT (integer)</TH><TD>401</TD><TD>Encoding for old XMLSchema <b>timeInstant</b> type. Can be passed to SoapVar constructor.</TD></TR>
-<TR><TH>XSD_NAMESPACE (string)</TH><TD>&nbsp;</TD><TD>The XML Schema namespace.</TD></TR>
-<TR><TH>XSD_1999_NAMESPACE (string)</TH><TD>&nbsp;</TD><TD>The old XML Schema namespace.</TD></TR>
-</TABLE>
-<HR>
-<H2>Classes</H2>
-<h4>List of classes</h4>
-<table border="0">
-<tr><td><a href="#ref.soap.soapclient">SoapClient</a></td></tr>
-<tr><td><a href="#ref.soap.soapserver">SoapServer</a></td></tr>
-<tr><td><a href="#ref.soap.soapparam">SoapParam</a></td></tr>
-<tr><td><a href="#ref.soap.soapvar">SoapVar</a></td></tr>
-<tr><td><a href="#ref.soap.soapheader">SoapHeader</a></td></tr>
-<tr><td><a href="#ref.soap.soapfault">SoapFault</a></td></tr>
-</table>
-<a name="ref.soap.soapclient">
-<h4>SoapClient class</h4>
-A SOAP client, that allows calling remote methods on SOAP WebService over HTTP
-or HTTPS.
-<table border="0">
-<tr><td><a href="#ref.soap.soapclient.soapclient">SoapClient</a> -- SoapClient constructor</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__call">__call</a> -- calls a SOAP function</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getlastrequest">__getLastRequest</a> -- returns last SOAP request</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getlastresponse">__getLastResponse</a> -- returns last SOAP response</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getfunctions">__getFunctions</a> -- returns list of SOAP functions</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__gettypes">__getTypes</a> -- returns list of SOAP types</td></tr>
-</table>
-<a name="ref.soap.soapserver">
-<h4>SoapServer class</h4>
-This class can be used to build SOAP WebServices, which can be accessed from
-remote SOAP clients over HTTP or HTTPS.
-<table border="0">
-<tr><td><a href="#ref.soap.soapserver.soapserver">SoapServer</a> -- SoapServer constructor</td></tr>
-<tr><td><a href="#ref.soap.soapserver.addfunction">addFunction</a> -- adds one or several functions those will handle SOAP requests</td></tr>
-<tr><td><a href="#ref.soap.soapserver.setclass">setClass</a> -- sets class which will handle SOAP requests</td></tr>
-<tr><td><a href="#ref.soap.soapserver.getfunctions">getFunctions</a> -- returns list of defined functions</td></tr>
-<tr><td><a href="#ref.soap.soapserver.setpersistence">setPersistence</a> -- sets persistence mode of SoapServer</td></tr>
-<tr><td><a href="#ref.soap.soapserver.handle">handle</a> -- handles a SOAP request</td></tr>
-</table>
-<a name="ref.soap.soapparam">
-<h4>SoapParam class</h4>
-<p>
-SoapParam is a special low-level class for naming parameters and return values
-in nonWSDL mode. It is just a data holder and it has not any special method
-except constructor.
-</p>
-<table border="0">
-<tr><td><a href="#ref.soap.soapparam.soapparam">SoapParam</a> -- SoapParam constructor</td></tr>
-</table>
-<a name="ref.soap.soapvar">
-<h4>SoapVar classes</h4>
-<p>
-SoapVar is a special low-level class for encoding parameters and return values
-in nonWSDL mode. It is just a data holder and it has not any special method
-except constructor. It is useful when you like to set type property in SOAP
-request or response.
-</p>
-<table border="0">
-<tr><td><a href="#ref.soap.soapvar.soapvar">SoapVar</a> -- SoapVar constructor</td></tr>
-</table>
-<a name="ref.soap.soapheader">
-<h4>SoapHeader class</h4>
-<p>
-SoapHeader is a special low-level class for passing or returning SOAP headers.
-It is just a data holder and it has not any special method except constructor.
-</p>
-<table border="0">
-<tr><td><a href="#ref.soap.soapheader.soapheader">SoapHeader</a> -- SoapHeader constructor</td></tr>
-</table>
-<a name="ref.soap.soapfault">
-<h4>SoapFault class</h4>
-<p>
-SoapFault is a special class that can be used for error reporting during
-handling of SOAP request. It is derived form standard PHP Exception class,
-so it can be used to throw exceptions in server side and to catch tham on
-client side.
-</p>
-<table border="0">
-<tr><td><a href="#ref.soap.soapfault.soapfault">SoapFault</a> -- SoapFault constructor</td></tr>
-</table>
-<HR>
-<!--
-<H2>Examples</H2>
--->
-<h4>Table of Contents</h4>
-<table border="0">
-<tr><td><a href="#ref.soap.is_soap_fault">is_soap_fault</a> -- checks if SOAP call was failed</td></tr>
-<tr><td><a href="#ref.soap.soapclient.soapclient">SoapClient::SoapClient</a> -- SoapClient constructor</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__call">SoapClient::__call</a> -- calls a SOAP function</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getlastrequest">SoapClient::__getLastRequest</a> -- returns last SOAP request</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getlastresponse">SoapClient::__getLastResponse</a> -- returns last SOAP response</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__getfunctions">SoapClient::__getFunctions</a> -- returns list of SOAP functions</td></tr>
-<tr><td><a href="#ref.soap.soapclient.__gettypes">SoapClient::__getTypes</a> -- returns list of SOAP types</td></tr>
-<tr><td><a href="#ref.soap.soapserver.soapserver">SoapServer::SoapServer</a> -- SoapServer constructor</td></tr>
-<tr><td><a href="#ref.soap.soapserver.addfunction">SoapServer::addFunction</a> -- adds one or several functions those will handle SOAP requests</td></tr>
-<tr><td><a href="#ref.soap.soapserver.setclass">SoapServer::setClass</a> -- sets class which will handle SOAP requests</td></tr>
-<tr><td><a href="#ref.soap.soapserver.getfunctions">SoapServer::getFunctions</a> -- returns list of defined functions</td></tr>
-<tr><td><a href="#ref.soap.soapserver.setpersistence">SoapServer::setPersistence</a> -- sets persistence mode of SoapServer</td></tr>
-<tr><td><a href="#ref.soap.soapserver.handle">SoapServer::handle</a> -- handles a SOAP request</td></tr>
-<tr><td><a href="#ref.soap.soapparam.soapparam">SoapParam::SoapParam</a> -- SoapParam constructor</td></tr>
-<tr><td><a href="#ref.soap.soapvar.soapvar">SoapVar::SoapVar</a> -- SoapVar constructor</td></tr>
-<tr><td><a href="#ref.soap.soapheader.soapheader">SoapHeader::SoapHeader</a> -- SoapHeader constructor</td></tr>
-<tr><td><a href="#ref.soap.soapfault.soapfault">SoapFault::SoapFault</a> -- SoapFault constructor</td></tr>
-</table>
-
-<a name="ref.soap.is_soap_fault"></a>
-<h2>is_soap_fault</h2>
-<p>(PHP 5)</p>
-<p>checks if SOAP call was failed</p>
-<h3>Description</h3>
-<p>bool <b>is_soap_fault</b>(mixed obj)</p>
-<p>
-This function is useful when you like to check if the SOAP call was failed,
-but don't like to use exceptions. To use it you must create SoapClient object
-with <b>exceptions</b> option set to zero or false. In this case SOAP method
-will return a special SoapFault object which encapsulate the fault details
-(faultcode, faultstring, faultactor and faultdetails). If <b>exceptions</b> is
-not set then SOAP call will throw an exception on error.<br>
-is_soap_fault() functions checks if the given parameter is a SoapFault object.<br>
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- $client = SoapClient("some.wsdl",array("exceptions"=>0));
- $result = $client->SomeFunction(...);
- if (is_soap_fault($result)) {
- trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faulstring})", E_ERROR);
- }
-?&gt;</PRE></TD></TR></TABLE>
-<p>Standard method that used by SOAP extension for error reporting is excptions.</p>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- try {
- $client = SoapClient("some.wsdl");
- $result = $client->SomeFunction(...);
- } catch (SoapFault $fault) {
- trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faulstring})", E_ERROR);
- }
-?&gt;</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.soapclient"></a>
-<h2>SoapClient::SoapClient</h2>
-<p>(PHP 5)</p>
-<p>SoapClient constructor</p>
-<h3>Description</h3>
-<p><b>SoapClient</b>(mixed wsdl [, array options])</p>
-<p>
-The constructor allows creating SoapClient objects in WSDL or nonWSDL mode.
-The first case requires URI of WSDL file as first parameter and optional
-options array. The second case requires NULL as first parameter and options
-array with <b>location</b> and <b>uri</b> options set. Where <b>location</b> is
-a URL to request and <b>uri</b> is a target namespace of the SOAP service.
-<b>style</b> and <b>use</b> options has effect only on nonWSDL (in WSDL mode
-they comes from WSDL file). <b>soap_version</b> option allows to work as SOAP 1.1 or
-SOAP 1.2 client.
-Some additional optional options allow using HTTP authentication (<b>login</b>
-and <b>password</b>) and HTTP connection through proxy server (<b>proxy_host</b>,
-<b>proxy_port</b>, <b>proxy_login</b> and <b>proxy_password</b>).
-</p>
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
- $client = new SoapClient("some.wsdl");
-
- $client = new SoapClient("some.wsdl",array('soap_version' => SOAP_1_2));
-
- $client = new SoapClient("some.wsdl",array('login' => "some_name",
- 'password' => "some_password"));
-
- $client = new SoapClient("some.wsdl",array('proxy_host' => "localhost",
- 'proxy_port' => 8080));
-
- $client = new SoapClient("some.wsdl",array('proxy_host' => "localhost",
- 'proxy_port' => 8080,
- 'proxy_login' => "some_name",
- 'proxy_password' => "some_password"));
-
- $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
- 'uri' => "http://test-uri/"));
-
- $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
- 'uri' => "http://test-uri/",
- 'style' => SOAP_DOCUMENT,
- 'use' => SOAP_LITERAL));
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__call"></a>
-<h2>SoapClient::__call</h2>
-<p>(PHP 5)</p>
-<p>calls a SOAP function</p>
-<h3>Description</h3>
-<p>mixed <b>__call</b>(string function_name, array arguments, [array options [, mixed input_headers [, mixed &output_headers]]])</p>
-<p>
-This is a low level API function to make a SOAP call. Usually in WSDL mode
-you can simple call SOAP functions as SoapClient methods. It is useful for
-nonWSDL mode when 'soapaction' is unknown, 'uri' is differ form default or
-when ypu like to send and/or receive SOAP Headers. To check if function call
-is failed check the result with is_soap_fault() function.<br>
-SOAP function may return one or several values. In the first case __call will
-return just the value of output parameter, in the second it will return
-array with named output parameters.
-</p>
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
- $client = new SoapClient("some.wsdl");
- $client->SomeFunction($a,$b,$c);
- $client->__call("SomeFunction",array($a,$b,$c));
- $client->__call("SomeFunction",array($a,$b,$c), NULL,
- new SoapHeader(...), $output_headers);
-
-
- $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
- 'uri' => "http://test-uri/"));
- $client->SomeFunction($a,$b,$c);
- $client->__call("SomeFunction",array($a,$b,$c));
- $client->__call("SomeFunction",array($a,$b,$c),
- array('soapaction' => 'some_action',
- 'uri' => 'some_uri'));
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__getlastrequest"></a>
-<h2>SoapClient::__getLastRequest</h2>
-<p>(PHP 5)</p>
-<p>returns last SOAP request</p>
-<h3>Description</h3>
-<p>string <b>__getLastRequest</b>()</p>
-<p>
-This function works only with SoapClient which was created with trace option.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- $client = SoapClient("some.wsdl", array('trace'=>1));
- $result = $client->SomeFunction(...);
- echo "REQUEST:\n".$client->__getLastRequest()."\n";
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__getlastresponse"></a>
-<h2>SoapClient::__getLastResponse</h2>
-<p>(PHP 5)</p>
-<p>returns last SOAP response</p>
-<h3>Description</h3>
-<p>string <b>__getLastResponse</b>()</p>
-<p>
-This function works only with SoapClient which was created with trace option.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- $client = SoapClient("some.wsdl", array('trace'=>1));
- $result = $client->SomeFunction(...);
- echo "RESPONSE:\n".$client->__getLastResponse()."\n";
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__getfunctions"></a>
-<h2>SoapClient::__getFunctions</h2>
-<p>(PHP 5)</p>
-<p>returns list of SOAP functions</p>
-<h3>Description</h3>
-<p>array <b>__getFunctions</b>()</p>
-<p>
-This function works only in WSDL mode.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- $client = SoapClient("some.wsdl");
- var_dump($client->__getFunctions());
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapclient.__gettypes"></a>
-<h2>SoapClient::__getTypes</h2>
-<p>(PHP 5)</p>
-<p>returns list of SOAP types</p>
-<h3>Description</h3>
-<p>array <b>__getTypes</b>()</p>
-<p>
-This function works only in WSDL mode.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- $client = SoapClient("some.wsdl");
- var_dump($client->__getTypes());
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.soapserver"></a>
-<h2>SoapServer::SoapServer</h2>
-<p>(PHP 5)</p>
-<p>SoapServer constructor</p>
-<h3>Description</h3>
-<p><b>SoapServer</b>(mixed wsdl [, array options])</p>
-It allows creating SoapServer objects in WSDL or nonWSDL mode. In the first
-case <b>wsdl</b> must be set to URI of WSDL file. In the second <b>wsdl</b>
-must be set to null and <b>uti</b> option must be set. Additional options
-allow setting a default SOAP version (<b>soap_version</b>) and actor URI
-(<b>actor</b>).
-
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
- $server = new SoapServer("some.wsdl");
-
- $server = new SoapServer("some.wsdl",array('soap_version'=>SOAP_1_2));
-
- $server = new SoapServer("some.wsdl",array('actor'=>"http://example.org/ts-tests/C"));
-
- $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.addfunction">
-<h2>SoapServer::addFunction</h2>
-<p>(PHP 5)</p>
-<p>adds one or several functions those will handle SOAP requests</p>
-<h3>Description</h3>
-<p>void <b>addFunction</b>(mixed functions)</p>
-Exports one or more functions for remote clients. To export one function pass
-function name into <b>functions</b> parameter as string. To export several
-functions pass an array of function names and to export all functions pass
-a special constant <b>SOAP_FUNCTIONS_ALL</b>.<br>
-Functions must receive all input arguments in the same order as defined
-in WSDL file (They should not receive any output parameters as arguments) and
-return one or more values. To return several values they must return array with
-named output parameters.
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
- function func($inputString) {
- return $inputString;
- }
- $server->addFunction("echoString");
-
- function echoTwoStrings($inputString1, $inputString2) {
- return array("outputString1"=>$inputString1,"outputString2"=>$inputString2);
- }
- $server->addFunction(array("echoString","echoTwoStrings"));
-
- $server->addFunction(SOAP_FUNCTIONS_ALL);
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.setclass"></a>
-<h2>SoapServer::setClass</h2>
-<p>(PHP 5)</p>
-<p>sets class which will handle SOAP requests</p>
-<h3>Description</h3>
-<p>void <b>setClass</b>(string class_name [, ...])</p>
-Exports all methods from specified class. Additional parameters will be passed
-to default class constructor during object creation. The object can be maiden
-persistent across request for a given PHP session with
-<a href="#ref.soap.soapserver.setpersistence">SoapServer::setPersistence</a> method.
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
- $server->setClass("foo");
-
- $server->setClass("foo", $arg1, $arg2);
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.getfunctions">
-<h2>SoapServer::getFunctions</h2>
-<p>(PHP 5)</p>
-<p>returns list of defined functions</p>
-<h3>Description</h3>
-<p>array <b>getFunctions</b>()</p>
-
-<a name="ref.soap.soapserver.setpersistence"></a>
-<h2>SoapServer::setPersistence</h2>
-<p>(PHP 5)</p>
-<p>sets persistence mode of SoapServer</p>
-<h3>Description</h3>
-<p>void <b>setPersistence</b>(int mode)</p>
-This function allows saving data between requests in PHP session. It works only
-with server that exports functions form class (see
-<a href="#ref.soap.soapserver.setclass">SoapServer:setCalss</a>).
-<h4>Examples</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
- $server->setpersistence(SOAP_PERSISTENCE_SESSION);
-
- $server->setpersistence(SOAP_PERSISTENCE_REQUEST);
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapserver.handle"></a>
-<h2>SoapServer::handle</h2>
-<p>(PHP 5)</p>
-<p>handles a SOAP request</p>
-<h3>Description</h3>
-<p>void <b>handle</b>([string soap_envelope])</p>
-It processes a SOAP request, call necessary functions, and send response back.
-It assumes request in input parameter or in global <b>$HTTP_RAW_POST_DATA</b> PHP variable
-if the argument is omitted.
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- function test($x) {
- return $x;
- }
-
- $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
- $server->addFunction("test");
- $server->handle();
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapparam.soapparam"></a>
-<h2>SoapParam::SoapParam</h2>
-<p>(PHP 5)</p>
-<p>SoapParam constructor</p>
-<h3>Description</h3>
-<p><b>SoapParam</b>(mixed data, string name)</p>
-<p>
-SoapParam is a special low-level class for naming parameters and return values
-in nonWSDL mode. It is just a data holder and it has not any special method
-except constructor. The constructor takes <b>data</b> to pass or return and
-<b>name</b>. It is possible to pass parameter directly as PHP value, but in
-this case it will be named as <b><i>paramN</i></b> and SOAP Service may not
-understand it.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
- 'uri' => "http://test-uri/"));
- $client->SomeFunction(new SoapParam($a,"a"),
- new SoapParam($b,"b"),
- new SoapParam($c,"c"));
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapvar.soapvar"></a>
-<h2>SoapVar::SoapVar</h2>
-<p>(PHP 5)</p>
-<p>SoapVar constructor</p>
-<h3>Description</h3>
-<p><b>SoapVar</b>(mixed data, int encoding [, string type [, string type_ns [, string name [, string name_ns]]]])</p>
-<p>
-SoapVar is a special low-level class for encoding parameters and return values
-in nonWSDL mode. It is just a data holder and it has not any special method
-except constructor. It is useful when you like to set type property in SOAP
-request or response. The constructor takes <b>data</b> to pass or return,
-<b>encoding</b> ID to encode it (see <b><i>XSD_...</i></b> constants) and as
-option type name and namespace and value name and namespace.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- class SOAPStruct {
- function SOAPStruct($s, $i, $f) {
- $this->varString = $s;
- $this->varInt = $i;
- $this->varFloat = $f;
- }
- }
- $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
- 'uri' => "http://test-uri/"));
- $struct = new SOAPStruct('arg',34,325.325);
- $soapstruct = new SoapVar($struct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
- $client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapheader.soapheader"></a>
-<h2>SoapHeader::SoapHeader</h2>
-<p>(PHP 5)</p>
-<p>SoapHeader constructor</p>
-<h3>Description</h3>
-<p><b>SoapHeader</b>(string name_ns, string name [, mixed data [, bool must_understand [, mixed actor]]])</p>
-<p>
-SoapHeader is a special low-level class for passing or returning SOAP headers.
-It is just a data holder and it has not any special method except constructor.
-It can be used in <a href="#ref.soap.soapclient.__call">SoapClient::__call</a>
-method to pass SOAP header or in SOAP header handler to return header in SOAP
-response. <b>name_ns</b> and <b>name</b> are namespace and name of the SOAP
-header element. <b>data</b> is a SOAP header's content. It can be a PHP value
-or SoapVar object. <b>must_understand</b> and <b>actor</b> are values for
-<b><i>mustUnderstand</i></b> and <b><i>actor</i></b> attributes of this SOAP
-Header element.
-</p>
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- $client = new SoapClient(null,array('location' => "http://localhost/soap.php",
- 'uri' => "http://test-uri/"));
- $client->__call("echoVoid",NULL,NULL,
- new SoapHeader('http://soapinterop.org/echoheader/',
- 'echoMeStringRequest',
- 'hello world'));
-?&gt;
-</PRE></TD></TR></TABLE>
-
-<a name="ref.soap.soapfault.soapfault"></a>
-<h2>SoapFault::SoapFault</h2>
-<p>(PHP 5)</p>
-<p>SoapFault constructor</p>
-<h3>Description</h3>
-<p><b>SoapFault</b>(string faultcode, string faultstring [, string faultactor [, mixed details [, string faultname [, mixed headerfault]]]])</p>
-This class is useful when you like to send SOAP fault response from PHP handler.<br>
-<b>faultcode</b>, <b>faultstring</b>, <b>faultactor</b> and <b>details</b> are standard elements of SOAP Fault;<br>
-<b>faultname</b> is an optional parameter that can be used to select proper fault encoding from WSDL.<br>
-<b>headerfault</b> is an optional parameter that can be used during SOAP header handling to report error in response header.
-<h4>Example</h4>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- function test($x) {
- return new SoapFault("Server","Some error message");
- }
-
- $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
- $server->addFunction("test");
- $server->handle();
-?&gt;
-</PRE></TD></TR></TABLE>
-<p>It is possible to use PHP exception mechanism to throw SOAP Fault.</p>
-<TABLE BORDER="0" BGCOLOR="#E0E0E0"><TR><TD><PRE CLASS="php">
-&lt;?php
- function test($x) {
- throw new SoapFault("Server","Some error message");
- }
-
- $server = new SoapServer(null,array('uri'=>"http://test-uri/"));
- $server->addFunction("test");
- $server->handle();
-?&gt;
-</PRE></TD></TR></TABLE>
-</BODY>
-</HTML> \ No newline at end of file
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
deleted file mode 100644
index 1eafeff9e8..0000000000
--- a/ext/soap/soap.c
+++ /dev/null
@@ -1,4433 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2005 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.0 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_0.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Brad Lafountain <rodif_bl@yahoo.com> |
- | Shane Caraveo <shane@caraveo.com> |
- | Dmitry Stogov <dmitry@zend.com> |
- +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "php_soap.h"
-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
-#include "ext/session/php_session.h"
-#endif
-#ifdef ZEND_ENGINE_2
-# include "zend_exceptions.h"
-#endif
-
-static int le_sdl = 0;
-int le_url = 0;
-static int le_service = 0;
-
-typedef struct _soapHeader {
- sdlFunctionPtr function;
- zval function_name;
- int mustUnderstand;
- int num_params;
- zval **parameters;
- zval retval;
- sdlSoapBindingFunctionHeaderPtr hdr;
- struct _soapHeader *next;
-} soapHeader;
-
-/* Local functions */
-static void function_to_string(sdlFunctionPtr function, smart_str *buf);
-static void type_to_string(sdlTypePtr type, smart_str *buf, int level);
-
-static void clear_soap_fault(zval *obj TSRMLS_DC);
-static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail, char *name TSRMLS_DC);
-static void soap_server_fault(char* code, char* string, char *actor, zval* details, char *name TSRMLS_DC);
-static void soap_server_fault_ex(sdlFunctionPtr function, zval* fault, soapHeader* hdr TSRMLS_DC);
-
-static sdlParamPtr get_param(sdlFunctionPtr function, char *param_name, int index, int);
-static sdlFunctionPtr get_function(sdlPtr sdl, const char *function_name);
-static sdlFunctionPtr get_doc_function(sdlPtr sdl, xmlNodePtr node);
-
-static sdlFunctionPtr deserialize_function_call(sdlPtr sdl, xmlDocPtr request, char* actor, zval *function_name, int *num_params, zval **parameters[], int *version, soapHeader **headers TSRMLS_DC);
-static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function_name,char *uri,zval *ret, soapHeader *headers, int version TSRMLS_DC);
-static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function, char *function_name, char *uri, zval **arguments, int arg_count, int version, HashTable *soap_headers TSRMLS_DC);
-static xmlNodePtr serialize_parameter(sdlParamPtr param,zval *param_val,int index,char *name, int style, xmlNodePtr parent TSRMLS_DC);
-static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, char *paramName, int style, xmlNodePtr parent TSRMLS_DC);
-
-static void delete_service(void *service);
-static void delete_url(void *handle);
-
-#ifndef ZEND_ENGINE_2
-static void soap_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference);
-#endif
-
-static void soap_error_handler(int error_num, const char *error_filename, const uint error_lineno, const char *format, va_list args);
-
-#define SOAP_SERVER_BEGIN_CODE() \
- zend_bool _old_handler = SOAP_GLOBAL(use_soap_error_handler);\
- char* _old_error_code = SOAP_GLOBAL(error_code);\
- zval* _old_error_object = SOAP_GLOBAL(error_object);\
- int _old_soap_version = SOAP_GLOBAL(soap_version);\
- SOAP_GLOBAL(use_soap_error_handler) = 1;\
- SOAP_GLOBAL(error_code) = "Server";\
- SOAP_GLOBAL(error_object) = this_ptr;
-
-#define SOAP_SERVER_END_CODE() \
- SOAP_GLOBAL(use_soap_error_handler) = _old_handler;\
- SOAP_GLOBAL(error_code) = _old_error_code;\
- SOAP_GLOBAL(error_object) = _old_error_object;\
- SOAP_GLOBAL(soap_version) = _old_soap_version;
-
-#ifdef ZEND_ENGINE_2
-#define SOAP_CLIENT_BEGIN_CODE() \
- zend_bool _old_handler = SOAP_GLOBAL(use_soap_error_handler);\
- char* _old_error_code = SOAP_GLOBAL(error_code);\
- zval* _old_error_object = SOAP_GLOBAL(error_object);\
- int _old_soap_version = SOAP_GLOBAL(soap_version);\
- zend_bool _old_in_compilation = CG(in_compilation); \
- zend_bool _old_in_execution = EG(in_execution); \
- zend_execute_data *_old_current_execute_data = EG(current_execute_data); \
- int _bailout = 0;\
- SOAP_GLOBAL(use_soap_error_handler) = 1;\
- SOAP_GLOBAL(error_code) = "Client";\
- SOAP_GLOBAL(error_object) = this_ptr;\
- zend_try {
-
-#define SOAP_CLIENT_END_CODE() \
- } zend_catch {\
- CG(in_compilation) = _old_in_compilation; \
- EG(in_execution) = _old_in_execution; \
- EG(current_execute_data) = _old_current_execute_data; \
- if (EG(exception) == NULL || \
- Z_TYPE_P(EG(exception)) != IS_OBJECT || \
- Z_OBJCE_P(EG(exception)) != soap_fault_class_entry) {\
- _bailout = 1;\
- }\
- } zend_end_try();\
- SOAP_GLOBAL(use_soap_error_handler) = _old_handler;\
- SOAP_GLOBAL(error_code) = _old_error_code;\
- SOAP_GLOBAL(error_object) = _old_error_object;\
- SOAP_GLOBAL(soap_version) = _old_soap_version;\
- if (_bailout) {\
- zend_bailout();\
- }
-#else
-#define SOAP_CLIENT_BEGIN_CODE() \
- zend_bool _old_handler = SOAP_GLOBAL(use_soap_error_handler);\
- char* _old_error_code = SOAP_GLOBAL(error_code);\
- zval* _old_error_object = SOAP_GLOBAL(error_object);\
- int _old_soap_version = SOAP_GLOBAL(soap_version);\
- SOAP_GLOBAL(use_soap_error_handler) = 1;\
- SOAP_GLOBAL(error_code) = "Client";\
- SOAP_GLOBAL(error_object) = this_ptr;
-
-#define SOAP_CLIENT_END_CODE() \
- SOAP_GLOBAL(use_soap_error_handler) = _old_handler;\
- SOAP_GLOBAL(error_code) = _old_error_code;\
- SOAP_GLOBAL(error_object) = _old_error_object;\
- SOAP_GLOBAL(soap_version) = _old_soap_version;
-#endif
-
-#define HTTP_RAW_POST_DATA "HTTP_RAW_POST_DATA"
-
-#define ZERO_PARAM() \
- if (ZEND_NUM_ARGS() != 0) \
- WRONG_PARAM_COUNT;
-
-#define FETCH_THIS_SDL(ss) \
- { \
- zval **__tmp; \
- if(FIND_SDL_PROPERTY(this_ptr,__tmp) != FAILURE) { \
- FETCH_SDL_RES(ss,__tmp); \
- } else { \
- ss = NULL; \
- } \
- }
-
-#define FIND_SDL_PROPERTY(ss,tmp) zend_hash_find(Z_OBJPROP_P(ss), "sdl", sizeof("sdl"), (void **)&tmp)
-#define FETCH_SDL_RES(ss,tmp) ss = (sdlPtr) zend_fetch_resource(tmp TSRMLS_CC, -1, "sdl", NULL, 1, le_sdl)
-
-#define FETCH_THIS_SERVICE(ss) \
- { \
- zval **tmp; \
- if (zend_hash_find(Z_OBJPROP_P(this_ptr),"service", sizeof("service"), (void **)&tmp) != FAILURE) { \
- ss = (soapServicePtr)zend_fetch_resource(tmp TSRMLS_CC, -1, "service", NULL, 1, le_service); \
- } else { \
- ss = NULL; \
- } \
- }
-
-static zend_class_entry* soap_class_entry;
-static zend_class_entry* soap_server_class_entry;
-static zend_class_entry* soap_fault_class_entry;
-static zend_class_entry* soap_header_class_entry;
-static zend_class_entry* soap_param_class_entry;
-zend_class_entry* soap_var_class_entry;
-
-ZEND_DECLARE_MODULE_GLOBALS(soap)
-
-static void (*old_error_handler)(int, const char *, const uint, const char*, va_list);
-
-#ifdef va_copy
-#define call_old_error_handler(error_num, error_filename, error_lineno, format, args) \
-{ \
- va_list copy; \
- va_copy(copy, args); \
- old_error_handler(error_num, error_filename, error_lineno, format, copy); \
- va_end(copy); \
-}
-#else
-#define call_old_error_handler(error_num, error_filename, error_lineno, format, args) \
-{ \
- old_error_handler(error_num, error_filename, error_lineno, format, args); \
-}
-#endif
-
-#define PHP_SOAP_SERVER_CLASSNAME "SoapServer"
-#define PHP_SOAP_CLIENT_CLASSNAME "SoapClient"
-#define PHP_SOAP_VAR_CLASSNAME "SoapVar"
-#define PHP_SOAP_FAULT_CLASSNAME "SoapFault"
-#define PHP_SOAP_PARAM_CLASSNAME "SoapParam"
-#define PHP_SOAP_HEADER_CLASSNAME "SoapHeader"
-
-PHP_RINIT_FUNCTION(soap);
-PHP_MINIT_FUNCTION(soap);
-PHP_MSHUTDOWN_FUNCTION(soap);
-PHP_MINFO_FUNCTION(soap);
-
-#ifndef ZEND_ENGINE_2
-# ifndef PHP_METHOD
-# define PHP_METHOD(classname, name) ZEND_NAMED_FUNCTION(ZEND_FN(classname##_##name))
-# define PHP_ME(classname, name, arg_info, flags) ZEND_NAMED_FE(name, ZEND_FN(classname##_##name), arg_info)
-# endif
-
-static char *zend_str_tolower_copy(char *dest, const char *source, unsigned int length)
-{
- register unsigned char *str = (unsigned char*)source;
- register unsigned char *result = (unsigned char*)dest;
- register unsigned char *end = str + length;
-
- while (str < end) {
- *result++ = tolower((int)*str++);
- }
- *result = *end;
-
- return dest;
-}
-#endif
-
-/*
- Registry Functions
- TODO: this!
-*/
-PHP_FUNCTION(soap_encode_to_xml);
-PHP_FUNCTION(soap_encode_to_zval);
-PHP_FUNCTION(use_soap_error_handler);
-PHP_FUNCTION(is_soap_fault);
-
-
-/* Server Functions */
-PHP_METHOD(SoapServer, SoapServer);
-PHP_METHOD(SoapServer, setClass);
-PHP_METHOD(SoapServer, addFunction);
-PHP_METHOD(SoapServer, getFunctions);
-PHP_METHOD(SoapServer, handle);
-PHP_METHOD(SoapServer, setPersistence);
-PHP_METHOD(SoapServer, fault);
-#ifdef HAVE_PHP_DOMXML
-PHP_METHOD(PHP_SOAP_SERVER_CLASS, map);
-#endif
-
-/* Client Functions */
-PHP_METHOD(SoapClient, SoapClient);
-PHP_METHOD(SoapClient, __call);
-PHP_METHOD(SoapClient, __getLastRequest);
-PHP_METHOD(SoapClient, __getLastResponse);
-PHP_METHOD(SoapClient, __getLastRequestHeaders);
-PHP_METHOD(SoapClient, __getLastResponseHeaders);
-PHP_METHOD(SoapClient, __getFunctions);
-PHP_METHOD(SoapClient, __getTypes);
-PHP_METHOD(SoapClient, __doRequest);
-PHP_METHOD(SoapClient, __setCookie);
-PHP_METHOD(SoapClient, __setLocation);
-PHP_METHOD(SoapClient, __setSoapHeaders);
-
-/* SoapVar Functions */
-PHP_METHOD(SoapVar, SoapVar);
-
-/* SoapFault Functions */
-PHP_METHOD(SoapFault, SoapFault);
-#ifdef ZEND_ENGINE_2
-PHP_METHOD(SoapFault, __toString);
-#endif
-
-/* SoapParam Functions */
-PHP_METHOD(SoapParam, SoapParam);
-
-/* SoapHeader Functions */
-PHP_METHOD(SoapHeader, SoapHeader);
-
-#ifdef ZEND_ENGINE_2
-#define SOAP_CTOR(class_name, func_name, arginfo, flags) ZEND_FENTRY(__construct, ZEND_FN(class_name##_##func_name), arginfo, flags)
-#else
-#define SOAP_CTOR(class_name, func_name, arginfo, flags) PHP_ME(class_name, func_name, arginfo, flags)
-#endif
-
-static zend_function_entry soap_functions[] = {
-#ifdef HAVE_PHP_DOMXML
- PHP_FE(soap_encode_to_xml, NULL)
- PHP_FE(soap_encode_to_zval, NULL)
-#endif
- PHP_FE(use_soap_error_handler, NULL)
- PHP_FE(is_soap_fault, NULL)
- {NULL, NULL, NULL}
-};
-
-static zend_function_entry soap_fault_functions[] = {
- SOAP_CTOR(SoapFault, SoapFault, NULL, 0)
-#ifdef ZEND_ENGINE_2
- PHP_ME(SoapFault, __toString, NULL, 0)
-#endif
- {NULL, NULL, NULL}
-};
-
-static zend_function_entry soap_server_functions[] = {
- SOAP_CTOR(SoapServer, SoapServer, NULL, 0)
- PHP_ME(SoapServer, setPersistence, NULL, 0)
- PHP_ME(SoapServer, setClass, NULL, 0)
- PHP_ME(SoapServer, addFunction, NULL, 0)
- PHP_ME(SoapServer, getFunctions, NULL, 0)
- PHP_ME(SoapServer, handle, NULL, 0)
- PHP_ME(SoapServer, fault, NULL, 0)
-#ifdef HAVE_PHP_DOMXML
- PHP_ME(SoapServer, map, NULL, 0)
-#endif
- {NULL, NULL, NULL}
-};
-
-#ifdef ZEND_ENGINE_2
-ZEND_BEGIN_ARG_INFO(__call_args, 0)
- ZEND_ARG_PASS_INFO(0)
- ZEND_ARG_PASS_INFO(0)
-ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(__soap_call_args, 0)
- ZEND_ARG_PASS_INFO(0)
- ZEND_ARG_PASS_INFO(0)
- ZEND_ARG_PASS_INFO(0)
- ZEND_ARG_PASS_INFO(0)
- ZEND_ARG_PASS_INFO(1)
-ZEND_END_ARG_INFO()
-#else
-unsigned char __call_args[] = { 2, BYREF_NONE, BYREF_NONE };
-unsigned char __soap_call_args[] = { 5, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_NONE, BYREF_FORCE };
-#endif
-
-static zend_function_entry soap_client_functions[] = {
- SOAP_CTOR(SoapClient, SoapClient, NULL, 0)
- PHP_ME(SoapClient, __call, __call_args, 0)
-#ifdef ZEND_ENGINE_2
- ZEND_FENTRY(__soapCall, ZEND_FN(SoapClient___call), __soap_call_args, 0)
-#else
- ZEND_NAMED_FE(__soapCall, ZEND_FN(SoapClient___call), __soap_call_args)
-#endif
- PHP_ME(SoapClient, __getLastRequest, NULL, 0)
- PHP_ME(SoapClient, __getLastResponse, NULL, 0)
- PHP_ME(SoapClient, __getLastRequestHeaders, NULL, 0)
- PHP_ME(SoapClient, __getLastResponseHeaders, NULL, 0)
- PHP_ME(SoapClient, __getFunctions, NULL, 0)
- PHP_ME(SoapClient, __getTypes, NULL, 0)
- PHP_ME(SoapClient, __doRequest, NULL, 0)
- PHP_ME(SoapClient, __setCookie, NULL, 0)
- PHP_ME(SoapClient, __setLocation, NULL, 0)
- PHP_ME(SoapClient, __setSoapHeaders, NULL, 0)
- {NULL, NULL, NULL}
-};
-
-static zend_function_entry soap_var_functions[] = {
- SOAP_CTOR(SoapVar, SoapVar, NULL, 0)
- {NULL, NULL, NULL}
-};
-
-static zend_function_entry soap_param_functions[] = {
- SOAP_CTOR(SoapParam, SoapParam, NULL, 0)
- {NULL, NULL, NULL}
-};
-
-static zend_function_entry soap_header_functions[] = {
- SOAP_CTOR(SoapHeader, SoapHeader, NULL, 0)
- {NULL, NULL, NULL}
-};
-
-zend_module_entry soap_module_entry = {
-#ifdef STANDARD_MODULE_HEADER
- STANDARD_MODULE_HEADER,
-#endif
- "soap",
- soap_functions,
- PHP_MINIT(soap),
- PHP_MSHUTDOWN(soap),
- PHP_RINIT(soap),
- NULL,
- PHP_MINFO(soap),
-#ifdef STANDARD_MODULE_HEADER
- NO_VERSION_YET,
-#endif
- STANDARD_MODULE_PROPERTIES,
-};
-
-#ifdef COMPILE_DL_SOAP
-ZEND_GET_MODULE(soap)
-#endif
-
-PHP_INI_BEGIN()
-STD_PHP_INI_ENTRY("soap.wsdl_cache_enabled", "1", PHP_INI_ALL, OnUpdateBool,
- cache_enabled, zend_soap_globals, soap_globals)
-STD_PHP_INI_ENTRY("soap.wsdl_cache_dir", "/tmp", PHP_INI_ALL, OnUpdateString,
- cache_dir, zend_soap_globals, soap_globals)
-#ifdef ZEND_ENGINE_2
-STD_PHP_INI_ENTRY("soap.wsdl_cache_ttl", "86400", PHP_INI_ALL, OnUpdateLong,
- cache_ttl, zend_soap_globals, soap_globals)
-#else
-STD_PHP_INI_ENTRY("soap.wsdl_cache_ttl", "86400", PHP_INI_ALL, OnUpdateInt,
- cache_ttl, zend_soap_globals, soap_globals)
-#endif
-PHP_INI_END()
-
-static void php_soap_init_globals(zend_soap_globals *soap_globals)
-{
- int i;
- encodePtr enc;
-
- zend_hash_init(&soap_globals->defEnc, 0, NULL, NULL, 1);
- zend_hash_init(&soap_globals->defEncIndex, 0, NULL, NULL, 1);
- zend_hash_init(&soap_globals->defEncNs, 0, NULL, NULL, 1);
-
- i = 0;
- do {
- enc = &defaultEncoding[i];
-
- /* If has a ns and a str_type then index it */
- if (defaultEncoding[i].details.type_str) {
- if (defaultEncoding[i].details.ns != NULL) {
- char *ns_type;
- ns_type = emalloc(strlen(defaultEncoding[i].details.ns) + strlen(defaultEncoding[i].details.type_str) + 2);
- sprintf(ns_type, "%s:%s", defaultEncoding[i].details.ns, defaultEncoding[i].details.type_str);
- zend_hash_add(&soap_globals->defEnc, ns_type, strlen(ns_type) + 1, &enc, sizeof(encodePtr), NULL);
- efree(ns_type);
- } else {
- zend_hash_add(&soap_globals->defEnc, defaultEncoding[i].details.type_str, strlen(defaultEncoding[i].details.type_str) + 1, &enc, sizeof(encodePtr), NULL);
- }
- }
- /* Index everything by number */
- if (!zend_hash_index_exists(&soap_globals->defEncIndex, defaultEncoding[i].details.type)) {
- zend_hash_index_update(&soap_globals->defEncIndex, defaultEncoding[i].details.type, &enc, sizeof(encodePtr), NULL);
- }
- i++;
- } while (defaultEncoding[i].details.type != END_KNOWN_TYPES);
-
- /* hash by namespace */
- zend_hash_add(&soap_globals->defEncNs, XSD_1999_NAMESPACE, sizeof(XSD_1999_NAMESPACE), XSD_NS_PREFIX, sizeof(XSD_NS_PREFIX), NULL);
- zend_hash_add(&soap_globals->defEncNs, XSD_NAMESPACE, sizeof(XSD_NAMESPACE), XSD_NS_PREFIX, sizeof(XSD_NS_PREFIX), NULL);
- zend_hash_add(&soap_globals->defEncNs, XSI_NAMESPACE, sizeof(XSI_NAMESPACE), XSI_NS_PREFIX, sizeof(XSI_NS_PREFIX), NULL);
- zend_hash_add(&soap_globals->defEncNs, XML_NAMESPACE, sizeof(XML_NAMESPACE), XML_NS_PREFIX, sizeof(XML_NS_PREFIX), NULL);
- zend_hash_add(&soap_globals->defEncNs, SOAP_1_1_ENC_NAMESPACE, sizeof(SOAP_1_1_ENC_NAMESPACE), SOAP_1_1_ENC_NS_PREFIX, sizeof(SOAP_1_1_ENC_NS_PREFIX), NULL);
- zend_hash_add(&soap_globals->defEncNs, SOAP_1_2_ENC_NAMESPACE, sizeof(SOAP_1_2_ENC_NAMESPACE), SOAP_1_2_ENC_NS_PREFIX, sizeof(SOAP_1_2_ENC_NS_PREFIX), NULL);
-
- soap_globals->overrides = NULL;
- soap_globals->use_soap_error_handler = 0;
- soap_globals->error_code = NULL;
- soap_globals->error_object = NULL;
- soap_globals->sdl = NULL;
- soap_globals->soap_version = SOAP_1_1;
-}
-
-PHP_MSHUTDOWN_FUNCTION(soap)
-{
- zend_error_cb = old_error_handler;
- zend_hash_destroy(&SOAP_GLOBAL(defEnc));
- zend_hash_destroy(&SOAP_GLOBAL(defEncIndex));
- zend_hash_destroy(&SOAP_GLOBAL(defEncNs));
- UNREGISTER_INI_ENTRIES();
- return SUCCESS;
-}
-
-PHP_RINIT_FUNCTION(soap)
-{
- SOAP_GLOBAL(overrides) = NULL;
- SOAP_GLOBAL(use_soap_error_handler) = 0;
- SOAP_GLOBAL(error_code) = NULL;
- SOAP_GLOBAL(error_object) = NULL;
- SOAP_GLOBAL(sdl) = NULL;
- SOAP_GLOBAL(soap_version) = SOAP_1_1;
- SOAP_GLOBAL(encoding) = NULL;
- SOAP_GLOBAL(class_map) = NULL;
- return SUCCESS;
-}
-
-PHP_MINIT_FUNCTION(soap)
-{
- zend_class_entry ce;
-
- /* TODO: add ini entry for always use soap errors */
- ZEND_INIT_MODULE_GLOBALS(soap, php_soap_init_globals, NULL);
- REGISTER_INI_ENTRIES();
-
-#ifndef ZEND_ENGINE_2
- /* Enable php stream/wrapper support for libxml */
- xmlRegisterDefaultInputCallbacks();
- xmlRegisterInputCallbacks(php_stream_xmlIO_match_wrapper, php_stream_xmlIO_open_wrapper,
- php_stream_xmlIO_read, php_stream_xmlIO_close);
-#endif
-
- /* Register SoapClient class */
- /* BIG NOTE : THIS EMITS AN COMPILATION WARNING UNDER ZE2 - handle_function_call deprecated.
- soap_call_function_handler should be of type struct _zend_function, not (*handle_function_call).
- */
-#ifdef ZEND_ENGINE_2
- {
- zend_internal_function fe;
-
- fe.type = ZEND_INTERNAL_FUNCTION;
- fe.handler = ZEND_FN(SoapClient___call);
- fe.function_name = NULL;
- fe.scope = NULL;
- fe.fn_flags = 0;
- fe.prototype = NULL;
- fe.num_args = 2;
- fe.arg_info = NULL;
- fe.pass_rest_by_reference = 0;
-
- INIT_OVERLOADED_CLASS_ENTRY(ce, PHP_SOAP_CLIENT_CLASSNAME, soap_client_functions,
- (zend_function *)&fe, NULL, NULL);
- soap_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
- }
-#else
- INIT_OVERLOADED_CLASS_ENTRY(ce, PHP_SOAP_CLIENT_CLASSNAME, soap_client_functions, soap_call_function_handler, NULL, NULL);
- soap_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
-#endif
-
- /* Register SoapVar class */
- INIT_CLASS_ENTRY(ce, PHP_SOAP_VAR_CLASSNAME, soap_var_functions);
- soap_var_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
-
- /* Register SoapServer class */
- INIT_CLASS_ENTRY(ce, PHP_SOAP_SERVER_CLASSNAME, soap_server_functions);
- soap_server_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
-
- /* Register SoapFault class */
- INIT_CLASS_ENTRY(ce, PHP_SOAP_FAULT_CLASSNAME, soap_fault_functions);
-#ifdef ZEND_ENGINE_2
- soap_fault_class_entry = zend_register_internal_class_ex(&ce, zend_exception_get_default(), NULL TSRMLS_CC);
-#else
- soap_fault_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
-#endif
-
- /* Register SoapParam class */
- INIT_CLASS_ENTRY(ce, PHP_SOAP_PARAM_CLASSNAME, soap_param_functions);
- soap_param_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
-
- INIT_CLASS_ENTRY(ce, PHP_SOAP_HEADER_CLASSNAME, soap_header_functions);
- soap_header_class_entry = zend_register_internal_class(&ce TSRMLS_CC);
-
- le_sdl = register_list_destructors(delete_sdl, NULL);
- le_url = register_list_destructors(delete_url, NULL);
- le_service = register_list_destructors(delete_service, NULL);
-
- REGISTER_LONG_CONSTANT("SOAP_1_1", SOAP_1_1, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_1_2", SOAP_1_2, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("SOAP_PERSISTENCE_SESSION", SOAP_PERSISTENCE_SESSION, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_PERSISTENCE_REQUEST", SOAP_PERSISTENCE_REQUEST, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_FUNCTIONS_ALL", SOAP_FUNCTIONS_ALL, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("SOAP_ENCODED", SOAP_ENCODED, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_LITERAL", SOAP_LITERAL, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("SOAP_RPC", SOAP_RPC, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_DOCUMENT", SOAP_DOCUMENT, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("SOAP_ACTOR_NEXT", SOAP_ACTOR_NEXT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_ACTOR_NONE", SOAP_ACTOR_NONE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_ACTOR_UNLIMATERECEIVER", SOAP_ACTOR_UNLIMATERECEIVER, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_ACCEPT", SOAP_COMPRESSION_ACCEPT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_GZIP", SOAP_COMPRESSION_GZIP, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_COMPRESSION_DEFLATE", SOAP_COMPRESSION_DEFLATE, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("SOAP_AUTHENTICATION_BASIC", SOAP_AUTHENTICATION_BASIC, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_AUTHENTICATION_DIGEST", SOAP_AUTHENTICATION_DIGEST, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("UNKNOWN_TYPE", UNKNOWN_TYPE, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("XSD_STRING", XSD_STRING, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_BOOLEAN", XSD_BOOLEAN, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_DECIMAL", XSD_DECIMAL, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_FLOAT", XSD_FLOAT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_DOUBLE", XSD_DOUBLE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_DURATION", XSD_DURATION, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_DATETIME", XSD_DATETIME, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_TIME", XSD_TIME, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_DATE", XSD_DATE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_GYEARMONTH", XSD_GYEARMONTH, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_GYEAR", XSD_GYEAR, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_GMONTHDAY", XSD_GMONTHDAY, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_GDAY", XSD_GDAY, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_GMONTH", XSD_GMONTH, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_HEXBINARY", XSD_HEXBINARY, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_BASE64BINARY", XSD_BASE64BINARY, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_ANYURI", XSD_ANYURI, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_QNAME", XSD_QNAME, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NOTATION", XSD_NOTATION, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NORMALIZEDSTRING", XSD_NORMALIZEDSTRING, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_TOKEN", XSD_TOKEN, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_LANGUAGE", XSD_LANGUAGE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NMTOKEN", XSD_NMTOKEN, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NAME", XSD_NAME, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NCNAME", XSD_NCNAME, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_ID", XSD_ID, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_IDREF", XSD_IDREF, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_IDREFS", XSD_IDREFS, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_ENTITY", XSD_ENTITY, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_ENTITIES", XSD_ENTITIES, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_INTEGER", XSD_INTEGER, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NONPOSITIVEINTEGER", XSD_NONPOSITIVEINTEGER, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NEGATIVEINTEGER", XSD_NEGATIVEINTEGER, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_LONG", XSD_LONG, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_INT", XSD_INT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_SHORT", XSD_SHORT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_BYTE", XSD_BYTE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NONNEGATIVEINTEGER", XSD_NONNEGATIVEINTEGER, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_UNSIGNEDLONG", XSD_UNSIGNEDLONG, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_UNSIGNEDINT", XSD_UNSIGNEDINT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_UNSIGNEDSHORT", XSD_UNSIGNEDSHORT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_UNSIGNEDBYTE", XSD_UNSIGNEDBYTE, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_POSITIVEINTEGER", XSD_POSITIVEINTEGER, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_NMTOKENS", XSD_NMTOKENS, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("XSD_ANYTYPE", XSD_ANYTYPE, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("SOAP_ENC_OBJECT", SOAP_ENC_OBJECT, CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("SOAP_ENC_ARRAY", SOAP_ENC_ARRAY, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_LONG_CONSTANT("XSD_1999_TIMEINSTANT", XSD_1999_TIMEINSTANT, CONST_CS | CONST_PERSISTENT);
-
- REGISTER_STRING_CONSTANT("XSD_NAMESPACE", XSD_NAMESPACE, CONST_CS | CONST_PERSISTENT);
- REGISTER_STRING_CONSTANT("XSD_1999_NAMESPACE", XSD_1999_NAMESPACE, CONST_CS | CONST_PERSISTENT);
-
- old_error_handler = zend_error_cb;
- zend_error_cb = soap_error_handler;
-
- return SUCCESS;
-}
-
-PHP_MINFO_FUNCTION(soap)
-{
- php_info_print_table_start();
- php_info_print_table_row(2, "Soap Client", "enabled");
- php_info_print_table_row(2, "Soap Server", "enabled");
- php_info_print_table_end();
- DISPLAY_INI_ENTRIES();
-}
-
-#ifdef HAVE_PHP_DOMXML
-PHP_FUNCTION(soap_encode_to_xml)
-{
- zval *pzval, *ret;
- encodePtr enc;
- char *name;
- int found, name_len;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz", &name, &name_len, &pzval) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-
- enc = get_conversion(Z_TYPE_P(pzval));
- ret = php_domobject_new(serialize_zval(pzval, NULL, name, SOAP_ENCODED), &found, NULL TSRMLS_CC);
- *return_value = *ret;
- zval_copy_ctor(return_value);
- zval_ptr_dtor(&ret);
-}
-
-PHP_FUNCTION(soap_encode_to_zval)
-{
- zval *dom, **addr, *ret;
- xmlNodePtr node;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &dom) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-
- if (zend_hash_index_find(Z_OBJPROP_P(dom), 1, (void **)&addr) == FAILURE) {
- }
-
- node = (xmlNodePtr)Z_LVAL_PP(addr);
- ret = master_to_zval(NULL, node);
- *return_value = *ret;
-}
-#endif
-
-/* {{{ proto object SoapParam::SoapParam ( mixed data, string name)
- SoapParam constructor */
-PHP_METHOD(SoapParam, SoapParam)
-{
- zval *data;
- char *name;
- int name_length;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zs", &data, &name, &name_length) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
- if (name_length == 0) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. Invalid parameter name.");
- }
-
-#ifndef ZEND_ENGINE_2
- zval_add_ref(&data);
-#endif
- add_property_stringl(this_ptr, "param_name", name, name_length, 1);
- add_property_zval(this_ptr, "param_data", data);
-}
-/* }}} */
-
-
-/* {{{ proto object SoapHeader::SoapHeader ( string namespace, string name [, mixed data [, bool mustUnderstand [, mixed actor]]])
- SoapHeader constructor */
-PHP_METHOD(SoapHeader, SoapHeader)
-{
- zval *data = NULL, *actor = NULL;
- char *name, *ns;
- int name_len, ns_len;
- zend_bool must_understand = 0;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|zbz", &ns, &ns_len, &name, &name_len, &data, &must_understand, &actor) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
- if (ns_len == 0) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. Invalid namespace.");
- }
- if (name_len == 0) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. Invalid header name.");
- }
-
- add_property_stringl(this_ptr, "namespace", ns, ns_len, 1);
- add_property_stringl(this_ptr, "name", name, name_len, 1);
- if (data) {
-#ifndef ZEND_ENGINE_2
- zval_add_ref(&data);
-#endif
- add_property_zval(this_ptr, "data", data);
- }
- add_property_bool(this_ptr, "mustUnderstand", must_understand);
- if (actor == NULL) {
- } else if (Z_TYPE_P(actor) == IS_LONG &&
- (Z_LVAL_P(actor) == SOAP_ACTOR_NEXT ||
- Z_LVAL_P(actor) == SOAP_ACTOR_NONE ||
- Z_LVAL_P(actor) == SOAP_ACTOR_UNLIMATERECEIVER)) {
- add_property_long(this_ptr, "actor", Z_LVAL_P(actor));
- } else if (Z_TYPE_P(actor) == IS_STRING && Z_STRLEN_P(actor) > 0) {
- add_property_stringl(this_ptr, "actor", Z_STRVAL_P(actor), Z_STRLEN_P(actor), 1);
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. Invalid actor.");
- }
-}
-
-/* {{{ proto object SoapFault::SoapFault ( string faultcode, string faultstring [, string faultactor [, mixed detail [, string faultname [, mixed headerfault]]]])
- SoapFault constructor */
-PHP_METHOD(SoapFault, SoapFault)
-{
- char *fault_string = NULL, *fault_code = NULL, *fault_actor = NULL, *name = NULL, *fault_code_ns = NULL;
- int fault_string_len, fault_code_len, fault_actor_len, name_len;
- zval *code = NULL, *details = NULL, *headerfault = NULL;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zs|s!z!s!z",
- &code,
- &fault_string, &fault_string_len,
- &fault_actor, &fault_actor_len,
- &details, &name, &name_len, &headerfault) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
- if (Z_TYPE_P(code) == IS_NULL) {
- } else if (Z_TYPE_P(code) == IS_STRING) {
- fault_code = Z_STRVAL_P(code);
- fault_code_len = Z_STRLEN_P(code);
- } else if (Z_TYPE_P(code) == IS_ARRAY && zend_hash_num_elements(Z_ARRVAL_P(code)) == 2) {
- zval **t_ns, **t_code;
-
- zend_hash_internal_pointer_reset(Z_ARRVAL_P(code));
- zend_hash_get_current_data(Z_ARRVAL_P(code), (void**)&t_ns);
- zend_hash_move_forward(Z_ARRVAL_P(code));
- zend_hash_get_current_data(Z_ARRVAL_P(code), (void**)&t_code);
- if (Z_TYPE_PP(t_ns) == IS_STRING && Z_TYPE_PP(t_code) == IS_STRING) {
- fault_code_ns = Z_STRVAL_PP(t_ns);
- fault_code = Z_STRVAL_PP(t_code);
- fault_code_len = Z_STRLEN_PP(t_code);
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. Invalid fault code.");
- }
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. Invalid fault code.");
- }
- if (fault_code != NULL && fault_code_len == 0) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters. Invalid fault code.");
- }
- if (name != NULL && name_len == 0) {
- name = NULL;
- }
-
- set_soap_fault(this_ptr, fault_code_ns, fault_code, fault_string, fault_actor, details, name TSRMLS_CC);
- if (headerfault != NULL) {
- add_property_zval(this_ptr, "headerfault", headerfault);
- }
-}
-/* }}} */
-
-
-#ifdef ZEND_ENGINE_2
-/* {{{ proto object SoapFault::SoapFault ( string faultcode, string faultstring [, string faultactor [, mixed detail [, string faultname [, mixed headerfault]]]])
- SoapFault constructor */
-PHP_METHOD(SoapFault, __toString)
-{
- zval *faultcode, *faultstring, *file, *line, *trace;
- char *str;
- int len;
- zend_fcall_info fci;
- zval fname;
-
- faultcode = zend_read_property(soap_fault_class_entry, this_ptr, "faultcode", sizeof("faultcode")-1, 1 TSRMLS_CC);
- faultstring = zend_read_property(soap_fault_class_entry, this_ptr, "faultstring", sizeof("faultstring")-1, 1 TSRMLS_CC);
- file = zend_read_property(soap_fault_class_entry, this_ptr, "file", sizeof("file")-1, 1 TSRMLS_CC);
- line = zend_read_property(soap_fault_class_entry, this_ptr, "line", sizeof("line")-1, 1 TSRMLS_CC);
-
- ZVAL_STRINGL(&fname, "gettraceasstring", sizeof("gettraceasstring")-1, 0);
-
- fci.size = sizeof(fci);
- fci.function_table = &Z_OBJCE_P(getThis())->function_table;
- fci.function_name = &fname;
- fci.symbol_table = NULL;
- fci.object_pp = &getThis();
- fci.retval_ptr_ptr = &trace;
- fci.param_count = 0;
- fci.params = NULL;
- fci.no_separation = 1;
-
- zend_call_function(&fci, NULL TSRMLS_CC);
-
- len = spprintf(&str, 0, "SoapFault exception: [%s] %s in %s:%ld\nStack trace:\n%s",
- Z_STRVAL_P(faultcode), Z_STRVAL_P(faultstring), Z_STRVAL_P(file), Z_LVAL_P(line),
- Z_STRLEN_P(trace) ? Z_STRVAL_P(trace) : "#0 {main}\n");
-
- zval_ptr_dtor(&trace);
-
- RETURN_STRINGL(str, len, 0);
-}
-/* }}} */
-#endif
-
-/* {{{ proto object SoapVar::SoapVar ( mixed data, int encoding [, string type_name [, string type_namespace [, string node_name [, string node_namespace]]]])
- SoapVar constructor */
-PHP_METHOD(SoapVar, SoapVar)
-{
- zval *data, *type;
- char *stype = NULL, *ns = NULL, *name = NULL, *namens = NULL;
- int stype_len, ns_len, name_len, namens_len;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z!z|ssss", &data, &type, &stype, &stype_len, &ns, &ns_len, &name, &name_len, &namens, &namens_len) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-
- if (Z_TYPE_P(type) == IS_NULL) {
- add_property_long(this_ptr, "enc_type", UNKNOWN_TYPE);
- } else {
- if (zend_hash_index_exists(&SOAP_GLOBAL(defEncIndex), Z_LVAL_P(type))) {
- add_property_long(this_ptr, "enc_type", Z_LVAL_P(type));
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid type ID");
- }
- }
-
- if (data) {
-#ifndef ZEND_ENGINE_2
- zval_add_ref(&data);
-#endif
- add_property_zval(this_ptr, "enc_value", data);
- }
-
- if (stype && stype_len > 0) {
- add_property_stringl(this_ptr, "enc_stype", stype, stype_len, 1);
- }
- if (ns && ns_len > 0) {
- add_property_stringl(this_ptr, "enc_ns", ns, ns_len, 1);
- }
- if (name && name_len > 0) {
- add_property_stringl(this_ptr, "enc_name", name, name_len, 1);
- }
- if (namens && namens_len > 0) {
- add_property_stringl(this_ptr, "enc_namens", namens, namens_len, 1);
- }
-}
-/* }}} */
-
-
-/* {{{ proto object SoapServer::SoapServer ( mixed wsdl [, array options])
- SoapServer constructor */
-PHP_METHOD(SoapServer, SoapServer)
-{
- soapServicePtr service;
- zval *wsdl, *options = NULL;
- int ret;
- int version = SOAP_1_1;
-
- SOAP_SERVER_BEGIN_CODE();
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|a", &wsdl, &options) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-
- if (Z_TYPE_P(wsdl) == IS_STRING) {
- } else if (Z_TYPE_P(wsdl) == IS_NULL) {
- wsdl = NULL;
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-
- service = emalloc(sizeof(soapService));
- memset(service, 0, sizeof(soapService));
-
- if (options != NULL) {
- HashTable *ht = Z_ARRVAL_P(options);
- zval **tmp;
-
- if (zend_hash_find(ht, "soap_version", sizeof("soap_version"), (void**)&tmp) == SUCCESS) {
- if (Z_TYPE_PP(tmp) == IS_LONG ||
- (Z_LVAL_PP(tmp) == SOAP_1_1 && Z_LVAL_PP(tmp) == SOAP_1_2)) {
- version = Z_LVAL_PP(tmp);
- }
- }
-
- if (zend_hash_find(ht, "uri", sizeof("uri"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- service->uri = estrndup(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- } else if (wsdl == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid arguments. 'uri' option is required in nonWSDL mode.");
- return;
- }
-
- if (zend_hash_find(ht, "actor", sizeof("actor"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- service->actor = estrndup(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- }
-
- if (zend_hash_find(ht, "encoding", sizeof("encoding"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- xmlCharEncodingHandlerPtr encoding;
-
- encoding = xmlFindCharEncodingHandler(Z_STRVAL_PP(tmp));
- if (encoding == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid arguments. Invalid 'encoding' option - '%s'.", Z_STRVAL_PP(tmp));
- } else {
- service->encoding = encoding;
- }
- }
-
- if (zend_hash_find(ht, "classmap", sizeof("classmap"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_ARRAY) {
- zval *ztmp;
-
- ALLOC_HASHTABLE(service->class_map);
- zend_hash_init(service->class_map, 0, NULL, ZVAL_PTR_DTOR, 0);
- zend_hash_copy(service->class_map, (*tmp)->value.ht, (copy_ctor_func_t) zval_add_ref, (void *) &ztmp, sizeof(zval *));
- }
-
- } else if (wsdl == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid arguments. 'uri' option is required in nonWSDL mode.");
- }
-
- service->version = version;
- service->type = SOAP_FUNCTIONS;
- service->soap_functions.functions_all = FALSE;
- service->soap_functions.ft = emalloc(sizeof(HashTable));
- zend_hash_init(service->soap_functions.ft, 0, NULL, ZVAL_PTR_DTOR, 0);
-
- if (wsdl) {
- service->sdl = get_sdl(this_ptr, Z_STRVAL_P(wsdl) TSRMLS_CC);
- if (service->uri == NULL) {
- if (service->sdl->target_ns) {
- service->uri = estrdup(service->sdl->target_ns);
- } else {
- /*FIXME*/
- service->uri = estrdup("http://unknown-uri/");
- }
- }
- }
-
- ret = zend_list_insert(service, le_service);
- add_property_resource(this_ptr, "service", ret);
- zend_list_addref(ret);
-
- SOAP_SERVER_END_CODE();
-}
-/* }}} */
-
-
-#define NULL_OR_STRING(zval) \
- (!zval || Z_TYPE_P(zval) == IS_NULL || Z_TYPE_P(zval) == IS_STRING)
-
-#define IS_VALID_FUNCTION(zval) \
- (zval && Z_TYPE_P(zval) != IS_NULL)
-
-#ifdef HAVE_PHP_DOMXML
-PHP_FUNCTION(PHP_SOAP_SERVER_CLASS, map)
-{
- char *type, *class_name;
- zval *to_xml_before = NULL, *to_xml = NULL, *to_xml_after = NULL,
- *to_zval_before = NULL, *to_zval = NULL, *to_zval_after = NULL;
- int type_len, class_name_len;
- char *ns, *ctype;
- soapServicePtr service;
-
- SOAP_SERVER_BEGIN_CODE();
-
- if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "sz|zzzzz",
- &type, &type_len, &to_xml_before, &to_xml, &to_xml_after, &to_zval_before, &to_zval,
- &to_zval_after) == SUCCESS && NULL_OR_STRING(to_xml_before) && NULL_OR_STRING(to_xml) &&
- NULL_OR_STRING(to_xml_after) && NULL_OR_STRING(to_zval_before) && NULL_OR_STRING(to_zval) &&
- NULL_OR_STRING(to_zval_after)) {
-
- soapMappingPtr map;
- encodePtr enc, new_enc;
- smart_str resloved_ns = {0};
-
- FETCH_THIS_SERVICE(service);
-
- new_enc = emalloc(sizeof(encode));
- memset(new_enc, 0, sizeof(encode));
-
- ctype = strrchr(type, ':');
- if (ctype) {
- smart_str_appendl(&resloved_ns, type, ctype - type);
- smart_str_0(&resloved_ns);
- ctype++;
- } else {
- ns = NULL;
- }
-
- if (ns) {
- if (zend_hash_find(SOAP_GLOBAL(defEncPrefix), resloved_ns.c, resloved_ns.len + 1, &ns) == SUCCESS) {
- enc = get_encoder(service->sdl, ns, ctype);
- smart_str_free(&resloved_ns);
- smart_str_appendl(&resloved_ns, ns, strlen(ns));
- smart_str_appendc(&resloved_ns, ':');
- smart_str_appendl(&resloved_ns, ctype, strlen(ctype));
- smart_str_0(&resloved_ns);
- type = resloved_ns.c;
- type_len = resloved_ns.len;
- } else {
- enc = get_encoder_ex(service->sdl, type);
- }
- } else {
- enc = get_encoder_ex(service->sdl, type);
- }
-
- new_enc->details.type = enc->details.type;
- new_enc->details.ns = estrdup(enc->details.ns);
- new_enc->details.type_str = estrdup(enc->details.type_str);
- new_enc->details.sdl_type = enc->details.sdl_type;
- new_enc->to_xml = enc->to_xml;
- new_enc->to_zval = enc->to_zval;
- new_enc->to_xml_before = enc->to_xml_before;
- new_enc->to_zval_before = enc->to_zval_before;
- new_enc->to_xml_after = enc->to_xml_after;
- new_enc->to_zval_after = enc->to_zval_after;
-
- map = emalloc(sizeof(soapMapping));
- memset(map, 0, sizeof(soapMapping));
-
- map->type = SOAP_MAP_FUNCTION;
- if (IS_VALID_FUNCTION(to_xml_before)) {
- zval_add_ref(&to_xml_before);
- map->map_functions.to_xml_before = to_xml_before;
- new_enc->to_xml_before = to_xml_before_user;
- }
- if (IS_VALID_FUNCTION(to_xml)) {
- zval_add_ref(&to_xml);
- map->map_functions.to_xml = to_xml;
- new_enc->to_xml = to_xml_user;
- }
- if (IS_VALID_FUNCTION(to_xml_after)) {
- zval_add_ref(&to_xml_after);
- map->map_functions.to_xml_after = to_xml_after;
- new_enc->to_xml_after = to_xml_after_user;
- }
- if (IS_VALID_FUNCTION(to_zval_before)) {
- zval_add_ref(&to_zval_before);
- map->map_functions.to_zval_before = to_zval_before;
- new_enc->to_zval_before = to_zval_before_user;
- }
- if (IS_VALID_FUNCTION(to_zval)) {
- zval_add_ref(&to_zval);
- map->map_functions.to_zval = to_zval;
- new_enc->to_zval = to_zval_user;
- }
- if (IS_VALID_FUNCTION(to_zval_after)) {
- zval_add_ref(&to_zval_after);
- map->map_functions.to_zval_after = to_zval_after;
- new_enc->to_zval_after = to_zval_after_user;
- }
-
- new_enc->details.map = map;
-
- if (!service->mapping) {
- service->mapping = emalloc(sizeof(HashTable));
- zend_hash_init(service->mapping, 0, NULL, delete_encoder, 0);
- }
- zend_hash_update(service->mapping, type, type_len + 1, &new_enc, sizeof(encodePtr), NULL);
- smart_str_free(&resloved_ns);
- } else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "ss|l", &type, &type_len, &class_name, &class_name_len, &type) == SUCCESS) {
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-}
-#endif
-
-
-/* {{{ proto object SoapServer::SoapServer ( mixed wsdl [, array options])
- Sets persistence mode of SoapServer */
-PHP_METHOD(SoapServer, setPersistence)
-{
- soapServicePtr service;
- long value;
-
- SOAP_SERVER_BEGIN_CODE();
-
- FETCH_THIS_SERVICE(service);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &value) != FAILURE) {
- if (service->type == SOAP_CLASS) {
- if (value == SOAP_PERSISTENCE_SESSION ||
- value == SOAP_PERSISTENCE_REQUEST) {
- service->soap_class.persistance = value;
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Tried to set persistence with bogus value (%ld)", value);
- }
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Tried to set persistence when you are using you SOAP SERVER in function mode, no persistence needed");
- }
- }
-
- SOAP_SERVER_END_CODE();
-}
-/* }}} */
-
-
-/* {{{ proto void SoapServer::setClass(string class_name [, mixed args])
- Sets class which will handle SOAP requests */
-PHP_METHOD(SoapServer, setClass)
-{
- soapServicePtr service;
-#ifdef ZEND_ENGINE_2
- zend_class_entry **ce;
-#else
- zend_class_entry *ce;
-#endif
- int found, argc;
- zval ***argv;
-
- SOAP_SERVER_BEGIN_CODE();
-
- FETCH_THIS_SERVICE(service);
-
- argc = ZEND_NUM_ARGS();
- argv = safe_emalloc(argc, sizeof(zval **), 0);
-
- if (argc < 1 || zend_get_parameters_array_ex(argc, argv) == FAILURE) {
- efree(argv);
- WRONG_PARAM_COUNT;
- }
-
- if (Z_TYPE_PP(argv[0]) == IS_STRING) {
-#ifdef ZEND_ENGINE_2
- found = zend_lookup_class(Z_STRVAL_PP(argv[0]), Z_STRLEN_PP(argv[0]), &ce TSRMLS_CC);
-#else
- char *class_name = estrdup(Z_STRVAL_PP(argv[0]));
- found = zend_hash_find(EG(class_table), php_strtolower(class_name, Z_STRLEN_PP(argv[0])), Z_STRLEN_PP(argv[0]) + 1, (void **)&ce);
- efree(class_name);
-#endif
- if (found != FAILURE) {
- service->type = SOAP_CLASS;
-#ifdef ZEND_ENGINE_2
- service->soap_class.ce = *ce;
-#else
- service->soap_class.ce = ce;
-#endif
- service->soap_class.persistance = SOAP_PERSISTENCE_REQUEST;
- service->soap_class.argc = argc - 1;
- if (service->soap_class.argc > 0) {
- int i;
- service->soap_class.argv = safe_emalloc(sizeof(zval), service->soap_class.argc, 0);
- for (i = 0;i < service->soap_class.argc;i++) {
- service->soap_class.argv[i] = *(argv[i + 1]);
- zval_add_ref(&service->soap_class.argv[i]);
- }
- }
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Tried to set a non existant class (%s)", Z_STRVAL_PP(argv[0]));
- }
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "You must pass in a string");
- }
-
- efree(argv);
-
- SOAP_SERVER_END_CODE();
-}
-/* }}} */
-
-
-/* {{{ proto array SoapServer::getFunctions(void)
- Returns list of defined functions */
-PHP_METHOD(SoapServer, getFunctions)
-{
- soapServicePtr service;
- HashTable *ft = NULL;
-
- SOAP_SERVER_BEGIN_CODE();
-
- ZERO_PARAM()
- FETCH_THIS_SERVICE(service);
-
- array_init(return_value);
- if (service->type == SOAP_CLASS) {
- ft = &service->soap_class.ce->function_table;
- } else if (service->soap_functions.functions_all == TRUE) {
- ft = EG(function_table);
- } else if (service->soap_functions.ft != NULL) {
- zval **name;
- HashPosition pos;
-
- zend_hash_internal_pointer_reset_ex(service->soap_functions.ft, &pos);
- while (zend_hash_get_current_data_ex(service->soap_functions.ft, (void **)&name, &pos) != FAILURE) {
- add_next_index_string(return_value, Z_STRVAL_PP(name), 1);
- zend_hash_move_forward_ex(service->soap_functions.ft, &pos);
- }
- }
- if (ft != NULL) {
- zend_function *f;
- HashPosition pos;
- zend_hash_internal_pointer_reset_ex(ft, &pos);
- while (zend_hash_get_current_data_ex(ft, (void **)&f, &pos) != FAILURE) {
- if ((service->type != SOAP_CLASS) || (f->common.fn_flags & ZEND_ACC_PUBLIC)) {
- add_next_index_string(return_value, f->common.function_name, 1);
- }
- zend_hash_move_forward_ex(ft, &pos);
- }
- }
-
- SOAP_SERVER_END_CODE();
-}
-/* }}} */
-
-
-/* {{{ proto void SoapServer::addFunction(mixed functions)
- Adds one or several functions those will handle SOAP requests */
-PHP_METHOD(SoapServer, addFunction)
-{
- soapServicePtr service;
- zval *function_name, *function_copy;
- HashPosition pos;
-
- SOAP_SERVER_BEGIN_CODE();
-
- FETCH_THIS_SERVICE(service);
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &function_name) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-
- /* TODO: could use zend_is_callable here */
-
- if (function_name->type == IS_ARRAY) {
- if (service->type == SOAP_FUNCTIONS) {
- zval **tmp_function, *function_copy;
-
- if (service->soap_functions.ft == NULL) {
- service->soap_functions.functions_all = FALSE;
- service->soap_functions.ft = emalloc(sizeof(HashTable));
- zend_hash_init(service->soap_functions.ft, 0, NULL, ZVAL_PTR_DTOR, 0);
- }
-
- zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(function_name), &pos);
- while (zend_hash_get_current_data_ex(Z_ARRVAL_P(function_name), (void **)&tmp_function, &pos) != FAILURE) {
- char *key;
- int key_len;
- zend_function *f;
-
- if (Z_TYPE_PP(tmp_function) != IS_STRING) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Tried to add a function that isn't a string");
- }
-
- key_len = Z_STRLEN_PP(tmp_function);
- key = emalloc(key_len + 1);
- zend_str_tolower_copy(key, Z_STRVAL_PP(tmp_function), key_len);
-
- if (zend_hash_find(EG(function_table), key, key_len+1, (void**)&f) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Tried to add a non existant function '%s'", Z_STRVAL_PP(tmp_function));
- }
-
- MAKE_STD_ZVAL(function_copy);
- ZVAL_STRING(function_copy, f->common.function_name, 1);
- zend_hash_update(service->soap_functions.ft, key, key_len+1, &function_copy, sizeof(zval *), NULL);
-
- efree(key);
- zend_hash_move_forward_ex(Z_ARRVAL_P(function_name), &pos);
- }
- }
- } else if (function_name->type == IS_STRING) {
- char *key;
- int key_len;
- zend_function *f;
-
- key_len = Z_STRLEN_P(function_name);
- key = emalloc(key_len + 1);
- zend_str_tolower_copy(key, Z_STRVAL_P(function_name), key_len);
-
- if (zend_hash_find(EG(function_table), key, key_len+1, (void**)&f) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Tried to add a non existant function '%s'", Z_STRVAL_P(function_name));
- }
- if (service->soap_functions.ft == NULL) {
- service->soap_functions.functions_all = FALSE;
- service->soap_functions.ft = emalloc(sizeof(HashTable));
- zend_hash_init(service->soap_functions.ft, 0, NULL, ZVAL_PTR_DTOR, 0);
- }
-
- MAKE_STD_ZVAL(function_copy);
- ZVAL_STRING(function_copy, f->common.function_name, 1);
- zend_hash_update(service->soap_functions.ft, key, key_len+1, &function_copy, sizeof(zval *), NULL);
- efree(key);
- } else if (function_name->type == IS_LONG) {
- if (Z_LVAL_P(function_name) == SOAP_FUNCTIONS_ALL) {
- if (service->soap_functions.ft != NULL) {
- zend_hash_destroy(service->soap_functions.ft);
- efree(service->soap_functions.ft);
- service->soap_functions.ft = NULL;
- }
- service->soap_functions.functions_all = TRUE;
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid value passed");
- }
- }
-
- SOAP_SERVER_END_CODE();
-}
-/* }}} */
-
-
-/* {{{ proto void SoapServer::handle ( [string soap_request])
- Handles a SOAP request */
-PHP_METHOD(SoapServer, handle)
-{
- int soap_version, old_soap_version;
- sdlPtr old_sdl = NULL;
- soapServicePtr service;
- xmlDocPtr doc_request=NULL, doc_return;
- zval function_name, **params, **raw_post, *soap_obj, retval, **server_vars;
- char *fn_name, cont_len[30];
- int num_params = 0, size, i, call_status = 0;
- xmlChar *buf;
- HashTable *function_table;
- soapHeader *soap_headers;
- sdlFunctionPtr function;
- char *arg = NULL;
- int arg_len;
- xmlCharEncodingHandlerPtr old_encoding;
- HashTable *old_class_map;
-
- SOAP_SERVER_BEGIN_CODE();
-
- FETCH_THIS_SERVICE(service);
- SOAP_GLOBAL(soap_version) = service->version;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s", &arg, &arg_len) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
- INIT_ZVAL(retval);
-
- if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **)&server_vars) == SUCCESS) {
- zval **req_method, **query_string;
- if (zend_hash_find(Z_ARRVAL_PP(server_vars), "REQUEST_METHOD", sizeof("REQUEST_METHOD"), (void **)&req_method) == SUCCESS) {
- if (!strcmp(Z_STRVAL_PP(req_method), "GET") && zend_hash_find(Z_ARRVAL_PP(server_vars), "QUERY_STRING", sizeof("QUERY_STRING"), (void **)&query_string) == SUCCESS) {
- if (stricmp(Z_STRVAL_PP(query_string), "wsdl") == 0) {
- if (service->sdl) {
-/*
- char *hdr = emalloc(sizeof("Location: ")+strlen(service->sdl->source));
- strcpy(hdr,"Location: ");
- strcat(hdr,service->sdl->source);
- sapi_add_header(hdr, sizeof("Location: ")+strlen(service->sdl->source)-1, 1);
- efree(hdr);
-*/
- zval readfile, readfile_ret, *param;
-
- INIT_ZVAL(readfile);
- INIT_ZVAL(readfile_ret);
- MAKE_STD_ZVAL(param);
-
- sapi_add_header("Content-Type: text/xml; charset=utf-8", sizeof("Content-Type: text/xml; charset=utf-8")-1, 1);
- ZVAL_STRING(param, service->sdl->source, 1);
- ZVAL_STRING(&readfile, "readfile", 1);
- if (call_user_function(EG(function_table), NULL, &readfile, &readfile_ret, 1, &param TSRMLS_CC) == FAILURE) {
- soap_server_fault("Server", "Couldn't find WSDL", NULL, NULL, NULL TSRMLS_CC);
- }
-
- zval_ptr_dtor(&param);
- zval_dtor(&readfile);
- zval_dtor(&readfile_ret);
-
- SOAP_SERVER_END_CODE();
- return;
- } else {
- soap_server_fault("Server", "WSDL generation is not supported yet", NULL, NULL, NULL TSRMLS_CC);
-/*
- sapi_add_header("Content-Type: text/xml; charset=utf-8", sizeof("Content-Type: text/xml; charset=utf-8"), 1);
- PUTS("<?xml version=\"1.0\" ?>\n<definitions\n");
- PUTS(" xmlns=\"http://schemas.xmlsoap.org/wsdl/\"\n");
- PUTS(" targetNamespace=\"");
- PUTS(service->uri);
- PUTS("\">\n");
- PUTS("</definitions>");
-*/
- SOAP_SERVER_END_CODE();
- return;
- }
- }
- }
- }
- }
-
- if (php_start_ob_buffer(NULL, 0, 0 TSRMLS_CC) != SUCCESS) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR,"ob_start failed");
- }
-
- if (ZEND_NUM_ARGS() == 0) {
- if (zend_hash_find(&EG(symbol_table), HTTP_RAW_POST_DATA, sizeof(HTTP_RAW_POST_DATA), (void **) &raw_post)!=FAILURE
- && ((*raw_post)->type==IS_STRING)) {
- zval **server_vars, **encoding;
-
- if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &server_vars) == SUCCESS &&
- Z_TYPE_PP(server_vars) == IS_ARRAY &&
- zend_hash_find(Z_ARRVAL_PP(server_vars), "HTTP_CONTENT_ENCODING", sizeof("HTTP_CONTENT_ENCODING"), (void **) &encoding)==SUCCESS &&
- Z_TYPE_PP(encoding) == IS_STRING) {
- zval func;
- zval retval;
- zval param;
- zval *params[1];
-
- if ((strcmp(Z_STRVAL_PP(encoding),"gzip") == 0 ||
- strcmp(Z_STRVAL_PP(encoding),"x-gzip") == 0) &&
- zend_hash_exists(EG(function_table), "gzinflate", sizeof("gzinflate"))) {
- ZVAL_STRING(&func, "gzinflate", 0);
- params[0] = &param;
- ZVAL_STRINGL(params[0], Z_STRVAL_PP(raw_post)+10, Z_STRLEN_PP(raw_post)-10, 0);
- INIT_PZVAL(params[0]);
- } else if (strcmp(Z_STRVAL_PP(encoding),"deflate") == 0 &&
- zend_hash_exists(EG(function_table), "gzuncompress", sizeof("gzuncompress"))) {
- ZVAL_STRING(&func, "gzuncompress", 0);
- params[0] = &param;
- ZVAL_STRINGL(params[0], Z_STRVAL_PP(raw_post), Z_STRLEN_PP(raw_post), 0);
- INIT_PZVAL(params[0]);
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR,"Request is compressed with unknown compression '%s'",Z_STRVAL_PP(encoding));
- }
- if (call_user_function(CG(function_table), (zval**)NULL, &func, &retval, 1, params TSRMLS_CC) == SUCCESS &&
- Z_TYPE(retval) == IS_STRING) {
- doc_request = soap_xmlParseMemory(Z_STRVAL(retval),Z_STRLEN(retval));
- zval_dtor(&retval);
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR,"Can't uncompress compressed request");
- }
- } else {
- doc_request = soap_xmlParseMemory(Z_STRVAL_PP(raw_post),Z_STRLEN_PP(raw_post));
- }
- } else {
- if (zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **)&server_vars) == SUCCESS) {
- zval **req_method;
- if (zend_hash_find(Z_ARRVAL_PP(server_vars), "REQUEST_METHOD", sizeof("REQUEST_METHOD"), (void **)&req_method) == SUCCESS) {
- if (!strcmp(Z_STRVAL_PP(req_method), "POST")) {
- if (!zend_ini_long("always_populate_raw_post_data", sizeof("always_populate_raw_post_data"), 0)) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "PHP-SOAP requires 'always_populate_raw_post_data' to be on please check your php.ini file");
- }
- }
- }
- }
- soap_server_fault("Server", "Bad Request. Can't find HTTP_RAW_POST_DATA", NULL, NULL, NULL TSRMLS_CC);
- return;
- }
- } else {
- doc_request = soap_xmlParseMemory(arg,arg_len);
- }
-
- if (doc_request == NULL) {
- soap_server_fault("Client", "Bad Request", NULL, NULL, NULL TSRMLS_CC);
- }
- if (xmlGetIntSubset(doc_request) != NULL) {
- xmlNodePtr env = get_node(doc_request->children,"Envelope");
- if (env && env->ns) {
- if (strcmp(env->ns->href,SOAP_1_1_ENV_NAMESPACE) == 0) {
- SOAP_GLOBAL(soap_version) = SOAP_1_1;
- } else if (strcmp(env->ns->href,SOAP_1_2_ENV_NAMESPACE) == 0) {
- SOAP_GLOBAL(soap_version) = SOAP_1_2;
- }
- }
- xmlFreeDoc(doc_request);
- soap_server_fault("Server", "DTD are not supported by SOAP", NULL, NULL, NULL TSRMLS_CC);
- }
-
- old_sdl = SOAP_GLOBAL(sdl);
- SOAP_GLOBAL(sdl) = service->sdl;
- old_encoding = SOAP_GLOBAL(encoding);
- SOAP_GLOBAL(encoding) = service->encoding;
- old_class_map = SOAP_GLOBAL(class_map);
- SOAP_GLOBAL(class_map) = service->class_map;
- old_soap_version = SOAP_GLOBAL(soap_version);
- function = deserialize_function_call(service->sdl, doc_request, service->actor, &function_name, &num_params, &params, &soap_version, &soap_headers TSRMLS_CC);
- xmlFreeDoc(doc_request);
-
- if (service->type == SOAP_CLASS) {
- soap_obj = NULL;
-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
- /* If persistent then set soap_obj from from the previous created session (if available) */
- if (service->soap_class.persistance == SOAP_PERSISTENCE_SESSION) {
- zval **tmp_soap;
-
- if (PS(session_status) != php_session_active &&
- PS(session_status) != php_session_disabled) {
- php_session_start(TSRMLS_C);
- }
-
- /* Find the soap object and assign */
- if (zend_hash_find(Z_ARRVAL_P(PS(http_session_vars)), "_bogus_session_name", sizeof("_bogus_session_name"), (void **) &tmp_soap) == SUCCESS &&
- Z_TYPE_PP(tmp_soap) == IS_OBJECT &&
- Z_OBJCE_PP(tmp_soap) == service->soap_class.ce) {
- soap_obj = *tmp_soap;
- }
- }
-#endif
- /* If new session or something wierd happned */
- if (soap_obj == NULL) {
- zval *tmp_soap;
-
- MAKE_STD_ZVAL(tmp_soap);
- object_init_ex(tmp_soap, service->soap_class.ce);
-
- /* Call constructor */
-#ifdef ZEND_ENGINE_2
- if (zend_hash_exists(&Z_OBJCE_P(tmp_soap)->function_table, ZEND_CONSTRUCTOR_FUNC_NAME, sizeof(ZEND_CONSTRUCTOR_FUNC_NAME))) {
- zval c_ret, constructor;
-
- INIT_ZVAL(c_ret);
- INIT_ZVAL(constructor);
-
- ZVAL_STRING(&constructor, ZEND_CONSTRUCTOR_FUNC_NAME, 1);
- if (call_user_function(NULL, &tmp_soap, &constructor, &c_ret, service->soap_class.argc, service->soap_class.argv TSRMLS_CC) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Error calling constructor");
- }
- if (EG(exception)) {
- if (Z_TYPE_P(EG(exception)) == IS_OBJECT &&
- Z_OBJCE_P(EG(exception)) == soap_fault_class_entry) {
- soap_server_fault_ex(function, EG(exception), NULL TSRMLS_CC);
- } else {
- zval_dtor(&constructor);
- zval_dtor(&c_ret);
- zval_ptr_dtor(&tmp_soap);
- php_end_ob_buffer(0, 0 TSRMLS_CC);
- goto fail;
- }
- }
- zval_dtor(&constructor);
- zval_dtor(&c_ret);
- } else {
-#else
- {
-#endif
- int class_name_len = strlen(service->soap_class.ce->name);
- char *class_name = emalloc(class_name_len+1);
-
- memcpy(class_name, service->soap_class.ce->name,class_name_len+1);
- if (zend_hash_exists(&Z_OBJCE_P(tmp_soap)->function_table, php_strtolower(class_name, class_name_len), class_name_len+1)) {
- zval c_ret, constructor;
-
- INIT_ZVAL(c_ret);
- INIT_ZVAL(constructor);
-
- ZVAL_STRING(&constructor, service->soap_class.ce->name, 1);
- if (call_user_function(NULL, &tmp_soap, &constructor, &c_ret, service->soap_class.argc, service->soap_class.argv TSRMLS_CC) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Error calling constructor");
- }
-#ifdef ZEND_ENGINE_2
- if (EG(exception)) {
- if (Z_TYPE_P(EG(exception)) == IS_OBJECT &&
- Z_OBJCE_P(EG(exception)) == soap_fault_class_entry) {
- soap_server_fault_ex(function, EG(exception), NULL TSRMLS_CC);
- } else {
- zval_dtor(&constructor);
- zval_dtor(&c_ret);
- efree(class_name);
- zval_ptr_dtor(&tmp_soap);
- php_end_ob_buffer(0, 0 TSRMLS_CC);
- goto fail;
- }
- }
-#endif
- zval_dtor(&constructor);
- zval_dtor(&c_ret);
- }
- efree(class_name);
- }
-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
- /* If session then update session hash with new object */
- if (service->soap_class.persistance == SOAP_PERSISTENCE_SESSION) {
- zval **tmp_soap_pp;
- if (zend_hash_update(Z_ARRVAL_P(PS(http_session_vars)), "_bogus_session_name", sizeof("_bogus_session_name"), &tmp_soap, sizeof(zval *), (void **)&tmp_soap_pp) == SUCCESS) {
- soap_obj = *tmp_soap_pp;
- }
- } else {
- soap_obj = tmp_soap;
- }
-#else
- soap_obj = tmp_soap;
-#endif
-
- }
-/* function_table = &(soap_obj->value.obj.ce->function_table);*/
- function_table = &((Z_OBJCE_P(soap_obj))->function_table);
- } else {
- if (service->soap_functions.functions_all == TRUE) {
- function_table = EG(function_table);
- } else {
- function_table = service->soap_functions.ft;
- }
- }
-
- doc_return = NULL;
-
- /* Process soap headers */
- if (soap_headers != NULL) {
- soapHeader *header = soap_headers;
- while (header != NULL) {
- soapHeader *h = header;
-
- header = header->next;
- if (service->sdl && !h->function && !h->hdr) {
- if (h->mustUnderstand) {
- soap_server_fault("MustUnderstand","Header not understood", NULL, NULL, NULL TSRMLS_CC);
- } else {
- continue;
- }
- }
-
- fn_name = estrndup(Z_STRVAL(h->function_name),Z_STRLEN(h->function_name));
- if (zend_hash_exists(function_table, php_strtolower(fn_name, Z_STRLEN(h->function_name)), Z_STRLEN(h->function_name) + 1)) {
- if (service->type == SOAP_CLASS) {
- call_status = call_user_function(NULL, &soap_obj, &h->function_name, &h->retval, h->num_params, h->parameters TSRMLS_CC);
- } else {
- call_status = call_user_function(EG(function_table), NULL, &h->function_name, &h->retval, h->num_params, h->parameters TSRMLS_CC);
- }
- if (call_status != SUCCESS) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Function '%s' call failed", Z_STRVAL(h->function_name));
- }
- if (Z_TYPE(h->retval) == IS_OBJECT &&
- Z_OBJCE(h->retval) == soap_fault_class_entry) {
- zval *headerfault = NULL, **tmp;
-
- if (zend_hash_find(Z_OBJPROP(h->retval), "headerfault", sizeof("headerfault"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) != IS_NULL) {
- headerfault = *tmp;
- }
- soap_server_fault_ex(function, &h->retval, h TSRMLS_CC);
-#ifdef ZEND_ENGINE_2
- } else if (EG(exception)) {
- if (Z_TYPE_P(EG(exception)) == IS_OBJECT &&
- Z_OBJCE_P(EG(exception)) == soap_fault_class_entry) {
- zval *headerfault = NULL, **tmp;
-
- if (zend_hash_find(Z_OBJPROP_P(EG(exception)), "headerfault", sizeof("headerfault"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) != IS_NULL) {
- headerfault = *tmp;
- }
- soap_server_fault_ex(function, EG(exception), h TSRMLS_CC);
- } else {
- efree(fn_name);
- if (soap_obj) {zval_ptr_dtor(&soap_obj);}
- php_end_ob_buffer(0, 0 TSRMLS_CC);
- goto fail;
- }
-#endif
- }
- } else if (h->mustUnderstand) {
- soap_server_fault("MustUnderstand","Header not understood", NULL, NULL, NULL TSRMLS_CC);
- }
- efree(fn_name);
- }
- }
-
- fn_name = estrndup(Z_STRVAL(function_name),Z_STRLEN(function_name));
- if (zend_hash_exists(function_table, php_strtolower(fn_name, Z_STRLEN(function_name)), Z_STRLEN(function_name) + 1) ||
- (service->type == SOAP_CLASS &&
- zend_hash_exists(function_table, ZEND_CALL_FUNC_NAME, sizeof(ZEND_CALL_FUNC_NAME)))) {
- if (service->type == SOAP_CLASS) {
- call_status = call_user_function(NULL, &soap_obj, &function_name, &retval, num_params, params TSRMLS_CC);
-#if HAVE_PHP_SESSION && !defined(COMPILE_DL_SESSION)
- if (service->soap_class.persistance != SOAP_PERSISTENCE_SESSION) {
- zval_ptr_dtor(&soap_obj);
- }
-#else
- zval_ptr_dtor(&soap_obj);
-#endif
- } else {
- call_status = call_user_function(EG(function_table), NULL, &function_name, &retval, num_params, params TSRMLS_CC);
- }
- } else {
- php_error(E_ERROR, "Function '%s' doesn't exist", Z_STRVAL(function_name));
- }
- efree(fn_name);
-
-#ifdef ZEND_ENGINE_2
- if (EG(exception)) {
- if (Z_TYPE_P(EG(exception)) == IS_OBJECT &&
- Z_OBJCE_P(EG(exception)) == soap_fault_class_entry) {
- soap_server_fault_ex(function, EG(exception), NULL TSRMLS_CC);
- } else {
- if (soap_obj) {zval_ptr_dtor(&soap_obj);}
- php_end_ob_buffer(0, 0 TSRMLS_CC);
- goto fail;
- }
- }
-#endif
- if (call_status == SUCCESS) {
- char *response_name;
-
- if (Z_TYPE(retval) == IS_OBJECT &&
- Z_OBJCE(retval) == soap_fault_class_entry) {
- soap_server_fault_ex(function, &retval, NULL TSRMLS_CC);
- }
-
- if (function && function->responseName) {
- response_name = estrdup(function->responseName);
- } else {
- response_name = emalloc(Z_STRLEN(function_name) + sizeof("Response"));
- memcpy(response_name,Z_STRVAL(function_name),Z_STRLEN(function_name));
- memcpy(response_name+Z_STRLEN(function_name),"Response",sizeof("Response"));
- }
- SOAP_GLOBAL(overrides) = service->mapping;
- doc_return = serialize_response_call(function, response_name, service->uri, &retval, soap_headers, soap_version TSRMLS_CC);
- SOAP_GLOBAL(overrides) = NULL;
- efree(response_name);
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Function '%s' call failed", Z_STRVAL(function_name));
- }
-
- /* Flush buffer */
- php_end_ob_buffer(0, 0 TSRMLS_CC);
-
- if (doc_return) {
- /* xmlDocDumpMemoryEnc(doc_return, &buf, &size, XML_CHAR_ENCODING_UTF8); */
- xmlDocDumpMemory(doc_return, &buf, &size);
-
- if (size == 0) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Dump memory failed");
- }
-
- sprintf(cont_len, "Content-Length: %d", size);
- sapi_add_header(cont_len, strlen(cont_len), 1);
- if (soap_version == SOAP_1_2) {
- sapi_add_header("Content-Type: application/soap+xml; charset=utf-8", sizeof("Content-Type: application/soap+xml; charset=utf-8")-1, 1);
- } else {
- sapi_add_header("Content-Type: text/xml; charset=utf-8", sizeof("Content-Type: text/xml; charset=utf-8")-1, 1);
- }
-
- xmlFreeDoc(doc_return);
- php_write(buf, size TSRMLS_CC);
- xmlFree(buf);
- } else {
- sapi_add_header("HTTP/1.1 202 Accepted", sizeof("HTTP/1.1 202 Accepted")-1, 1);
- sapi_add_header("Content-Length: 0", sizeof("Content-Length: 0")-1, 1);
- }
-
-fail:
- SOAP_GLOBAL(soap_version) = old_soap_version;
- SOAP_GLOBAL(encoding) = old_encoding;
- SOAP_GLOBAL(sdl) = old_sdl;
- SOAP_GLOBAL(class_map) = old_class_map;
-
- /* Free soap headers */
- zval_dtor(&retval);
- while (soap_headers != NULL) {
- soapHeader *h = soap_headers;
- int i;
-
- soap_headers = soap_headers->next;
- i = h->num_params;
- while (i > 0) {
- zval_ptr_dtor(&h->parameters[--i]);
- }
- efree(h->parameters);
- zval_dtor(&h->function_name);
- zval_dtor(&h->retval);
- efree(h);
- }
-
- /* Free Memory */
- if (num_params > 0) {
- for (i = 0; i < num_params;i++) {
- zval_ptr_dtor(&params[i]);
- }
- efree(params);
- }
- zval_dtor(&function_name);
-
- SOAP_SERVER_END_CODE();
-}
-/* }}} */
-
-
-/* {{{ proto SoapServer::fault
- SoapServer::fault */
-PHP_METHOD(SoapServer, fault)
-{
- char *code, *string, *actor=NULL, *name=NULL;
- int code_len, string_len, actor_len, name_len;
- zval* details = NULL;
-
- SOAP_SERVER_BEGIN_CODE();
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|szs",
- &code, &code_len, &string, &string_len, &actor, &actor_len, &details,
- &name, &name_len) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-
- soap_server_fault(code, string, actor, details, name TSRMLS_CC);
- SOAP_SERVER_END_CODE();
-}
-/* }}} */
-
-static void soap_server_fault_ex(sdlFunctionPtr function, zval* fault, soapHeader *hdr TSRMLS_DC)
-{
- int soap_version;
- xmlChar *buf, cont_len[30];
- int size;
- xmlDocPtr doc_return;
-
- soap_version = SOAP_GLOBAL(soap_version);
-
- doc_return = serialize_response_call(function, NULL, NULL, fault, hdr, soap_version TSRMLS_CC);
-
- xmlDocDumpMemory(doc_return, &buf, &size);
-
- /*
- Want to return HTTP 500 but apache wants to over write
- our fault code with their own handling... Figure this out later
- */
- sapi_add_header("HTTP/1.1 500 Internal Service Error", sizeof("HTTP/1.1 500 Internal Service Error")-1, 1);
- sprintf(cont_len,"Content-Length: %d", size);
- sapi_add_header(cont_len, strlen(cont_len), 1);
- if (soap_version == SOAP_1_2) {
- sapi_add_header("Content-Type: application/soap+xml; charset=utf-8", sizeof("Content-Type: application/soap+xml; charset=utf-8")-1, 1);
- } else {
- sapi_add_header("Content-Type: text/xml; charset=utf-8", sizeof("Content-Type: text/xml; charset=utf-8")-1, 1);
- }
- php_write(buf, size TSRMLS_CC);
-
- xmlFreeDoc(doc_return);
- xmlFree(buf);
- zend_clear_exception(TSRMLS_C);
- zend_bailout();
-}
-
-static void soap_server_fault(char* code, char* string, char *actor, zval* details, char* name TSRMLS_DC)
-{
- zval ret;
-
- INIT_ZVAL(ret);
-
- set_soap_fault(&ret, NULL, code, string, actor, details, name TSRMLS_CC);
- /* TODO: Which function */
- soap_server_fault_ex(NULL, &ret, NULL TSRMLS_CC);
-}
-
-static void soap_error_handler(int error_num, const char *error_filename, const uint error_lineno, const char *format, va_list args)
-{
- zend_bool _old_in_compilation, _old_in_execution;
- zend_execute_data *_old_current_execute_data;
- TSRMLS_FETCH();
-
- _old_in_compilation = CG(in_compilation);
- _old_in_execution = EG(in_execution);
- _old_current_execute_data = EG(current_execute_data);
-
- if (!SOAP_GLOBAL(use_soap_error_handler)) {
- call_old_error_handler(error_num, error_filename, error_lineno, format, args);
- return;
- }
-
- if (SOAP_GLOBAL(error_object) &&
- Z_TYPE_P(SOAP_GLOBAL(error_object)) == IS_OBJECT &&
- instanceof_function(Z_OBJCE_P(SOAP_GLOBAL(error_object)), soap_class_entry TSRMLS_CC)) {
-#ifdef ZEND_ENGINE_2
- zval **tmp;
-
- if ((error_num == E_USER_ERROR ||
- error_num == E_COMPILE_ERROR ||
- error_num == E_CORE_ERROR ||
- error_num == E_ERROR ||
- error_num == E_PARSE) &&
- (zend_hash_find(Z_OBJPROP_P(SOAP_GLOBAL(error_object)), "_exceptions", sizeof("_exceptions"), (void **) &tmp) != SUCCESS ||
- Z_TYPE_PP(tmp) != IS_BOOL || Z_LVAL_PP(tmp) != 0)) {
- zval *fault, *exception;
- char* code = SOAP_GLOBAL(error_code);
- char buffer[1024];
- int buffer_len;
- zval outbuf, outbuflen;
- va_list argcopy;
- int old = PG(display_errors);
-
- INIT_ZVAL(outbuf);
- INIT_ZVAL(outbuflen);
-#ifdef va_copy
- va_copy(argcopy, args);
- buffer_len = vsnprintf(buffer, sizeof(buffer)-1, format, argcopy);
- va_end(argcopy);
-#else
- buffer_len = vsnprintf(buffer, sizeof(buffer)-1, format, args);
-#endif
- buffer[sizeof(buffer)-1]=0;
- if (buffer_len > sizeof(buffer) - 1 || buffer_len < 0) {
- buffer_len = sizeof(buffer) - 1;
- }
-
- if (code == NULL) {
- code = "Client";
- }
- fault = add_soap_fault(SOAP_GLOBAL(error_object), code, buffer, NULL, NULL TSRMLS_CC);
- MAKE_STD_ZVAL(exception);
- *exception = *fault;
- zval_copy_ctor(exception);
- INIT_PZVAL(exception);
- zend_throw_exception_object(exception TSRMLS_CC);
-
- PG(display_errors) = 0;
- zend_try {
- call_old_error_handler(error_num, error_filename, error_lineno, format, args);
- } zend_catch {
- CG(in_compilation) = _old_in_compilation;
- EG(in_execution) = _old_in_execution;
- EG(current_execute_data) = _old_current_execute_data;
- } zend_end_try();
- PG(display_errors) = old;
- zend_bailout();
- } else {
- call_old_error_handler(error_num, error_filename, error_lineno, format, args);
- }
-#else
- call_old_error_handler(error_num, error_filename, error_lineno, format, args);
-#endif
- } else {
- int old = PG(display_errors);
- int fault = 0;
- zval fault_obj;
- va_list argcopy;
-
- if (error_num == E_USER_ERROR ||
- error_num == E_COMPILE_ERROR ||
- error_num == E_CORE_ERROR ||
- error_num == E_ERROR ||
- error_num == E_PARSE) {
-
- char* code = SOAP_GLOBAL(error_code);
- char buffer[1024];
- int buffer_len;
- zval *outbuf = NULL;
- zval outbuflen;
-
- INIT_ZVAL(outbuflen);
-
-#ifdef va_copy
- va_copy(argcopy, args);
- buffer_len = vsnprintf(buffer, sizeof(buffer)-1, format, argcopy);
- va_end(argcopy);
-#else
- buffer_len = vsnprintf(buffer, sizeof(buffer)-1, format, args);
-#endif
- buffer[sizeof(buffer)-1]=0;
- if (buffer_len > sizeof(buffer) - 1 || buffer_len < 0) {
- buffer_len = sizeof(buffer) - 1;
- }
-
- if (code == NULL) {
- code = "Server";
- }
- /* Get output buffer and send as fault detials */
- if (php_ob_get_length(&outbuflen TSRMLS_CC) != FAILURE && Z_LVAL(outbuflen) != 0) {
- ALLOC_INIT_ZVAL(outbuf);
- php_ob_get_buffer(outbuf TSRMLS_CC);
- }
- php_end_ob_buffer(0, 0 TSRMLS_CC);
-
- INIT_ZVAL(fault_obj);
- set_soap_fault(&fault_obj, NULL, code, buffer, NULL, outbuf, NULL TSRMLS_CC);
- fault = 1;
- }
-
- PG(display_errors) = 0;
- zend_try {
- call_old_error_handler(error_num, error_filename, error_lineno, format, args);
- } zend_catch {
- CG(in_compilation) = _old_in_compilation;
- EG(in_execution) = _old_in_execution;
- EG(current_execute_data) = _old_current_execute_data;
- } zend_end_try();
- PG(display_errors) = old;
-
- if (fault) {
- soap_server_fault_ex(NULL, &fault_obj, NULL TSRMLS_CC);
- }
- }
-}
-
-PHP_FUNCTION(use_soap_error_handler)
-{
- zend_bool handler = 1;
-
- ZVAL_BOOL(return_value, SOAP_GLOBAL(use_soap_error_handler));
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &handler) == SUCCESS) {
- SOAP_GLOBAL(use_soap_error_handler) = handler;
- }
-}
-
-PHP_FUNCTION(is_soap_fault)
-{
- zval *fault;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &fault) == SUCCESS &&
- Z_TYPE_P(fault) == IS_OBJECT &&
- Z_OBJCE_P(fault) == soap_fault_class_entry) {
- RETURN_TRUE;
- }
- RETURN_FALSE
-}
-
-/* SoapClient functions */
-
-/* {{{ proto object SoapClient::SoapClient ( mixed wsdl [, array options])
- SoapClient constructor */
-PHP_METHOD(SoapClient, SoapClient)
-{
-
- zval *wsdl;
- zval *options = NULL;
- int soap_version = SOAP_1_1;
- php_stream_context *context = NULL;
-
- SOAP_CLIENT_BEGIN_CODE();
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z|a", &wsdl, &options) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- return;
- }
-
- if (Z_TYPE_P(wsdl) == IS_STRING) {
- } else if (Z_TYPE_P(wsdl) != IS_NULL ) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "$wsdl must be string or null");
- return;
- } else {
- wsdl = NULL;
- }
- if (options != NULL) {
- HashTable *ht = Z_ARRVAL_P(options);
- zval **tmp;
-
- if (wsdl == NULL) {
- /* Fetching non-WSDL mode options */
- if (zend_hash_find(ht, "uri", sizeof("uri"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- add_property_stringl(this_ptr, "uri", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- } else {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "'uri' option is requred in nonWSDL mode");
- return;
- }
-
- if (zend_hash_find(ht, "style", sizeof("style"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_LONG &&
- (Z_LVAL_PP(tmp) == SOAP_RPC || Z_LVAL_PP(tmp) == SOAP_DOCUMENT)) {
- add_property_long(this_ptr, "style", Z_LVAL_PP(tmp));
- }
-
- if (zend_hash_find(ht, "use", sizeof("use"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_LONG &&
- (Z_LVAL_PP(tmp) == SOAP_LITERAL || Z_LVAL_PP(tmp) == SOAP_ENCODED)) {
- add_property_long(this_ptr, "use", Z_LVAL_PP(tmp));
- }
- }
-
- if (zend_hash_find(ht, "stream_context", sizeof("stream_context"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_RESOURCE) {
- context = php_stream_context_from_zval(*tmp, 1);
- }
-
- if (zend_hash_find(ht, "location", sizeof("location"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- add_property_stringl(this_ptr, "location", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- } else if (wsdl == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "'location' option is requred in nonWSDL mode");
- return;
- }
-
- if (zend_hash_find(ht, "soap_version", sizeof("soap_version"), (void**)&tmp) == SUCCESS) {
- if (Z_TYPE_PP(tmp) == IS_LONG ||
- (Z_LVAL_PP(tmp) == SOAP_1_1 && Z_LVAL_PP(tmp) == SOAP_1_2)) {
- soap_version = Z_LVAL_PP(tmp);
- }
- }
- if (zend_hash_find(ht, "login", sizeof("login"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- add_property_stringl(this_ptr, "_login", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- if (zend_hash_find(ht, "password", sizeof("password"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- add_property_stringl(this_ptr, "_password", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- }
- if (zend_hash_find(ht, "authentication", sizeof("authentication"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_LONG &&
- Z_LVAL_PP(tmp) == SOAP_AUTHENTICATION_DIGEST) {
- add_property_null(this_ptr, "_digest");
- }
- }
- if (zend_hash_find(ht, "proxy_host", sizeof("proxy_host"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- add_property_stringl(this_ptr, "_proxy_host", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- if (zend_hash_find(ht, "proxy_port", sizeof("proxy_port"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_LONG) {
- add_property_long(this_ptr, "_proxy_port", Z_LVAL_PP(tmp));
- }
- if (zend_hash_find(ht, "proxy_login", sizeof("proxy_login"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- add_property_stringl(this_ptr, "_proxy_login", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- if (zend_hash_find(ht, "proxy_password", sizeof("proxy_password"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- add_property_stringl(this_ptr, "_proxy_password", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- }
- }
- }
- if (zend_hash_find(ht, "local_cert", sizeof("local_cert"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- if (!context) {
- context = php_stream_context_alloc();
- }
- php_stream_context_set_option(context, "ssl", "local_cert", *tmp);
- if (zend_hash_find(ht, "passphrase", sizeof("passphrase"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- php_stream_context_set_option(context, "ssl", "passphrase", *tmp);
- }
- }
- if (zend_hash_find(ht, "trace", sizeof("trace"), (void**)&tmp) == SUCCESS &&
- (Z_TYPE_PP(tmp) == IS_BOOL || Z_TYPE_PP(tmp) == IS_LONG) &&
- Z_LVAL_PP(tmp) == 1) {
- add_property_long(this_ptr, "trace", 1);
- }
-#ifdef ZEND_ENGINE_2
- if (zend_hash_find(ht, "exceptions", sizeof("exceptions"), (void**)&tmp) == SUCCESS &&
- (Z_TYPE_PP(tmp) == IS_BOOL || Z_TYPE_PP(tmp) == IS_LONG) &&
- Z_LVAL_PP(tmp) == 0) {
- add_property_bool(this_ptr, "_exceptions", 0);
- }
-#endif
- if (zend_hash_find(ht, "compression", sizeof("compression"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_LONG &&
- zend_hash_exists(EG(function_table), "gzinflate", sizeof("gzinflate")) &&
- zend_hash_exists(EG(function_table), "gzdeflate", sizeof("gzdeflate")) &&
- zend_hash_exists(EG(function_table), "gzuncompress", sizeof("gzuncompress")) &&
- zend_hash_exists(EG(function_table), "gzcompress", sizeof("gzcompress")) &&
- zend_hash_exists(EG(function_table), "gzencode", sizeof("gzencode"))) {
- add_property_long(this_ptr, "compression", Z_LVAL_PP(tmp));
- }
- if (zend_hash_find(ht, "encoding", sizeof("encoding"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- xmlCharEncodingHandlerPtr encoding;
-
- encoding = xmlFindCharEncodingHandler(Z_STRVAL_PP(tmp));
- if (encoding == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid 'encoding' option - '%s'", Z_STRVAL_PP(tmp));
- } else {
- xmlCharEncCloseFunc(encoding);
- add_property_stringl(this_ptr, "_encoding", Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- }
- }
- if (zend_hash_find(ht, "classmap", sizeof("classmap"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_ARRAY) {
- zval *class_map;
-
- MAKE_STD_ZVAL(class_map);
- *class_map = **tmp;
- zval_copy_ctor(class_map);
-#ifdef ZEND_ENGINE_2
- class_map->refcount--;
-#endif
- add_property_zval(this_ptr, "_classmap", class_map);
- }
-
- if (zend_hash_find(ht, "connection_timeout", sizeof("connection_timeout"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_LONG && Z_LVAL_PP(tmp) > 0) {
- add_property_long(this_ptr, "_connection_timeout", Z_LVAL_PP(tmp));
- }
-
- if (context) {
- add_property_resource(this_ptr, "_stream_context", context->rsrc_id);
- }
-
- } else if (wsdl == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "'location' and 'uri' options are requred in nonWSDL mode");
- return;
- }
-
- add_property_long(this_ptr, "_soap_version", soap_version);
-
- if (wsdl) {
- int old_soap_version, ret;
- sdlPtr sdl;
-
- old_soap_version = SOAP_GLOBAL(soap_version);
- SOAP_GLOBAL(soap_version) = soap_version;
-
- sdl = get_sdl(this_ptr, Z_STRVAL_P(wsdl) TSRMLS_CC);
- ret = zend_list_insert(sdl, le_sdl);
-
- add_property_resource(this_ptr, "sdl", ret);
- zend_list_addref(ret);
-
- SOAP_GLOBAL(soap_version) = old_soap_version;
- }
-
- SOAP_CLIENT_END_CODE();
-}
-/* }}} */
-
-static int do_request(zval *this_ptr, xmlDoc *request, char *location, char *action, int version, zval *response TSRMLS_DC)
-{
- int ret = TRUE;
- char *buf;
- int buf_size;
- zval func, param0, param1, param2, param3;
- zval *params[4];
- zval **trace;
- zval **fault;
-
- INIT_ZVAL(*response);
-
- xmlDocDumpMemory(request, (xmlChar**)&buf, &buf_size);
- if (!buf) {
- add_soap_fault(this_ptr, "HTTP", "Error build soap request", NULL, NULL TSRMLS_CC);
- return FALSE;
- }
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "trace", sizeof("trace"), (void **) &trace) == SUCCESS &&
- Z_LVAL_PP(trace) > 0) {
- add_property_stringl(this_ptr, "__last_request", buf, buf_size, 1);
- }
-
- INIT_ZVAL(func);
- ZVAL_STRINGL(&func,"__doRequest",sizeof("__doRequest")-1,0);
- INIT_ZVAL(param0);
- params[0] = &param0;
- ZVAL_STRINGL(params[0], buf, buf_size, 0);
- INIT_ZVAL(param1);
- params[1] = &param1;
- if (location == NULL) {
- ZVAL_NULL(params[1]);
- } else {
- ZVAL_STRING(params[1], location, 0);
- }
- INIT_ZVAL(param2);
- params[2] = &param2;
- if (action == NULL) {
- ZVAL_NULL(params[2]);
- } else {
- ZVAL_STRING(params[2], action, 0);
- }
- INIT_ZVAL(param3);
- params[3] = &param3;
- ZVAL_LONG(params[3], version);
-
- if (call_user_function(NULL, &this_ptr, &func, response, 4, params TSRMLS_CC) != SUCCESS) {
- add_soap_fault(this_ptr, "Client", "SoapSlient::__doRequest() failed", NULL, NULL TSRMLS_CC);
- ret = FALSE;
- } else if (Z_TYPE_P(response) != IS_STRING) {
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__soap_fault", sizeof("__soap_fault"), (void **) &fault) == FAILURE) {
- add_soap_fault(this_ptr, "Client", "SoapSlient::__doRequest() returned non string value", NULL, NULL TSRMLS_CC);
- }
- ret = FALSE;
- } else if (zend_hash_find(Z_OBJPROP_P(this_ptr), "trace", sizeof("trace"), (void **) &trace) == SUCCESS &&
- Z_LVAL_PP(trace) > 0) {
- add_property_stringl(this_ptr, "__last_response", Z_STRVAL_P(response), Z_STRLEN_P(response), 1);
- }
- xmlFree(buf);
- if (ret && zend_hash_find(Z_OBJPROP_P(this_ptr), "__soap_fault", sizeof("__soap_fault"), (void **) &fault) == SUCCESS) {
- return FALSE;
- }
- return ret;
-}
-
-static void do_soap_call(zval* this_ptr,
- char* function,
- int function_len,
- int arg_count,
- zval** real_args,
- zval* return_value,
- char* location,
- char* soap_action,
- char* call_uri,
- HashTable* soap_headers,
- zval* output_headers
- TSRMLS_DC)
-{
- zval **tmp;
- zval **trace;
- sdlPtr sdl = NULL;
- sdlPtr old_sdl = NULL;
- sdlFunctionPtr fn;
- xmlDocPtr request = NULL;
- int ret = FALSE;
- int soap_version;
- zval response;
- xmlCharEncodingHandlerPtr old_encoding;
- HashTable *old_class_map;
-
- SOAP_CLIENT_BEGIN_CODE();
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "trace", sizeof("trace"), (void **) &trace) == SUCCESS
- && Z_LVAL_PP(trace) > 0) {
- zend_hash_del(Z_OBJPROP_P(this_ptr), "__last_request", sizeof("__last_request"));
- zend_hash_del(Z_OBJPROP_P(this_ptr), "__last_response", sizeof("__last_response"));
- }
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_soap_version", sizeof("_soap_version"), (void **) &tmp) == SUCCESS
- && Z_LVAL_PP(tmp) == SOAP_1_2) {
- soap_version = SOAP_1_2;
- } else {
- soap_version = SOAP_1_1;
- }
-
- if (location == NULL) {
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "location", sizeof("location"),(void **) &tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- location = Z_STRVAL_PP(tmp);
- }
- }
-
- if (FIND_SDL_PROPERTY(this_ptr,tmp) != FAILURE) {
- FETCH_SDL_RES(sdl,tmp);
- }
-
- clear_soap_fault(this_ptr TSRMLS_CC);
-
- SOAP_GLOBAL(soap_version) = soap_version;
- old_sdl = SOAP_GLOBAL(sdl);
- SOAP_GLOBAL(sdl) = sdl;
- old_encoding = SOAP_GLOBAL(encoding);
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_encoding", sizeof("_encoding"), (void **) &tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- SOAP_GLOBAL(encoding) = xmlFindCharEncodingHandler(Z_STRVAL_PP(tmp));
- } else {
- SOAP_GLOBAL(encoding) = NULL;
- }
- old_class_map = SOAP_GLOBAL(class_map);
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_classmap", sizeof("_classmap"), (void **) &tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_ARRAY) {
- SOAP_GLOBAL(class_map) = (*tmp)->value.ht;
- } else {
- SOAP_GLOBAL(class_map) = NULL;
- }
-
- if (sdl != NULL) {
- fn = get_function(sdl, function);
- if (fn != NULL) {
- sdlBindingPtr binding = fn->binding;
- if (location == NULL) {
- location = binding->location;
- }
- if (binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)fn->bindingAttributes;
- request = serialize_function_call(this_ptr, fn, NULL, fnb->input.ns, real_args, arg_count, soap_version, soap_headers TSRMLS_CC);
- ret = do_request(this_ptr, request, location, fnb->soapAction, soap_version, &response TSRMLS_CC);
- } else {
- request = serialize_function_call(this_ptr, fn, NULL, sdl->target_ns, real_args, arg_count, soap_version, soap_headers TSRMLS_CC);
- ret = do_request(this_ptr, request, location, NULL, soap_version, &response TSRMLS_CC);
- }
-
- xmlFreeDoc(request);
-
- if (ret && Z_TYPE(response) == IS_STRING) {
- ret = parse_packet_soap(this_ptr, Z_STRVAL(response), Z_STRLEN(response), fn, NULL, return_value, output_headers TSRMLS_CC);
- }
-
- zval_dtor(&response);
-
- } else {
- smart_str error = {0};
- smart_str_appends(&error,"Function (\"");
- smart_str_appends(&error,function);
- smart_str_appends(&error,"\") is not a valid method for this service");
- smart_str_0(&error);
- add_soap_fault(this_ptr, "Client", error.c, NULL, NULL TSRMLS_CC);
- smart_str_free(&error);
- }
- } else {
- zval **uri;
- smart_str action = {0};
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "uri", sizeof("uri"), (void *)&uri) == FAILURE) {
- add_soap_fault(this_ptr, "Client", "Error finding \"uri\" property", NULL, NULL TSRMLS_CC);
- } else if (location == NULL) {
- add_soap_fault(this_ptr, "Client", "Error could not find \"location\" property", NULL, NULL TSRMLS_CC);
- } else {
- if (call_uri == NULL) {
- call_uri = Z_STRVAL_PP(uri);
- }
- request = serialize_function_call(this_ptr, NULL, function, call_uri, real_args, arg_count, soap_version, soap_headers TSRMLS_CC);
-
- if (soap_action == NULL) {
- smart_str_appends(&action, call_uri);
- smart_str_appendc(&action, '#');
- smart_str_appends(&action, function);
- } else {
- smart_str_appends(&action, soap_action);
- }
- smart_str_0(&action);
-
- ret = do_request(this_ptr, request, location, action.c, soap_version, &response TSRMLS_CC);
-
- smart_str_free(&action);
- xmlFreeDoc(request);
-
- if (ret && Z_TYPE(response) == IS_STRING) {
- ret = parse_packet_soap(this_ptr, Z_STRVAL(response), Z_STRLEN(response), NULL, function, return_value, output_headers TSRMLS_CC);
- }
-
- zval_dtor(&response);
- }
- }
-
- if (!ret) {
- zval** fault;
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__soap_fault", sizeof("__soap_fault"), (void **) &fault) == SUCCESS) {
- *return_value = **fault;
- zval_copy_ctor(return_value);
- } else {
- *return_value = *add_soap_fault(this_ptr, "Client", "Unknown Error", NULL, NULL TSRMLS_CC);
- zval_copy_ctor(return_value);
- }
- } else {
- zval** fault;
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__soap_fault", sizeof("__soap_fault"), (void **) &fault) == SUCCESS) {
- *return_value = **fault;
- zval_copy_ctor(return_value);
- }
- }
-#ifdef ZEND_ENGINE_2
- if (Z_TYPE_P(return_value) == IS_OBJECT &&
- Z_OBJCE_P(return_value) == soap_fault_class_entry &&
- (zend_hash_find(Z_OBJPROP_P(this_ptr), "_exceptions", sizeof("_exceptions"), (void **) &tmp) != SUCCESS ||
- Z_TYPE_PP(tmp) != IS_BOOL || Z_LVAL_PP(tmp) != 0)) {
- zval *exception;
-
- MAKE_STD_ZVAL(exception);
- *exception = *return_value;
- zval_copy_ctor(exception);
- INIT_PZVAL(exception);
- zend_throw_exception_object(exception TSRMLS_CC);
- }
-#endif
- if (SOAP_GLOBAL(encoding) != NULL) {
- xmlCharEncCloseFunc(SOAP_GLOBAL(encoding));
- }
- SOAP_GLOBAL(class_map) = old_class_map;
- SOAP_GLOBAL(encoding) = old_encoding;
- SOAP_GLOBAL(sdl) = old_sdl;
- SOAP_CLIENT_END_CODE();
-}
-
-static void verify_soap_headers_array(HashTable *ht TSRMLS_DC)
-{
- zval **tmp;
-
- zend_hash_internal_pointer_reset(ht);
- while (zend_hash_get_current_data(ht, (void**)&tmp) == SUCCESS) {
- if (Z_TYPE_PP(tmp) != IS_OBJECT ||
- Z_OBJCE_PP(tmp) != soap_header_class_entry) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid SOAP header");
- }
- zend_hash_move_forward(ht);
- }
-}
-
-
-/* {{{ proto mixed SoapClient::__call ( string function_name [, array arguments [, array options [, array input_headers [, array output_headers]]]])
- Calls a SOAP function */
-PHP_METHOD(SoapClient, __call)
-{
- char *function, *location=NULL, *soap_action = NULL, *uri = NULL;
- int function_len, i = 0;
- HashTable* soap_headers = NULL;
- zval *options = NULL;
- zval *headers = NULL;
- zval *output_headers = NULL;
- zval *args;
- zval **real_args = NULL;
- zval **param;
- int arg_count;
- zval **tmp;
- zend_bool free_soap_headers;
-
- HashPosition pos;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sa|zzz",
- &function, &function_len, &args, &options, &headers, &output_headers) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
-
- if (options) {
- if (Z_TYPE_P(options) == IS_ARRAY) {
- HashTable *ht = Z_ARRVAL_P(options);
- if (zend_hash_find(ht, "location", sizeof("location"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- location = Z_STRVAL_PP(tmp);
- }
-
- if (zend_hash_find(ht, "soapaction", sizeof("soapaction"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- soap_action = Z_STRVAL_PP(tmp);
- }
-
- if (zend_hash_find(ht, "uri", sizeof("uri"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- soap_action = Z_STRVAL_PP(tmp);
- }
- } else if (Z_TYPE_P(options) != IS_NULL) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "first parameter must be string or null");
- }
- }
-
- if (headers == NULL || Z_TYPE_P(headers) == IS_NULL) {
- } else if (Z_TYPE_P(headers) == IS_ARRAY) {
- soap_headers = Z_ARRVAL_P(headers);
- verify_soap_headers_array(soap_headers TSRMLS_CC);
- free_soap_headers = 0;
- } else if (Z_TYPE_P(headers) == IS_OBJECT &&
- Z_OBJCE_P(headers) == soap_header_class_entry) {
- soap_headers = emalloc(sizeof(HashTable));
- zend_hash_init(soap_headers, 0, NULL, ZVAL_PTR_DTOR, 0);
- zend_hash_next_index_insert(soap_headers, &headers, sizeof(zval*), NULL);
- ZVAL_ADDREF(headers);
- free_soap_headers = 1;
- } else{
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid SOAP header");
- }
-
- /* Add default headers */
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__default_headers", sizeof("__default_headers"), (void **) &tmp)==SUCCESS) {
- HashTable *default_headers = Z_ARRVAL_P(*tmp);
- if (soap_headers) {
- if (!free_soap_headers) {
- HashTable *tmp = emalloc(sizeof(HashTable));
- zend_hash_init(tmp, 0, NULL, ZVAL_PTR_DTOR, 0);
- zend_hash_copy(tmp, soap_headers, (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *));
- soap_headers = tmp;
- free_soap_headers = 1;
- }
- zend_hash_internal_pointer_reset(default_headers);
- while (zend_hash_get_current_data(default_headers, (void**)&tmp) == SUCCESS) {
- ZVAL_ADDREF(*tmp);
- zend_hash_next_index_insert(soap_headers, tmp, sizeof(zval *), NULL);
- zend_hash_move_forward(default_headers);
- }
- } else {
- soap_headers = Z_ARRVAL_P(*tmp);
- free_soap_headers = 0;
- }
- }
-
- arg_count = zend_hash_num_elements(Z_ARRVAL_P(args));
-
- if (arg_count > 0) {
- real_args = safe_emalloc(sizeof(zval *), arg_count, 0);
- for (zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(args), &pos);
- zend_hash_get_current_data_ex(Z_ARRVAL_P(args), (void **) &param, &pos) == SUCCESS;
- zend_hash_move_forward_ex(Z_ARRVAL_P(args), &pos)) {
- /*zval_add_ref(param);*/
- real_args[i++] = *param;
- }
- }
- if (output_headers) {
- array_init(output_headers);
- }
- do_soap_call(this_ptr, function, function_len, arg_count, real_args, return_value, location, soap_action, uri, soap_headers, output_headers TSRMLS_CC);
- if (arg_count > 0) {
- efree(real_args);
- }
-
- if (soap_headers && free_soap_headers) {
- zend_hash_destroy(soap_headers);
- efree(soap_headers);
- }
-}
-/* }}} */
-
-
-/* {{{ proto array SoapClient::__getFunctions ( void )
- Returns list of SOAP functions */
-PHP_METHOD(SoapClient, __getFunctions)
-{
- sdlPtr sdl;
- HashPosition pos;
-
- FETCH_THIS_SDL(sdl);
-
- if (sdl) {
- smart_str buf = {0};
- sdlFunctionPtr *function;
-
- array_init(return_value);
- zend_hash_internal_pointer_reset_ex(&sdl->functions, &pos);
- while (zend_hash_get_current_data_ex(&sdl->functions, (void **)&function, &pos) != FAILURE) {
- function_to_string((*function), &buf);
- add_next_index_stringl(return_value, buf.c, buf.len, 1);
- smart_str_free(&buf);
- zend_hash_move_forward_ex(&sdl->functions, &pos);
- }
- }
-}
-/* }}} */
-
-
-/* {{{ proto array SoapClient::__getTypes ( void )
- Returns list of SOAP types */
-PHP_METHOD(SoapClient, __getTypes)
-{
- sdlPtr sdl;
- HashPosition pos;
-
- FETCH_THIS_SDL(sdl);
-
- if (sdl) {
- sdlTypePtr *type;
- smart_str buf = {0};
-
- array_init(return_value);
- if (sdl->types) {
- zend_hash_internal_pointer_reset_ex(sdl->types, &pos);
- while (zend_hash_get_current_data_ex(sdl->types, (void **)&type, &pos) != FAILURE) {
- type_to_string((*type), &buf, 0);
- add_next_index_stringl(return_value, buf.c, buf.len, 1);
- zend_hash_move_forward_ex(sdl->types, &pos);
- smart_str_free(&buf);
- }
- }
- }
-}
-/* }}} */
-
-
-/* {{{ proto string SoapClient::__getLastRequest ( void )
- Returns last SOAP request */
-PHP_METHOD(SoapClient, __getLastRequest)
-{
- zval **tmp;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__last_request", sizeof("__last_request"), (void **)&tmp) == SUCCESS) {
- RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- }
- RETURN_NULL();
-}
-/* }}} */
-
-
-/* {{{ proto object SoapClient::__getLastResponse ( void )
- Returns last SOAP response */
-PHP_METHOD(SoapClient, __getLastResponse)
-{
- zval **tmp;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__last_response", sizeof("__last_response"), (void **)&tmp) == SUCCESS) {
- RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- }
- RETURN_NULL();
-}
-/* }}} */
-
-
-/* {{{ proto string SoapClient::__getLastRequestHeaders(void)
- Returns last SOAP request headers */
-PHP_METHOD(SoapClient, __getLastRequestHeaders)
-{
- zval **tmp;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__last_request_headers", sizeof("__last_request_headers"), (void **)&tmp) == SUCCESS) {
- RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- }
- RETURN_NULL();
-}
-/* }}} */
-
-
-/* {{{ proto string SoapClient::__getLastResponseHeaders(void)
- Returns last SOAP response headers */
-PHP_METHOD(SoapClient, __getLastResponseHeaders)
-{
- zval **tmp;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__last_response_headers", sizeof("__last_response_headers"), (void **)&tmp) == SUCCESS) {
- RETURN_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- }
- RETURN_NULL();
-}
-/* }}} */
-
-
-/* {{{ proto string SoapClient::__doRequest()
- SoapClient::__doRequest() */
-PHP_METHOD(SoapClient, __doRequest)
-{
- char *buf, *location, *action;
- int buf_size, location_size, action_size;
- long version;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sssl",
- &buf, &buf_size,
- &location, &location_size,
- &action, &action_size,
- &version) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- }
- if (make_http_soap_request(this_ptr, buf, buf_size, location, action, version,
- &Z_STRVAL_P(return_value), &Z_STRLEN_P(return_value) TSRMLS_CC)) {
- return_value->type = IS_STRING;
- return;
- }
- RETURN_NULL();
-}
-/* }}} */
-
-/* {{{ proto void SoapClient::__setCookie(string name [, strung value])
- Sets cookie thet will sent with SOAP request.
- The call to this function will effect all folowing calls of SOAP methods.
- If value is not specified cookie is removed. */
-PHP_METHOD(SoapClient, __setCookie)
-{
- char *name;
- char *val = NULL;
- int name_len, val_len;
- zval **cookies;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s",
- &name, &name_len, &val, &val_len) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- RETURN_NULL();
- }
-
- if (val == NULL) {
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_cookies", sizeof("_cookies"), (void **)&cookies) == SUCCESS) {
- zend_hash_del(Z_ARRVAL_PP(cookies), name, name_len+1);
- }
- } else {
- zval *zcookie;
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "_cookies", sizeof("_cookies"), (void **)&cookies) == FAILURE) {
- zval *tmp_cookies;
-
- MAKE_STD_ZVAL(tmp_cookies);
- array_init(tmp_cookies);
- zend_hash_update(Z_OBJPROP_P(this_ptr), "_cookies", sizeof("_cookies"), &tmp_cookies, sizeof(zval *), (void **)&cookies);
- }
-
- ALLOC_INIT_ZVAL(zcookie);
- array_init(zcookie);
- add_index_stringl(zcookie, 0, val, val_len, 1);
- add_assoc_zval_ex(*cookies, name, name_len+1, zcookie);
- }
-}
-/* }}} */
-
-/* {{{ proto void SoapClient::__setSoapHeaders(array SoapHeaders)
- Sets SOAP headers for subsequent calls (replaces any previous
- values).
- If no value is specified, all of the headers are removed. */
-PHP_METHOD(SoapClient, __setSoapHeaders)
-{
- zval *headers;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|z", &headers) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- RETURN_NULL();
- }
-
- if (headers == NULL || Z_TYPE_P(headers) == IS_NULL) {
- zend_hash_del(Z_OBJPROP_P(this_ptr), "__default_headers", sizeof("__default_headers"));
- } else if (Z_TYPE_P(headers) == IS_ARRAY || Z_TYPE_P(headers) == IS_OBJECT) {
- zval *default_headers;
-
- verify_soap_headers_array(Z_ARRVAL_P(headers) TSRMLS_CC);
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__default_headers", sizeof("__default_headers"), (void **) &default_headers)==FAILURE) {
- add_property_zval(this_ptr, "__default_headers", headers);
- }
- } else if (Z_TYPE_P(headers) == IS_OBJECT &&
- Z_OBJCE_P(headers) == soap_header_class_entry) {
- zval *default_headers;
- ALLOC_INIT_ZVAL(default_headers);
- array_init(default_headers);
- add_next_index_zval(default_headers, headers);
- add_property_zval(this_ptr, "__default_headers", default_headers);
- } else{
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid SOAP header");
- }
- RETURN_TRUE;
-}
-/* }}} */
-
-
-
-/* {{{ proto string SoapClient::__setLocation([string new_location])
- Sets the location option (the endpoint URL that will be touched by the
- following SOAP requests).
- If new_location is not specified or null then SoapClient will use endpoint
- from WSDL file.
- The function returns old value of location options. */
-PHP_METHOD(SoapClient, __setLocation)
-{
- char *location = NULL;
- int location_len;
- zval **tmp;
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|s",
- &location, &location_len) == FAILURE) {
- php_error_docref(NULL TSRMLS_CC, E_ERROR, "Invalid parameters");
- RETURN_NULL();
- }
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "location", sizeof("location"),(void **) &tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- RETVAL_STRINGL(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), 1);
- } else {
- RETVAL_NULL();
- }
- if (location && location_len) {
- add_property_stringl(this_ptr, "location", location, location_len, 1);
- } else {
- zend_hash_del(Z_OBJPROP_P(this_ptr), "location", sizeof("location"));
- }
-}
-/* }}} */
-
-#ifndef ZEND_ENGINE_2
-static void soap_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
-{
- pval *object = property_reference->object;
- zend_overloaded_element *function_name = (zend_overloaded_element *)property_reference->elements_list->tail->data;
- char *function = Z_STRVAL(function_name->element);
- zend_function *builtin_function;
-
- /*
- Find if the function being called is already defined...
- ( IMHO: zend should handle this functionality )
- */
- if (zend_hash_find(&Z_OBJCE_P(this_ptr)->function_table, function, Z_STRLEN(function_name->element) + 1, (void **) &builtin_function) == SUCCESS) {
- builtin_function->internal_function.handler(INTERNAL_FUNCTION_PARAM_PASSTHRU);
- } else {
- int arg_count = ZEND_NUM_ARGS();
- zval **arguments = (zval **) safe_emalloc(sizeof(zval *), arg_count, 0);
- zval **soap_headers_p
- HashTable *soap_headers;
-
- zend_get_parameters_array(ht, arg_count, arguments);
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "__default_headers", sizeof("__default_properties"), (void **) soap_headers_p)==SUCCESS
- && Z_TYPE_P(soap_headers_p)==IS_ARRAY) {
- soap_headers = Z_ARRVAL_P(soap_headers_p);
- } else {
- soap_headers = NULL;
- }
- do_soap_call(this_ptr, function, Z_STRLEN(function_name->element) + 1, arg_count, arguments, return_value, NULL, NULL, NULL, soap_headers, NULL TSRMLS_CC);
- efree(arguments);
- }
- zval_dtor(&function_name->element);
-}
-#endif
-
-static void clear_soap_fault(zval *obj TSRMLS_DC)
-{
- if (obj != NULL && obj->type == IS_OBJECT) {
- zend_hash_del(Z_OBJPROP_P(obj), "__soap_fault", sizeof("__soap_fault"));
- }
-}
-
-zval* add_soap_fault(zval *obj, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail TSRMLS_DC)
-{
- zval *fault;
- ALLOC_INIT_ZVAL(fault);
- set_soap_fault(fault, NULL, fault_code, fault_string, fault_actor, fault_detail, NULL TSRMLS_CC);
-#ifdef ZEND_ENGINE_2
- fault->refcount--;
-#endif
- add_property_zval(obj, "__soap_fault", fault);
- return fault;
-}
-
-static void set_soap_fault(zval *obj, char *fault_code_ns, char *fault_code, char *fault_string, char *fault_actor, zval *fault_detail, char *name TSRMLS_DC)
-{
- if (Z_TYPE_P(obj) != IS_OBJECT) {
- object_init_ex(obj, soap_fault_class_entry);
- }
- if (fault_string != NULL) {
- add_property_string(obj, "faultstring", fault_string, 1);
- }
- if (fault_code != NULL) {
- int soap_version = SOAP_GLOBAL(soap_version);
-
- if (fault_code_ns) {
- add_property_string(obj, "faultcode", fault_code, 1);
- add_property_string(obj, "faultcodens", fault_code_ns, 1);
- } else {
- if (soap_version == SOAP_1_1) {
- add_property_string(obj, "faultcode", fault_code, 1);
- if (strcmp(fault_code,"Client") == 0 ||
- strcmp(fault_code,"Server") == 0 ||
- strcmp(fault_code,"VersionMismatch") == 0 ||
- strcmp(fault_code,"MustUnderstand") == 0) {
- add_property_string(obj, "faultcodens", SOAP_1_1_ENV_NAMESPACE, 1);
- }
- } else if (soap_version == SOAP_1_2) {
- if (strcmp(fault_code,"Client") == 0) {
- add_property_string(obj, "faultcode", "Sender", 1);
- add_property_string(obj, "faultcodens", SOAP_1_2_ENV_NAMESPACE, 1);
- } else if (strcmp(fault_code,"Server") == 0) {
- add_property_string(obj, "faultcode", "Receiver", 1);
- add_property_string(obj, "faultcodens", SOAP_1_2_ENV_NAMESPACE, 1);
- } else if (strcmp(fault_code,"VersionMismatch") == 0 ||
- strcmp(fault_code,"MustUnderstand") == 0 ||
- strcmp(fault_code,"DataEncodingUnknown") == 0) {
- add_property_string(obj, "faultcode", fault_code, 1);
- add_property_string(obj, "faultcodens", SOAP_1_2_ENV_NAMESPACE, 1);
- } else {
- add_property_string(obj, "faultcode", fault_code, 1);
- }
- }
- }
- }
- if (fault_actor != NULL) {
- add_property_string(obj, "faultactor", fault_actor, 1);
- }
- if (fault_detail != NULL) {
- add_property_zval(obj, "detail", fault_detail);
- }
- if (name != NULL) {
- add_property_string(obj, "_name", name, 1);
- }
-}
-
-static void deserialize_parameters(xmlNodePtr params, sdlFunctionPtr function, int *num_params, zval ***parameters)
-{
- int cur_param = 0,num_of_params = 0;
- zval **tmp_parameters = NULL;
-
- if (function != NULL) {
- sdlParamPtr *param;
- xmlNodePtr val;
- int use_names = 0;
-
- if (function->requestParameters == NULL) {
- return;
- }
- num_of_params = zend_hash_num_elements(function->requestParameters);
- zend_hash_internal_pointer_reset(function->requestParameters);
- while (zend_hash_get_current_data(function->requestParameters, (void **)&param) == SUCCESS) {
- if (get_node(params, (*param)->paramName) != NULL) {
- use_names = 1;
- }
- zend_hash_move_forward(function->requestParameters);
- }
- if (use_names) {
- tmp_parameters = safe_emalloc(num_of_params, sizeof(zval *), 0);
- zend_hash_internal_pointer_reset(function->requestParameters);
- while (zend_hash_get_current_data(function->requestParameters, (void **)&param) == SUCCESS) {
- val = get_node(params, (*param)->paramName);
- if (!val) {
- /* TODO: may be "nil" is not OK? */
- MAKE_STD_ZVAL(tmp_parameters[cur_param]);
- ZVAL_NULL(tmp_parameters[cur_param]);
- } else {
- tmp_parameters[cur_param] = master_to_zval((*param)->encode, val);
- }
- cur_param++;
-
- zend_hash_move_forward(function->requestParameters);
- }
- (*parameters) = tmp_parameters;
- (*num_params) = num_of_params;
- return;
- }
- }
- if (params) {
- xmlNodePtr trav;
-
- num_of_params = 0;
- trav = params;
- while (trav != NULL) {
- if (trav->type == XML_ELEMENT_NODE) {
- num_of_params++;
- }
- trav = trav->next;
- }
- if (num_of_params > 0) {
- tmp_parameters = safe_emalloc(num_of_params, sizeof(zval *), 0);
-
- trav = params;
- while (trav != 0 && cur_param < num_of_params) {
- if (trav->type == XML_ELEMENT_NODE) {
- encodePtr enc;
- sdlParamPtr *param = NULL;
- if (function != NULL &&
- zend_hash_index_find(function->requestParameters, cur_param, (void **)&param) == FAILURE) {
- TSRMLS_FETCH();
- soap_server_fault("Client", "Error cannot find parameter", NULL, NULL, NULL TSRMLS_CC);
- }
- if (param == NULL) {
- enc = NULL;
- } else {
- enc = (*param)->encode;
- }
- tmp_parameters[cur_param] = master_to_zval(enc, trav);
- cur_param++;
- }
- trav = trav->next;
- }
- }
- }
- if (num_of_params > cur_param) {
- TSRMLS_FETCH();
- soap_server_fault("Client","Missing parameter", NULL, NULL, NULL TSRMLS_CC);
- }
- (*parameters) = tmp_parameters;
- (*num_params) = num_of_params;
-}
-
-static sdlFunctionPtr find_function(sdlPtr sdl, xmlNodePtr func, zval* function_name)
-{
- sdlFunctionPtr function;
-
- function = get_function(sdl, func->name);
- if (function && function->binding && function->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)function->bindingAttributes;
- if (fnb->style == SOAP_DOCUMENT) {
- function = NULL;
- }
- }
- if (sdl != NULL && function == NULL) {
- function = get_doc_function(sdl, func);
- }
-
- INIT_ZVAL(*function_name);
- if (function != NULL) {
- ZVAL_STRING(function_name, (char *)function->functionName, 1);
- } else {
- ZVAL_STRING(function_name, (char *)func->name, 1);
- }
-
- return function;
-}
-
-static sdlFunctionPtr deserialize_function_call(sdlPtr sdl, xmlDocPtr request, char* actor, zval *function_name, int *num_params, zval ***parameters, int *version, soapHeader **headers TSRMLS_DC)
-{
- char* envelope_ns = NULL;
- xmlNodePtr trav,env,head,body,func;
- xmlAttrPtr attr;
- sdlFunctionPtr function;
-
- /* Get <Envelope> element */
- env = NULL;
- trav = request->children;
- while (trav != NULL) {
- if (trav->type == XML_ELEMENT_NODE) {
- if (env == NULL && node_is_equal_ex(trav,"Envelope",SOAP_1_1_ENV_NAMESPACE)) {
- env = trav;
- *version = SOAP_1_1;
- envelope_ns = SOAP_1_1_ENV_NAMESPACE;
- SOAP_GLOBAL(soap_version) = SOAP_1_1;
- } else if (env == NULL && node_is_equal_ex(trav,"Envelope",SOAP_1_2_ENV_NAMESPACE)) {
- env = trav;
- *version = SOAP_1_2;
- envelope_ns = SOAP_1_2_ENV_NAMESPACE;
- SOAP_GLOBAL(soap_version) = SOAP_1_2;
- } else {
- soap_server_fault("VersionMismatch", "Wrong Version", NULL, NULL, NULL TSRMLS_CC);
- }
- }
- trav = trav->next;
- }
- if (env == NULL) {
- soap_server_fault("Client", "looks like we got XML without \"Envelope\" element", NULL, NULL, NULL TSRMLS_CC);
- }
-
- attr = env->properties;
- while (attr != NULL) {
- if (attr->ns == NULL) {
- soap_server_fault("Client", "A SOAP Envelope element cannot have non Namespace qualified attributes", NULL, NULL, NULL TSRMLS_CC);
- } else if (attr_is_equal_ex(attr,"encodingStyle",SOAP_1_2_ENV_NAMESPACE)) {
- if (*version == SOAP_1_2) {
- soap_server_fault("Client", "encodingStyle cannot be specified on the Envelope", NULL, NULL, NULL TSRMLS_CC);
- } else if (strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
- soap_server_fault("Client", "Unknown data encoding style", NULL, NULL, NULL TSRMLS_CC);
- }
- }
- attr = attr->next;
- }
-
- /* Get <Header> element */
- head = NULL;
- trav = env->children;
- while (trav != NULL && trav->type != XML_ELEMENT_NODE) {
- trav = trav->next;
- }
- if (trav != NULL && node_is_equal_ex(trav,"Header",envelope_ns)) {
- head = trav;
- trav = trav->next;
- }
-
- /* Get <Body> element */
- body = NULL;
- while (trav != NULL && trav->type != XML_ELEMENT_NODE) {
- trav = trav->next;
- }
- if (trav != NULL && node_is_equal_ex(trav,"Body",envelope_ns)) {
- body = trav;
- trav = trav->next;
- }
- while (trav != NULL && trav->type != XML_ELEMENT_NODE) {
- trav = trav->next;
- }
- if (body == NULL) {
- soap_server_fault("Client", "Body must be present in a SOAP envelope", NULL, NULL, NULL TSRMLS_CC);
- }
- attr = body->properties;
- while (attr != NULL) {
- if (attr->ns == NULL) {
- if (*version == SOAP_1_2) {
- soap_server_fault("Client", "A SOAP Body element cannot have non Namespace qualified attributes", NULL, NULL, NULL TSRMLS_CC);
- }
- } else if (attr_is_equal_ex(attr,"encodingStyle",SOAP_1_2_ENV_NAMESPACE)) {
- if (*version == SOAP_1_2) {
- soap_server_fault("Client", "encodingStyle cannot be specified on the Body", NULL, NULL, NULL TSRMLS_CC);
- } else if (strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
- soap_server_fault("Client", "Unknown data encoding style", NULL, NULL, NULL TSRMLS_CC);
- }
- }
- attr = attr->next;
- }
-
- if (trav != NULL && *version == SOAP_1_2) {
- soap_server_fault("Client", "A SOAP 1.2 envelope can contain only Header and Body", NULL, NULL, NULL TSRMLS_CC);
- }
-
- func = NULL;
- trav = body->children;
- while (trav != NULL) {
- if (trav->type == XML_ELEMENT_NODE) {
-/*
- if (func != NULL) {
- soap_server_fault("Client", "looks like we got \"Body\" with several functions call", NULL, NULL, NULL TSRMLS_CC);
- }
-*/
- func = trav;
- break; /* FIXME: the rest of body is ignored */
- }
- trav = trav->next;
- }
- if (func == NULL) {
- function = get_doc_function(sdl, NULL);
- if (function != NULL) {
- INIT_ZVAL(*function_name);
- ZVAL_STRING(function_name, (char *)function->functionName, 1);
- } else {
- soap_server_fault("Client", "looks like we got \"Body\" without function call", NULL, NULL, NULL TSRMLS_CC);
- }
- } else {
- if (*version == SOAP_1_1) {
- attr = get_attribute_ex(func->properties,"encodingStyle",SOAP_1_1_ENV_NAMESPACE);
- if (attr && strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
- soap_server_fault("Client","Unknown Data Encoding Style", NULL, NULL, NULL TSRMLS_CC);
- }
- } else {
- attr = get_attribute_ex(func->properties,"encodingStyle",SOAP_1_2_ENV_NAMESPACE);
- if (attr && strcmp(attr->children->content,SOAP_1_2_ENC_NAMESPACE) != 0) {
- soap_server_fault("DataEncodingUnknown","Unknown Data Encoding Style", NULL, NULL, NULL TSRMLS_CC);
- }
- }
- function = find_function(sdl, func, function_name);
- if (sdl != NULL && function == NULL) {
- if (*version == SOAP_1_2) {
- soap_server_fault("rpc:ProcedureNotPresent","Procedure not present", NULL, NULL, NULL TSRMLS_CC);
- } else {
- php_error(E_ERROR, "Procedure '%s' not present", func->name);
- }
- }
- }
-
- *headers = NULL;
- if (head) {
- soapHeader *h, *last = NULL;
-
- attr = head->properties;
- while (attr != NULL) {
- if (attr->ns == NULL) {
- soap_server_fault("Client", "A SOAP Header element cannot have non Namespace qualified attributes", NULL, NULL, NULL TSRMLS_CC);
- } else if (attr_is_equal_ex(attr,"encodingStyle",SOAP_1_2_ENV_NAMESPACE)) {
- if (*version == SOAP_1_2) {
- soap_server_fault("Client", "encodingStyle cannot be specified on the Header", NULL, NULL, NULL TSRMLS_CC);
- } else if (strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
- soap_server_fault("Client", "Unknown data encoding style", NULL, NULL, NULL TSRMLS_CC);
- }
- }
- attr = attr->next;
- }
- trav = head->children;
- while (trav != NULL) {
- if (trav->type == XML_ELEMENT_NODE) {
- xmlNodePtr hdr_func = trav;
- xmlAttrPtr attr;
- int mustUnderstand = 0;
-
- if (*version == SOAP_1_1) {
- attr = get_attribute_ex(hdr_func->properties,"encodingStyle",SOAP_1_1_ENV_NAMESPACE);
- if (attr && strcmp(attr->children->content,SOAP_1_1_ENC_NAMESPACE) != 0) {
- soap_server_fault("Client","Unknown Data Encoding Style", NULL, NULL, NULL TSRMLS_CC);
- }
- attr = get_attribute_ex(hdr_func->properties,"actor",envelope_ns);
- if (attr != NULL) {
- if (strcmp(attr->children->content,SOAP_1_1_ACTOR_NEXT) != 0 &&
- (actor == NULL || strcmp(attr->children->content,actor) != 0)) {
- goto ignore_header;
- }
- }
- } else if (*version == SOAP_1_2) {
- attr = get_attribute_ex(hdr_func->properties,"encodingStyle",SOAP_1_2_ENV_NAMESPACE);
- if (attr && strcmp(attr->children->content,SOAP_1_2_ENC_NAMESPACE) != 0) {
- soap_server_fault("DataEncodingUnknown","Unknown Data Encoding Style", NULL, NULL, NULL TSRMLS_CC);
- }
- attr = get_attribute_ex(hdr_func->properties,"role",envelope_ns);
- if (attr != NULL) {
- if (strcmp(attr->children->content,SOAP_1_2_ACTOR_UNLIMATERECEIVER) != 0 &&
- strcmp(attr->children->content,SOAP_1_2_ACTOR_NEXT) != 0 &&
- (actor == NULL || strcmp(attr->children->content,actor) != 0)) {
- goto ignore_header;
- }
- }
- }
- attr = get_attribute_ex(hdr_func->properties,"mustUnderstand",envelope_ns);
- if (attr) {
- if (strcmp(attr->children->content,"1") == 0 ||
- strcmp(attr->children->content,"true") == 0) {
- mustUnderstand = 1;
- } else if (strcmp(attr->children->content,"0") == 0 ||
- strcmp(attr->children->content,"false") == 0) {
- mustUnderstand = 0;
- } else {
- soap_server_fault("Client","mustUnderstand value is not boolean", NULL, NULL, NULL TSRMLS_CC);
- }
- }
- h = emalloc(sizeof(soapHeader));
- memset(h, 0, sizeof(soapHeader));
- h->mustUnderstand = mustUnderstand;
- h->function = find_function(sdl, hdr_func, &h->function_name);
- if (!h->function && sdl && function && function->binding && function->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionHeaderPtr *hdr;
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)function->bindingAttributes;
- if (fnb->input.headers) {
- smart_str key = {0};
-
- if (hdr_func->ns) {
- smart_str_appends(&key, hdr_func->ns->href);
- smart_str_appendc(&key, ':');
- }
- smart_str_appendl(&key, Z_STRVAL(h->function_name), Z_STRLEN(h->function_name));
- smart_str_0(&key);
- if (zend_hash_find(fnb->input.headers, key.c, key.len+1, (void**)&hdr) == SUCCESS) {
- h->hdr = *hdr;
- }
- smart_str_free(&key);
- }
- }
- if (h->hdr) {
- h->num_params = 1;
- h->parameters = emalloc(sizeof(zval*));
- h->parameters[0] = master_to_zval(h->hdr->encode, hdr_func);
- } else {
- if (h->function && h->function->binding && h->function->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)h->function->bindingAttributes;
- if (fnb->style == SOAP_RPC) {
- hdr_func = hdr_func->children;
- }
- }
- deserialize_parameters(hdr_func, h->function, &h->num_params, &h->parameters);
- }
- INIT_ZVAL(h->retval);
- if (last == NULL) {
- *headers = h;
- } else {
- last->next = h;
- }
- last = h;
- }
-ignore_header:
- trav = trav->next;
- }
- }
-
- if (function && function->binding && function->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)function->bindingAttributes;
- if (fnb->style == SOAP_RPC) {
- func = func->children;
- }
- } else {
- func = func->children;
- }
- deserialize_parameters(func, function, num_params, parameters);
- return function;
-}
-
-static int serialize_response_call2(xmlNodePtr body, sdlFunctionPtr function, char *function_name, char *uri, zval *ret, int version, int main TSRMLS_DC)
-{
- xmlNodePtr method = NULL, param;
- sdlParamPtr parameter = NULL;
- int param_count;
- int style, use;
- xmlNsPtr ns = NULL;
-
- if (function != NULL && function->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)function->bindingAttributes;
-
- style = fnb->style;
- use = fnb->output.use;
- if (style == SOAP_RPC) {
- ns = encode_add_ns(body, fnb->output.ns);
- if (function->responseName) {
- method = xmlNewChild(body, ns, function->responseName, NULL);
- } else if (function->responseParameters) {
- method = xmlNewChild(body, ns, function->functionName, NULL);
- }
- }
- } else {
- style = main?SOAP_RPC:SOAP_DOCUMENT;
- use = main?SOAP_ENCODED:SOAP_LITERAL;
- if (style == SOAP_RPC) {
- ns = encode_add_ns(body, uri);
- method = xmlNewChild(body, ns, function_name, NULL);
- }
- }
-
- if (function != NULL) {
- if (function->responseParameters) {
- param_count = zend_hash_num_elements(function->responseParameters);
- } else {
- param_count = 0;
- }
- } else {
- param_count = 1;
- }
-
- if (param_count == 1) {
- parameter = get_param(function, NULL, 0, TRUE);
-
- if (style == SOAP_RPC) {
- xmlNode *rpc_result;
- if (main && version == SOAP_1_2) {
- xmlNs *rpc_ns = xmlNewNs(body, RPC_SOAP12_NAMESPACE, RPC_SOAP12_NS_PREFIX);
- rpc_result = xmlNewChild(method, rpc_ns, "result", NULL);
- param = serialize_parameter(parameter, ret, 0, "return", use, method TSRMLS_CC);
- xmlNodeSetContent(rpc_result,param->name);
- } else {
- param = serialize_parameter(parameter, ret, 0, "return", use, method TSRMLS_CC);
- }
- } else {
- param = serialize_parameter(parameter, ret, 0, "return", use, body TSRMLS_CC);
- if (function && function->binding->bindingType == BINDING_SOAP) {
- if (parameter && parameter->element) {
- ns = encode_add_ns(param, parameter->element->namens);
- xmlNodeSetName(param, parameter->element->name);
- xmlSetNs(param, ns);
- }
- } else if (strcmp(param->name,"return") == 0) {
- ns = encode_add_ns(param, uri);
- xmlNodeSetName(param, function_name);
- xmlSetNs(param, ns);
- }
- }
- } else if (param_count > 1 && Z_TYPE_P(ret) == IS_ARRAY) {
- HashPosition pos;
- zval **data;
- int i = 0;
-
- zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(ret), &pos);
- while (zend_hash_get_current_data_ex(Z_ARRVAL_P(ret), (void **)&data, &pos) != FAILURE) {
- char *param_name = NULL;
- int param_name_len;
- long param_index = i;
-
- zend_hash_get_current_key_ex(Z_ARRVAL_P(ret), &param_name, &param_name_len, &param_index, 0, &pos);
- parameter = get_param(function, param_name, param_index, TRUE);
- if (style == SOAP_RPC) {
- param = serialize_parameter(parameter, *data, i, param_name, use, method TSRMLS_CC);
- } else {
- param = serialize_parameter(parameter, *data, i, param_name, use, body TSRMLS_CC);
- if (function && function->binding->bindingType == BINDING_SOAP) {
- if (parameter && parameter->element) {
- ns = encode_add_ns(param, parameter->element->namens);
- xmlNodeSetName(param, parameter->element->name);
- xmlSetNs(param, ns);
- }
- }
- }
-
- zend_hash_move_forward_ex(Z_ARRVAL_P(ret), &pos);
- i++;
- }
- }
- if (use == SOAP_ENCODED && version == SOAP_1_2 && method != NULL) {
- xmlSetNsProp(method, body->ns, "encodingStyle", SOAP_1_2_ENC_NAMESPACE);
- }
- return use;
-}
-
-static xmlDocPtr serialize_response_call(sdlFunctionPtr function, char *function_name, char *uri, zval *ret, soapHeader* headers, int version TSRMLS_DC)
-{
- xmlDocPtr doc;
- xmlNodePtr envelope = NULL, body, param;
- xmlNsPtr ns = NULL;
- int use = SOAP_LITERAL;
- xmlNodePtr head = NULL;
-
- encode_reset_ns();
-
- doc = xmlNewDoc("1.0");
- doc->charset = XML_CHAR_ENCODING_UTF8;
- doc->encoding = xmlStrdup((xmlChar*)"UTF-8");
-
- if (version == SOAP_1_1) {
- envelope = xmlNewDocNode(doc, NULL, "Envelope", NULL);
- ns = xmlNewNs(envelope, SOAP_1_1_ENV_NAMESPACE, SOAP_1_1_ENV_NS_PREFIX);
- xmlSetNs(envelope,ns);
- } else if (version == SOAP_1_2) {
- envelope = xmlNewDocNode(doc, NULL, "Envelope", NULL);
- ns = xmlNewNs(envelope, SOAP_1_2_ENV_NAMESPACE, SOAP_1_2_ENV_NS_PREFIX);
- xmlSetNs(envelope,ns);
- } else {
- soap_server_fault("Server", "Unknown SOAP version", NULL, NULL, NULL TSRMLS_CC);
- }
- xmlDocSetRootElement(doc, envelope);
-
- if (Z_TYPE_P(ret) == IS_OBJECT &&
- Z_OBJCE_P(ret) == soap_fault_class_entry) {
- char *detail_name;
- HashTable* prop;
- zval **tmp;
- sdlFaultPtr fault = NULL;
- char *fault_ns = NULL;
-
- prop = Z_OBJPROP_P(ret);
-
- if (headers &&
- zend_hash_find(prop, "headerfault", sizeof("headerfault"), (void**)&tmp) == SUCCESS) {
- xmlNodePtr head;
- encodePtr hdr_enc = NULL;
- int hdr_use = SOAP_LITERAL;
- zval *hdr_ret = *tmp;
- char *hdr_ns = headers->hdr?headers->hdr->ns:NULL;
- char *hdr_name = Z_STRVAL(headers->function_name);
-
- head = xmlNewChild(envelope, ns, "Header", NULL);
- if (Z_TYPE_P(hdr_ret) == IS_OBJECT &&
- Z_OBJCE_P(hdr_ret) == soap_header_class_entry) {
- HashTable* ht = Z_OBJPROP_P(hdr_ret);
- zval **tmp;
- sdlSoapBindingFunctionHeaderPtr *hdr;
- smart_str key = {0};
-
- if (zend_hash_find(ht, "namespace", sizeof("namespace"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- smart_str_appendl(&key, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- smart_str_appendc(&key, ':');
- hdr_ns = Z_STRVAL_PP(tmp);
- }
- if (zend_hash_find(ht, "name", sizeof("name"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- smart_str_appendl(&key, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- hdr_name = Z_STRVAL_PP(tmp);
- }
- smart_str_0(&key);
- if (headers->hdr && headers->hdr->headerfaults &&
- zend_hash_find(headers->hdr->headerfaults, key.c, key.len+1, (void**)&hdr) == SUCCESS) {
- hdr_enc = (*hdr)->encode;
- hdr_use = (*hdr)->use;
- }
- smart_str_free(&key);
- if (zend_hash_find(ht, "data", sizeof("data"), (void**)&tmp) == SUCCESS) {
- hdr_ret = *tmp;
- } else {
- hdr_ret = NULL;
- }
- }
-
- if (headers->function) {
- if (serialize_response_call2(head, headers->function, Z_STRVAL(headers->function_name), uri, hdr_ret, version, 0 TSRMLS_CC) == SOAP_ENCODED) {
- use = SOAP_ENCODED;
- }
- } else {
- xmlNodePtr xmlHdr = master_to_xml(hdr_enc, hdr_ret, hdr_use, head);
- if (hdr_name) {
- xmlNodeSetName(xmlHdr,hdr_name);
- }
- if (hdr_ns) {
- xmlNsPtr nsptr = encode_add_ns(xmlHdr,hdr_ns);
- xmlSetNs(xmlHdr, nsptr);
- }
- }
- }
-
- body = xmlNewChild(envelope, ns, "Body", NULL);
- param = xmlNewChild(body, ns, "Fault", NULL);
-
- if (zend_hash_find(prop, "faultcodens", sizeof("faultcodens"), (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING) {
- fault_ns = Z_STRVAL_PP(tmp);
- }
- use = SOAP_LITERAL;
- if (zend_hash_find(prop, "_name", sizeof("_name"), (void**)&tmp) == SUCCESS && Z_TYPE_PP(tmp) == IS_STRING) {
- sdlFaultPtr *tmp_fault;
- if (function && function->faults &&
- zend_hash_find(function->faults, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp)+1, (void**)&tmp_fault) == SUCCESS) {
- fault = *tmp_fault;
- if (function->binding &&
- function->binding->bindingType == BINDING_SOAP &&
- fault->bindingAttributes) {
- sdlSoapBindingFunctionFaultPtr fb = (sdlSoapBindingFunctionFaultPtr)fault->bindingAttributes;
- use = fb->use;
- if (fault_ns == NULL) {
- fault_ns = fb->ns;
- }
- }
- }
- } else if (function && function->faults &&
- zend_hash_num_elements(function->faults) == 1) {
-
- zend_hash_internal_pointer_reset(function->faults);
- zend_hash_get_current_data(function->faults, (void**)&fault);
- fault = *(sdlFaultPtr*)fault;
- if (function->binding &&
- function->binding->bindingType == BINDING_SOAP &&
- fault->bindingAttributes) {
- sdlSoapBindingFunctionFaultPtr fb = (sdlSoapBindingFunctionFaultPtr)fault->bindingAttributes;
- use = fb->use;
- if (fault_ns == NULL) {
- fault_ns = fb->ns;
- }
- }
- }
-
- if (fault_ns == NULL &&
- fault &&
- fault->details &&
- zend_hash_num_elements(fault->details) == 1) {
- sdlParamPtr sparam;
-
- zend_hash_internal_pointer_reset(fault->details);
- zend_hash_get_current_data(fault->details, (void**)&sparam);
- sparam = *(sdlParamPtr*)sparam;
- if (sparam->element) {
- fault_ns = sparam->element->namens;
- }
- }
-
- if (version == SOAP_1_1) {
- if (zend_hash_find(prop, "faultcode", sizeof("faultcode"), (void**)&tmp) == SUCCESS) {
- int new_len;
- xmlNodePtr node = xmlNewNode(NULL, "faultcode");
- char *str = php_escape_html_entities(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), &new_len, 0, 0, NULL TSRMLS_CC);
- xmlAddChild(param, node);
- if (fault_ns) {
- xmlNsPtr nsptr = encode_add_ns(node, fault_ns);
- xmlNodeSetContent(node, xmlBuildQName(str, nsptr->prefix, NULL, 0));
- } else {
- xmlNodeSetContentLen(node, str, new_len);
- }
- efree(str);
- }
- if (zend_hash_find(prop, "faultstring", sizeof("faultstring"), (void**)&tmp) == SUCCESS) {
- int new_len;
- xmlNodePtr node = xmlNewNode(NULL, "faultstring");
- char *str = php_escape_html_entities(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), &new_len, 0, 0, NULL TSRMLS_CC);
- xmlAddChild(param, node);
- xmlNodeSetContentLen(node, str, new_len);
- efree(str);
- }
- if (zend_hash_find(prop, "faultactor", sizeof("faultactor"), (void**)&tmp) == SUCCESS) {
- int new_len;
- xmlNodePtr node = xmlNewNode(NULL, "faultactor");
- char *str = php_escape_html_entities(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), &new_len, 0, 0, NULL TSRMLS_CC);
- xmlAddChild(param, node);
- xmlNodeSetContentLen(node, str, new_len);
- efree(str);
- }
- detail_name = "detail";
- } else {
- if (zend_hash_find(prop, "faultcode", sizeof("faultcode"), (void**)&tmp) == SUCCESS) {
- int new_len;
- xmlNodePtr node = xmlNewChild(param, ns, "Code", NULL);
- char *str = php_escape_html_entities(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), &new_len, 0, 0, NULL TSRMLS_CC);
- node = xmlNewChild(node, ns, "Value", NULL);
- if (fault_ns) {
- xmlNsPtr nsptr = encode_add_ns(node, fault_ns);
- xmlNodeSetContent(node, xmlBuildQName(str, nsptr->prefix, NULL, 0));
- } else {
- xmlNodeSetContentLen(node, str, new_len);
- }
- efree(str);
- }
- if (zend_hash_find(prop, "faultstring", sizeof("faultstring"), (void**)&tmp) == SUCCESS) {
- int new_len;
- xmlNodePtr node = xmlNewChild(param, ns, "Reason", NULL);
- char *str = php_escape_html_entities(Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp), &new_len, 0, 0, NULL TSRMLS_CC);
- node = xmlNewChild(node, ns, "Text", NULL);
- xmlNodeSetContentLen(node, str, new_len);
- efree(str);
- }
- detail_name = SOAP_1_2_ENV_NS_PREFIX":Detail";
- }
- if (fault && fault->details && zend_hash_num_elements(fault->details) == 1) {
- xmlNodePtr node;
- zval *detail = NULL;
- sdlParamPtr sparam;
- xmlNodePtr x;
-
- if (zend_hash_find(prop, "detail", sizeof("detail"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) != IS_NULL) {
- detail = *tmp;
- }
- node = xmlNewNode(NULL, detail_name);
- xmlAddChild(param, node);
-
- zend_hash_internal_pointer_reset(fault->details);
- zend_hash_get_current_data(fault->details, (void**)&sparam);
- sparam = *(sdlParamPtr*)sparam;
-
- if (detail &&
- Z_TYPE_P(detail) == IS_OBJECT &&
- sparam->element &&
- zend_hash_num_elements(Z_OBJPROP_P(detail)) == 1 &&
- zend_hash_find(Z_OBJPROP_P(detail), sparam->element->name, strlen(sparam->element->name)+1, (void**)&tmp) == SUCCESS) {
- detail = *tmp;
- }
-
- x = serialize_parameter(sparam, detail, 1, NULL, use, node TSRMLS_CC);
-
- if (function &&
- function->binding &&
- function->binding->bindingType == BINDING_SOAP &&
- function->bindingAttributes) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)function->bindingAttributes;
- if (fnb->style == SOAP_RPC && !sparam->element) {
- if (fault->bindingAttributes) {
- sdlSoapBindingFunctionFaultPtr fb = (sdlSoapBindingFunctionFaultPtr)fault->bindingAttributes;
- if (fb->ns) {
- xmlNsPtr ns = encode_add_ns(x, fb->ns);
- xmlSetNs(x, ns);
- }
- }
- } else {
- if (sparam->element) {
- xmlNsPtr ns = encode_add_ns(x, sparam->element->namens);
- xmlNodeSetName(x, sparam->element->name);
- xmlSetNs(x, ns);
- }
- }
- }
- if (use == SOAP_ENCODED && version == SOAP_1_2) {
- xmlSetNsProp(x, envelope->ns, "encodingStyle", SOAP_1_2_ENC_NAMESPACE);
- }
- } else if (zend_hash_find(prop, "detail", sizeof("detail"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) != IS_NULL) {
- serialize_zval(*tmp, NULL, detail_name, use, param TSRMLS_CC);
- }
- } else {
-
- if (headers) {
- soapHeader *h;
-
- head = xmlNewChild(envelope, ns, "Header", NULL);
- h = headers;
- while (h != NULL) {
- if (Z_TYPE(h->retval) != IS_NULL) {
- encodePtr hdr_enc = NULL;
- int hdr_use = SOAP_LITERAL;
- zval *hdr_ret = &h->retval;
- char *hdr_ns = h->hdr?h->hdr->ns:NULL;
- char *hdr_name = Z_STRVAL(h->function_name);
-
-
- if (Z_TYPE(h->retval) == IS_OBJECT &&
- Z_OBJCE(h->retval) == soap_header_class_entry) {
- HashTable* ht = Z_OBJPROP(h->retval);
- zval **tmp;
- sdlSoapBindingFunctionHeaderPtr *hdr;
- smart_str key = {0};
-
- if (zend_hash_find(ht, "namespace", sizeof("namespace"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- smart_str_appendl(&key, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- smart_str_appendc(&key, ':');
- hdr_ns = Z_STRVAL_PP(tmp);
- }
- if (zend_hash_find(ht, "name", sizeof("name"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_STRING) {
- smart_str_appendl(&key, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
- hdr_name = Z_STRVAL_PP(tmp);
- }
- smart_str_0(&key);
- if (function && function->binding && function->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)function->bindingAttributes;
-
- if (fnb->output.headers &&
- zend_hash_find(fnb->output.headers, key.c, key.len+1, (void**)&hdr) == SUCCESS) {
- hdr_enc = (*hdr)->encode;
- hdr_use = (*hdr)->use;
- }
- }
- smart_str_free(&key);
- if (zend_hash_find(ht, "data", sizeof("data"), (void**)&tmp) == SUCCESS) {
- hdr_ret = *tmp;
- } else {
- hdr_ret = NULL;
- }
- }
-
- if (h->function) {
- if (serialize_response_call2(head, h->function, Z_STRVAL(h->function_name), uri, hdr_ret, version, 0 TSRMLS_CC) == SOAP_ENCODED) {
- use = SOAP_ENCODED;
- }
- } else {
- xmlNodePtr xmlHdr = master_to_xml(hdr_enc, hdr_ret, hdr_use, head);
- if (hdr_name) {
- xmlNodeSetName(xmlHdr,hdr_name);
- }
- if (hdr_ns) {
- xmlNsPtr nsptr = encode_add_ns(xmlHdr,hdr_ns);
- xmlSetNs(xmlHdr, nsptr);
- }
- }
- }
- h = h->next;
- }
-
- if (head->children == NULL) {
- xmlUnlinkNode(head);
- xmlFreeNode(head);
- }
- }
-
- body = xmlNewChild(envelope, ns, "Body", NULL);
-
- if (serialize_response_call2(body, function, function_name, uri, ret, version, 1 TSRMLS_CC) == SOAP_ENCODED) {
- use = SOAP_ENCODED;
- }
-
- }
-
- if (use == SOAP_ENCODED) {
- xmlNewNs(envelope, XSD_NAMESPACE, XSD_NS_PREFIX);
- xmlNewNs(envelope, XSI_NAMESPACE, XSI_NS_PREFIX);
- if (version == SOAP_1_1) {
- xmlNewNs(envelope, SOAP_1_1_ENC_NAMESPACE, SOAP_1_1_ENC_NS_PREFIX);
- xmlSetNsProp(envelope, envelope->ns, "encodingStyle", SOAP_1_1_ENC_NAMESPACE);
- } else if (version == SOAP_1_2) {
- xmlNewNs(envelope, SOAP_1_2_ENC_NAMESPACE, SOAP_1_2_ENC_NS_PREFIX);
- }
- }
-
- if (function && function->responseName == NULL &&
- body->children == NULL && head == NULL) {
- xmlFreeDoc(doc);
- return NULL;
- }
- return doc;
-}
-
-static xmlDocPtr serialize_function_call(zval *this_ptr, sdlFunctionPtr function, char *function_name, char *uri, zval **arguments, int arg_count, int version, HashTable *soap_headers TSRMLS_DC)
-{
- xmlDoc *doc;
- xmlNodePtr envelope = NULL, body, method = NULL, head = NULL;
- xmlNsPtr ns = NULL;
- zval **zstyle, **zuse;
- int i, style, use;
- HashTable *hdrs = NULL;
-
- encode_reset_ns();
-
- doc = xmlNewDoc("1.0");
- doc->encoding = xmlStrdup((xmlChar*)"UTF-8");
- doc->charset = XML_CHAR_ENCODING_UTF8;
- if (version == SOAP_1_1) {
- envelope = xmlNewDocNode(doc, NULL, "Envelope", NULL);
- ns = xmlNewNs(envelope, SOAP_1_1_ENV_NAMESPACE, SOAP_1_1_ENV_NS_PREFIX);
- xmlSetNs(envelope,ns);
- } else if (version == SOAP_1_2) {
- envelope = xmlNewDocNode(doc, NULL, "Envelope", NULL);
- ns = xmlNewNs(envelope, SOAP_1_2_ENV_NAMESPACE, SOAP_1_2_ENV_NS_PREFIX);
- xmlSetNs(envelope,ns);
- } else {
- soap_error0(E_ERROR, "Unknown SOAP version");
- }
- xmlDocSetRootElement(doc, envelope);
-
- if (soap_headers) {
- head = xmlNewChild(envelope, ns, "Header", NULL);
- }
-
- body = xmlNewChild(envelope, ns, "Body", NULL);
-
- if (function && function->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)function->bindingAttributes;
-
- hdrs = fnb->input.headers;
- style = fnb->style;
- /*FIXME: how to pass method name if style is SOAP_DOCUMENT */
- /*style = SOAP_RPC;*/
- use = fnb->input.use;
- if (style == SOAP_RPC) {
- ns = encode_add_ns(body, fnb->input.ns);
- if (function->requestName) {
- method = xmlNewChild(body, ns, function->requestName, NULL);
- } else {
- method = xmlNewChild(body, ns, function->functionName, NULL);
- }
- }
- } else {
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "style", sizeof("style"), (void **)&zstyle) == SUCCESS) {
- style = Z_LVAL_PP(zstyle);
- } else {
- style = SOAP_RPC;
- }
- /*FIXME: how to pass method name if style is SOAP_DOCUMENT */
- /*style = SOAP_RPC;*/
- if (style == SOAP_RPC) {
- ns = encode_add_ns(body, uri);
- method = xmlNewChild(body, ns, function_name, NULL);
- }
-
- if (zend_hash_find(Z_OBJPROP_P(this_ptr), "use", sizeof("use"), (void **)&zuse) == SUCCESS &&
- Z_LVAL_PP(zuse) == SOAP_LITERAL) {
- use = SOAP_LITERAL;
- } else {
- use = SOAP_ENCODED;
- }
- }
-
- for (i = 0;i < arg_count;i++) {
- xmlNodePtr param;
- sdlParamPtr parameter = get_param(function, NULL, i, FALSE);
-
- if (style == SOAP_RPC) {
- param = serialize_parameter(parameter, arguments[i], i, NULL, use, method TSRMLS_CC);
- } else if (style == SOAP_DOCUMENT) {
- param = serialize_parameter(parameter, arguments[i], i, NULL, use, body TSRMLS_CC);
- if (function && function->binding->bindingType == BINDING_SOAP) {
- if (parameter && parameter->element) {
- ns = encode_add_ns(param, parameter->element->namens);
- xmlNodeSetName(param, parameter->element->name);
- xmlSetNs(param, ns);
- }
- }
- }
- }
-
- if (function && function->requestParameters) {
- int n = zend_hash_num_elements(function->requestParameters);
-
- if (n > arg_count) {
- for (i = arg_count; i < n; i++) {
- xmlNodePtr param;
- sdlParamPtr parameter = get_param(function, NULL, i, FALSE);
-
- if (style == SOAP_RPC) {
- param = serialize_parameter(parameter, NULL, i, NULL, use, method TSRMLS_CC);
- } else if (style == SOAP_DOCUMENT) {
- param = serialize_parameter(parameter, NULL, i, NULL, use, body TSRMLS_CC);
- if (function && function->binding->bindingType == BINDING_SOAP) {
- if (parameter && parameter->element) {
- ns = encode_add_ns(param, parameter->element->namens);
- xmlNodeSetName(param, parameter->element->name);
- xmlSetNs(param, ns);
- }
- }
- }
- }
- }
- }
-
- if (head) {
- zval** header;
-
- zend_hash_internal_pointer_reset(soap_headers);
- while (zend_hash_get_current_data(soap_headers,(void**)&header) == SUCCESS) {
- HashTable *ht = Z_OBJPROP_PP(header);
- zval **name, **ns, **tmp;
-
- if (zend_hash_find(ht, "name", sizeof("name"), (void**)&name) == SUCCESS &&
- Z_TYPE_PP(name) == IS_STRING &&
- zend_hash_find(ht, "namespace", sizeof("namespace"), (void**)&ns) == SUCCESS &&
- Z_TYPE_PP(ns) == IS_STRING) {
- xmlNodePtr h;
- xmlNsPtr nsptr;
- int hdr_use = SOAP_LITERAL;
- encodePtr enc = NULL;
-
- if (hdrs) {
- smart_str key = {0};
- sdlSoapBindingFunctionHeaderPtr *hdr;
-
- smart_str_appendl(&key, Z_STRVAL_PP(ns), Z_STRLEN_PP(ns));
- smart_str_appendc(&key, ':');
- smart_str_appendl(&key, Z_STRVAL_PP(name), Z_STRLEN_PP(name));
- smart_str_0(&key);
- if (zend_hash_find(hdrs, key.c, key.len+1,(void**)&hdr) == SUCCESS) {
- hdr_use = (*hdr)->use;
- enc = (*hdr)->encode;
- if (hdr_use == SOAP_ENCODED) {
- use = SOAP_ENCODED;
- }
- }
- smart_str_free(&key);
- }
-
- if (zend_hash_find(ht, "data", sizeof("data"), (void**)&tmp) == SUCCESS) {
- h = master_to_xml(enc, *tmp, hdr_use, head);
- xmlNodeSetName(h, Z_STRVAL_PP(name));
- } else {
- h = xmlNewNode(NULL, Z_STRVAL_PP(name));
- xmlAddChild(head,h);
- }
- nsptr = encode_add_ns(h,Z_STRVAL_PP(ns));
- xmlSetNs(h, nsptr);
-
- if (zend_hash_find(ht, "mustUnderstand", sizeof("mustUnderstand"), (void**)&tmp) == SUCCESS &&
- Z_TYPE_PP(tmp) == IS_BOOL && Z_LVAL_PP(tmp)) {
- if (version == SOAP_1_1) {
- xmlSetProp(h, SOAP_1_1_ENV_NS_PREFIX":mustUnderstand","1");
- } else {
- xmlSetProp(h, SOAP_1_2_ENV_NS_PREFIX":mustUnderstand","true");
- }
- }
- if (zend_hash_find(ht, "actor", sizeof("actor"), (void**)&tmp) == SUCCESS) {
- if (Z_TYPE_PP(tmp) == IS_STRING) {
- if (version == SOAP_1_1) {
- xmlSetProp(h, SOAP_1_1_ENV_NS_PREFIX":actor",Z_STRVAL_PP(tmp));
- } else {
- xmlSetProp(h, SOAP_1_2_ENV_NS_PREFIX":role",Z_STRVAL_PP(tmp));
- }
- } else if (Z_TYPE_PP(tmp) == IS_LONG) {
- if (version == SOAP_1_1) {
- if (Z_LVAL_PP(tmp) == SOAP_ACTOR_NEXT) {
- xmlSetProp(h, SOAP_1_1_ENV_NS_PREFIX":actor",SOAP_1_1_ACTOR_NEXT);
- }
- } else {
- if (Z_LVAL_PP(tmp) == SOAP_ACTOR_NEXT) {
- xmlSetProp(h, SOAP_1_2_ENV_NS_PREFIX":role",SOAP_1_2_ACTOR_NEXT);
- } else if (Z_LVAL_PP(tmp) == SOAP_ACTOR_NONE) {
- xmlSetProp(h, SOAP_1_2_ENV_NS_PREFIX":role",SOAP_1_2_ACTOR_NONE);
- } else if (Z_LVAL_PP(tmp) == SOAP_ACTOR_UNLIMATERECEIVER) {
- xmlSetProp(h, SOAP_1_2_ENV_NS_PREFIX":role",SOAP_1_2_ACTOR_UNLIMATERECEIVER);
- }
- }
- }
- }
- }
- zend_hash_move_forward(soap_headers);
- }
- }
-
- if (use == SOAP_ENCODED) {
- xmlNewNs(envelope, XSD_NAMESPACE, XSD_NS_PREFIX);
- xmlNewNs(envelope, XSI_NAMESPACE, XSI_NS_PREFIX);
- if (version == SOAP_1_1) {
- xmlNewNs(envelope, SOAP_1_1_ENC_NAMESPACE, SOAP_1_1_ENC_NS_PREFIX);
- xmlSetNsProp(envelope, envelope->ns, "encodingStyle", SOAP_1_1_ENC_NAMESPACE);
- } else if (version == SOAP_1_2) {
- xmlNewNs(envelope, SOAP_1_2_ENC_NAMESPACE, SOAP_1_2_ENC_NS_PREFIX);
- if (method) {
- xmlSetNsProp(method, envelope->ns, "encodingStyle", SOAP_1_2_ENC_NAMESPACE);
- }
- }
- }
-
- return doc;
-}
-
-static xmlNodePtr serialize_parameter(sdlParamPtr param, zval *param_val, int index, char *name, int style, xmlNodePtr parent TSRMLS_DC)
-{
- char *paramName;
- xmlNodePtr xmlParam;
- char paramNameBuf[10];
-
- if (param_val &&
- Z_TYPE_P(param_val) == IS_OBJECT &&
- Z_OBJCE_P(param_val) == soap_param_class_entry) {
- zval **param_name;
- zval **param_data;
-
- if (zend_hash_find(Z_OBJPROP_P(param_val), "param_name", sizeof("param_name"), (void **)&param_name) == SUCCESS &&
- zend_hash_find(Z_OBJPROP_P(param_val), "param_data", sizeof("param_data"), (void **)&param_data) == SUCCESS) {
- param_val = *param_data;
- name = Z_STRVAL_PP(param_name);
- }
- }
-
- if (param != NULL && param->paramName != NULL) {
- paramName = param->paramName;
- } else {
- if (name == NULL) {
- paramName = paramNameBuf;
- sprintf(paramName,"param%d",index);
- } else {
- paramName = name;
- }
- }
-
- xmlParam = serialize_zval(param_val, param, paramName, style, parent TSRMLS_CC);
-
- return xmlParam;
-}
-
-static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, char *paramName, int style, xmlNodePtr parent TSRMLS_DC)
-{
- xmlNodePtr xmlParam;
- encodePtr enc;
-
- if (param != NULL) {
- enc = param->encode;
- } else {
- enc = NULL;
- }
- xmlParam = master_to_xml(enc, val, style, parent);
- if (!strcmp(xmlParam->name, "BOGUS")) {
- xmlNodeSetName(xmlParam, paramName);
- }
- return xmlParam;
-}
-
-static sdlParamPtr get_param(sdlFunctionPtr function, char *param_name, int index, int response)
-{
- sdlParamPtr *tmp;
- HashTable *ht;
-
- if (function == NULL) {
- return NULL;
- }
-
- if (response == FALSE) {
- ht = function->requestParameters;
- } else {
- ht = function->responseParameters;
- }
-
- if (ht == NULL) {
- return NULL;
- }
-
- if (param_name != NULL) {
- if (zend_hash_find(ht, param_name, strlen(param_name), (void **)&tmp) != FAILURE) {
- return *tmp;
- } else {
- HashPosition pos;
-
- zend_hash_internal_pointer_reset_ex(ht, &pos);
- while (zend_hash_get_current_data_ex(ht, (void **)&tmp, &pos) != FAILURE) {
- if ((*tmp)->paramName && strcmp(param_name, (*tmp)->paramName) == 0) {
- return *tmp;
- }
- zend_hash_move_forward_ex(ht, &pos);
- }
- }
- } else {
- if (zend_hash_index_find(ht, index, (void **)&tmp) != FAILURE) {
- return (*tmp);
- }
- }
- return NULL;
-}
-
-static sdlFunctionPtr get_function(sdlPtr sdl, const char *function_name)
-{
- sdlFunctionPtr *tmp;
-
- int len = strlen(function_name);
- char *str = estrndup(function_name,len);
- php_strtolower(str,len);
- if (sdl != NULL) {
- if (zend_hash_find(&sdl->functions, str, len+1, (void **)&tmp) != FAILURE) {
- efree(str);
- return (*tmp);
- } else if (sdl->requests != NULL && zend_hash_find(sdl->requests, str, len+1, (void **)&tmp) != FAILURE) {
- efree(str);
- return (*tmp);
- }
- }
- efree(str);
- return NULL;
-}
-
-static sdlFunctionPtr get_doc_function(sdlPtr sdl, xmlNodePtr params)
-{
- if (sdl) {
- sdlFunctionPtr *tmp;
- sdlParamPtr *param;
-
- zend_hash_internal_pointer_reset(&sdl->functions);
- while (zend_hash_get_current_data(&sdl->functions, (void**)&tmp) == SUCCESS) {
- if ((*tmp)->binding && (*tmp)->binding->bindingType == BINDING_SOAP) {
- sdlSoapBindingFunctionPtr fnb = (sdlSoapBindingFunctionPtr)(*tmp)->bindingAttributes;
- if (fnb->style == SOAP_DOCUMENT) {
- if (params == NULL) {
- if ((*tmp)->requestParameters == NULL ||
- zend_hash_num_elements((*tmp)->requestParameters) == 0) {
- return *tmp;
- }
- } else if ((*tmp)->requestParameters != NULL &&
- zend_hash_num_elements((*tmp)->requestParameters) > 0) {
- int ok = 1;
- xmlNodePtr node = params;
-
- zend_hash_internal_pointer_reset((*tmp)->requestParameters);
- while (zend_hash_get_current_data((*tmp)->requestParameters, (void**)&param) == SUCCESS) {
- if ((*param)->element) {
- if (strcmp((*param)->element->name,node->name) != 0) {
- ok = 0;
- break;
- }
- if ((*param)->element->namens != NULL && node->ns != NULL) {
- if (strcmp((*param)->element->namens,node->ns->href) != 0) {
- ok = 0;
- break;
- }
- } else if ((void*)(*param)->element->namens != (void*)node->ns) {
- ok = 0;
- break;
- }
- } else if (strcmp((*param)->paramName,node->name) != 0) {
- ok = 0;
- break;
- }
- zend_hash_move_forward((*tmp)->requestParameters);
- }
- if (ok /*&& node == NULL*/) {
- return (*tmp);
- }
- }
- }
- }
- zend_hash_move_forward(&sdl->functions);
- }
- }
- return NULL;
-}
-
-static void function_to_string(sdlFunctionPtr function, smart_str *buf)
-{
- int i = 0;
- HashPosition pos;
- sdlParamPtr *param;
-
- if (function->responseParameters &&
- zend_hash_num_elements(function->responseParameters) > 0) {
- if (zend_hash_num_elements(function->responseParameters) == 1) {
- zend_hash_internal_pointer_reset(function->responseParameters);
- zend_hash_get_current_data(function->responseParameters, (void**)&param);
- if ((*param)->encode && (*param)->encode->details.type_str) {
- smart_str_appendl(buf, (*param)->encode->details.type_str, strlen((*param)->encode->details.type_str));
- smart_str_appendc(buf, ' ');
- } else {
- smart_str_appendl(buf, "UNKNOWN ", 8);
- }
- } else {
- i = 0;
- smart_str_appendl(buf, "list(", 5);
- zend_hash_internal_pointer_reset_ex(function->responseParameters, &pos);
- while (zend_hash_get_current_data_ex(function->responseParameters, (void **)&param, &pos) != FAILURE) {
- if (i > 0) {
- smart_str_appendl(buf, ", ", 2);
- }
- if ((*param)->encode && (*param)->encode->details.type_str) {
- smart_str_appendl(buf, (*param)->encode->details.type_str, strlen((*param)->encode->details.type_str));
- } else {
- smart_str_appendl(buf, "UNKNOWN", 7);
- }
- smart_str_appendl(buf, " $", 2);
- smart_str_appendl(buf, (*param)->paramName, strlen((*param)->paramName));
- zend_hash_move_forward_ex(function->responseParameters, &pos);
- i++;
- }
- smart_str_appendl(buf, ") ", 2);
- }
- } else {
- smart_str_appendl(buf, "void ", 5);
- }
-
- smart_str_appendl(buf, function->functionName, strlen(function->functionName));
-
- smart_str_appendc(buf, '(');
- if (function->requestParameters) {
- i = 0;
- zend_hash_internal_pointer_reset_ex(function->requestParameters, &pos);
- while (zend_hash_get_current_data_ex(function->requestParameters, (void **)&param, &pos) != FAILURE) {
- if (i > 0) {
- smart_str_appendl(buf, ", ", 2);
- }
- if ((*param)->encode && (*param)->encode->details.type_str) {
- smart_str_appendl(buf, (*param)->encode->details.type_str, strlen((*param)->encode->details.type_str));
- } else {
- smart_str_appendl(buf, "UNKNOWN", 7);
- }
- smart_str_appendl(buf, " $", 2);
- smart_str_appendl(buf, (*param)->paramName, strlen((*param)->paramName));
- zend_hash_move_forward_ex(function->requestParameters, &pos);
- i++;
- }
- }
- smart_str_appendc(buf, ')');
- smart_str_0(buf);
-}
-
-static void model_to_string(sdlContentModelPtr model, smart_str *buf, int level)
-{
- int i;
-
- switch (model->kind) {
- case XSD_CONTENT_ELEMENT:
- type_to_string(model->u.element, buf, level);
- smart_str_appendl(buf, ";\n", 2);
- break;
- case XSD_CONTENT_ANY:
- for (i = 0;i < level;i++) {
- smart_str_appendc(buf, ' ');
- }
- smart_str_appendl(buf, "<anyXML> any;\n", sizeof("<anyXML> any;\n")-1);
- break;
- case XSD_CONTENT_SEQUENCE:
- case XSD_CONTENT_ALL:
- case XSD_CONTENT_CHOICE: {
- sdlContentModelPtr *tmp;
-
- zend_hash_internal_pointer_reset(model->u.content);
- while (zend_hash_get_current_data(model->u.content, (void**)&tmp) == SUCCESS) {
- model_to_string(*tmp, buf, level);
- zend_hash_move_forward(model->u.content);
- }
- break;
- }
- case XSD_CONTENT_GROUP:
- model_to_string(model->u.group->model, buf, level);
- default:
- break;
- }
-}
-
-static void type_to_string(sdlTypePtr type, smart_str *buf, int level)
-{
- int i;
- smart_str spaces = {0};
- HashPosition pos;
-
- for (i = 0;i < level;i++) {
- smart_str_appendc(&spaces, ' ');
- }
- smart_str_appendl(buf, spaces.c, spaces.len);
-
- switch (type->kind) {
- case XSD_TYPEKIND_SIMPLE:
- case XSD_TYPEKIND_LIST:
- case XSD_TYPEKIND_UNION:
- if (type->encode) {
- smart_str_appendl(buf, type->encode->details.type_str, strlen(type->encode->details.type_str));
- smart_str_appendc(buf, ' ');
- } else {
- smart_str_appendl(buf, "anyType ", sizeof("anyType ")-1);
- }
- smart_str_appendl(buf, type->name, strlen(type->name));
- break;
- case XSD_TYPEKIND_COMPLEX:
- case XSD_TYPEKIND_RESTRICTION:
- case XSD_TYPEKIND_EXTENSION:
- if (type->encode &&
- (type->encode->details.type == IS_ARRAY ||
- type->encode->details.type == SOAP_ENC_ARRAY)) {
- sdlAttributePtr *attr;
- sdlExtraAttributePtr *ext;
-
- if (type->attributes &&
- zend_hash_find(type->attributes, SOAP_1_1_ENC_NAMESPACE":arrayType",
- sizeof(SOAP_1_1_ENC_NAMESPACE":arrayType"),
- (void **)&attr) == SUCCESS &&
- zend_hash_find((*attr)->extraAttributes, WSDL_NAMESPACE":arrayType", sizeof(WSDL_NAMESPACE":arrayType"), (void **)&ext) == SUCCESS) {
- char *end = strchr((*ext)->val, '[');
- int len;
- if (end == NULL) {
- len = strlen((*ext)->val);
- } else {
- len = end-(*ext)->val;
- }
- if (len == 0) {
- smart_str_appendl(buf, "anyType", sizeof("anyType")-1);
- } else {
- smart_str_appendl(buf, (*ext)->val, len);
- }
- smart_str_appendc(buf, ' ');
- smart_str_appendl(buf, type->name, strlen(type->name));
- if (end != NULL) {
- smart_str_appends(buf, end);
- }
- } else {
- sdlTypePtr elementType;
- if (type->attributes &&
- zend_hash_find(type->attributes, SOAP_1_2_ENC_NAMESPACE":itemType",
- sizeof(SOAP_1_2_ENC_NAMESPACE":itemType"),
- (void **)&attr) == SUCCESS &&
- zend_hash_find((*attr)->extraAttributes, WSDL_NAMESPACE":itemType", sizeof(WSDL_NAMESPACE":arrayType"), (void **)&ext) == SUCCESS) {
- smart_str_appends(buf, (*ext)->val);
- smart_str_appendc(buf, ' ');
- } else if (type->elements &&
- zend_hash_num_elements(type->elements) == 1 &&
- (zend_hash_internal_pointer_reset(type->elements),
- zend_hash_get_current_data(type->elements, (void**)&elementType) == SUCCESS) &&
- (elementType = *(sdlTypePtr*)elementType) != NULL &&
- elementType->encode && elementType->encode->details.type_str) {
- smart_str_appends(buf, elementType->encode->details.type_str);
- smart_str_appendc(buf, ' ');
- } else {
- smart_str_appendl(buf, "anyType ", 8);
- }
- smart_str_appendl(buf, type->name, strlen(type->name));
- if (type->attributes &&
- zend_hash_find(type->attributes, SOAP_1_2_ENC_NAMESPACE":arraySize",
- sizeof(SOAP_1_2_ENC_NAMESPACE":arraySize"),
- (void **)&attr) == SUCCESS &&
- zend_hash_find((*attr)->extraAttributes, WSDL_NAMESPACE":itemType", sizeof(WSDL_NAMESPACE":arraySize"), (void **)&ext) == SUCCESS) {
- smart_str_appendc(buf, '[');
- smart_str_appends(buf, (*ext)->val);
- smart_str_appendc(buf, ']');
- } else {
- smart_str_appendl(buf, "[]", 2);
- }
- }
- } else {
- smart_str_appendl(buf, "struct ", 7);
- smart_str_appendl(buf, type->name, strlen(type->name));
- smart_str_appendc(buf, ' ');
- smart_str_appendl(buf, "{\n", 2);
- if ((type->kind == XSD_TYPEKIND_RESTRICTION ||
- type->kind == XSD_TYPEKIND_EXTENSION) && type->encode) {
- encodePtr enc = type->encode;
- while (enc && enc->details.sdl_type &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_SIMPLE &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_LIST &&
- enc->details.sdl_type->kind != XSD_TYPEKIND_UNION) {
- enc = enc->details.sdl_type->encode;
- }
- if (enc) {
- smart_str_appendl(buf, spaces.c, spaces.len);
- smart_str_appendc(buf, ' ');
- smart_str_appendl(buf, type->encode->details.type_str, strlen(type->encode->details.type_str));
- smart_str_appendl(buf, " _;\n", 4);
- }
- }
- if (type->model) {
- model_to_string(type->model, buf, level+1);
- }
- if (type->attributes) {
- sdlAttributePtr *attr;
-
- zend_hash_internal_pointer_reset_ex(type->attributes, &pos);
- while (zend_hash_get_current_data_ex(type->attributes, (void **)&attr, &pos) != FAILURE) {
- smart_str_appendl(buf, spaces.c, spaces.len);
- smart_str_appendc(buf, ' ');
- if ((*attr)->encode && (*attr)->encode->details.type_str) {
- smart_str_appends(buf, (*attr)->encode->details.type_str);
- smart_str_appendc(buf, ' ');
- } else {
- smart_str_appendl(buf, "UNKNOWN ", 8);
- }
- smart_str_appends(buf, (*attr)->name);
- smart_str_appendl(buf, ";\n", 2);
- zend_hash_move_forward_ex(type->attributes, &pos);
- }
- }
- smart_str_appendl(buf, spaces.c, spaces.len);
- smart_str_appendc(buf, '}');
- }
- break;
- default:
- break;
- }
- smart_str_free(&spaces);
- smart_str_0(buf);
-}
-
-static void delete_url(void *handle)
-{
- php_url_free((php_url*)handle);
-}
-
-static void delete_service(void *data)
-{
- soapServicePtr service = (soapServicePtr)data;
-
- if (service->soap_functions.ft) {
- zend_hash_destroy(service->soap_functions.ft);
- efree(service->soap_functions.ft);
- }
-
- if (service->mapping) {
- zend_hash_destroy(service->mapping);
- efree(service->mapping);
- }
-
- if (service->soap_class.argc) {
- int i;
- for (i = 0; i < service->soap_class.argc;i++) {
- zval_ptr_dtor(&service->soap_class.argv[i]);
- }
- efree(service->soap_class.argv);
- }
-
- if (service->actor) {
- efree(service->actor);
- }
- if (service->uri) {
- efree(service->uri);
- }
- if (service->sdl) {
- delete_sdl(service->sdl);
- }
- if (service->encoding) {
- xmlCharEncCloseFunc(service->encoding);
- }
- if (service->class_map) {
- zend_hash_destroy(service->class_map);
- FREE_HASHTABLE(service->class_map);
- }
- efree(service);
-}
diff --git a/ext/soap/tests/bugs/bug27722.phpt b/ext/soap/tests/bugs/bug27722.phpt
deleted file mode 100644
index 5df6adb816..0000000000
--- a/ext/soap/tests/bugs/bug27722.phpt
+++ /dev/null
@@ -1,13 +0,0 @@
---TEST--
-Bug #27722 (Segfault on schema without targetNamespace)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---GET--
-wsdl
---FILE--
-<?php
-$x = new SoapClient(dirname(__FILE__)."/bug27722.wsdl");
-echo "ok\n";
-?>
---EXPECT--
-ok \ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug27722.wsdl b/ext/soap/tests/bugs/bug27722.wsdl
deleted file mode 100644
index 51f11e6c0f..0000000000
--- a/ext/soap/tests/bugs/bug27722.wsdl
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" ?>
-<definitions
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:si="http://soapinterop.org/xsd"
- xmlns:tns="http://linuxsrv.home/~dmitry/soap/test.wsdl"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- targetNamespace="http://linuxsrv.home/~dmitry/soap/test.wsdl">
- <types>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Purchase order schema for Example.com.
- Copyright 2000 Example.com. All rights reserved.
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
-
- <xsd:element name="comment" type="xsd:string"/>
-
- <xsd:complexType name="PurchaseOrderType">
- <xsd:sequence>
- <xsd:element name="shipTo" type="USAddress"/>
- <xsd:element name="billTo" type="USAddress"/>
- <xsd:element ref="comment" minOccurs="0"/>
- <xsd:element name="items" type="Items"/>
- </xsd:sequence>
- <xsd:attribute name="orderDate" type="xsd:date"/>
- </xsd:complexType>
-
- <xsd:complexType name="USAddress">
- <xsd:sequence>
- <xsd:element name="name" type="xsd:string"/>
- <xsd:element name="street" type="xsd:string"/>
- <xsd:element name="city" type="xsd:string"/>
- <xsd:element name="state" type="xsd:string"/>
- <xsd:element name="zip" type="xsd:decimal"/>
- </xsd:sequence>
- <xsd:attribute name="country" type="xsd:NMTOKEN"
- fixed="US"/>
- </xsd:complexType>
-
- <xsd:complexType name="Items">
- <xsd:sequence>
- <xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="productName" type="xsd:string"/>
- <xsd:element name="quantity">
- <xsd:simpleType>
- <xsd:restriction base="xsd:positiveInteger">
- <xsd:maxExclusive value="100"/>
- </xsd:restriction>
- </xsd:simpleType>
- </xsd:element>
- <xsd:element name="USPrice" type="xsd:decimal"/>
- <xsd:element ref="comment" minOccurs="0"/>
- <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="partNum" type="SKU" use="required"/>
- </xsd:complexType>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
-
- <!-- Stock Keeping Unit, a code for identifying products -->
- <simpleType name="SKU">
- <restriction base="xsd:string">
- <pattern value="\d{3}-[A-Z]{2}"/>
- </restriction>
- </simpleType>
-
-</xsd:schema>
-</types>
- <portType name="TestServicePortType">
- </portType>
-
- <binding name="TestServiceBinding" type="tns:TestServicePortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- </binding>
-
- <service name="TestService">
- <port name="TestServicePort" binding="tns:TestServiceBinding">
- <soap:address location="test://" />
- </port>
- </service>
-</definitions>
diff --git a/ext/soap/tests/bugs/bug27742.phpt b/ext/soap/tests/bugs/bug27742.phpt
deleted file mode 100644
index 1de856828e..0000000000
--- a/ext/soap/tests/bugs/bug27742.phpt
+++ /dev/null
@@ -1,13 +0,0 @@
---TEST--
-Bug #27742 (WDSL SOAP Parsing Schema bug)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---GET--
-wsdl
---FILE--
-<?php
-$x = new SoapClient(dirname(__FILE__)."/bug27742.wsdl");
-echo "ok\n";
-?>
---EXPECT--
-ok
diff --git a/ext/soap/tests/bugs/bug27742.wsdl b/ext/soap/tests/bugs/bug27742.wsdl
deleted file mode 100644
index f38d911852..0000000000
--- a/ext/soap/tests/bugs/bug27742.wsdl
+++ /dev/null
@@ -1,854 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Rakesh Vidyadharan (Enterprise Application Development Tribune Media Services) -->
-<wsdl:definitions name="xtvdWebService" targetNamespace="urn:TMSWebServices" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tms="urn:TMSWebServices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <xsd:schema targetNamespace="urn:TMSWebServices" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tms="urn:TMSWebServices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <simpleType name="duration">
- <annotation>
- <documentation xml:lang="en">ISO 8601 pattern used to denote program durations. Year, month and day are not relevent in our context and are omitted.</documentation>
- </annotation>
- <restriction base="xsd:duration">
- <pattern value="PT[0-9][0-9]H[0-5][0-9]M"/>
- </restriction>
- </simpleType>
- <simpleType name="dateTime">
- <annotation>
- <documentation xml:lang="en">ISO 8601 pattern for date+time information : YYYY-MM-DDThh:mm:ssZ</documentation>
- </annotation>
- <restriction base="xsd:dateTime">
- <pattern value="20[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]Z"/>
- </restriction>
- </simpleType>
- <simpleType name="date">
- <annotation>
- <documentation xml:lang="en">ISO 8601 pattern for date: YYYY-MM-DD</documentation>
- </annotation>
- <restriction base="xsd:date">
- <pattern value="(19|20)[0-9]{2}\-[0-1][0-9]\-[0-3][0-9]"/>
- </restriction>
- </simpleType>
- <simpleType name="time">
- <annotation>
- <documentation xml:lang="en">ISO 8601 pattern for time of day : hh:mm:ss</documentation>
- </annotation>
- <restriction base="xsd:time">
- <pattern value="\d\d:\d\d:\d\d"/>
- </restriction>
- </simpleType>
- <simpleType name="mpaaRatings">
- <annotation>
- <documentation xml:lang="en">MPAA standard ratings for a movie as defined in the movie and TV database schemas.</documentation>
- </annotation>
- <restriction base="xsd:string">
- <enumeration value="Adult">
- <annotation>
- <documentation xml:lang="en">This is the way this rating is defined in the movies database schema.</documentation>
- </annotation>
- </enumeration>
- <enumeration value="AO">
- <annotation>
- <documentation xml:lang="en">This is the way this rating is defined in the TV database schema.</documentation>
- </annotation>
- </enumeration>
- <enumeration value="G"/>
- <enumeration value="NC-17"/>
- <enumeration value="NONE">
- <annotation>
- <documentation xml:lang="en">Films in the movie database that do not have any ratings associated with them are sometimes marked with this value.</documentation>
- </annotation>
- </enumeration>
- <enumeration value="NOT RATED">
- <annotation>
- <documentation xml:lang="en">This is the way films without any rating are defined in the movies database schema.</documentation>
- </annotation>
- </enumeration>
- <enumeration value="NR">
- <annotation>
- <documentation xml:lang="en">This is the way films without any rating are defined in the TV database schema.</documentation>
- </annotation>
- </enumeration>
- <enumeration value="PG"/>
- <enumeration value="PG-13"/>
- <enumeration value="R"/>
- </restriction>
- </simpleType>
- <simpleType name="starRating">
- <annotation>
- <documentation xml:lang="en">A Zap2it reviewer assigned rating for a given film.</documentation>
- </annotation>
- <restriction base="xsd:string">
- <enumeration value="*"/>
- <enumeration value="*+"/>
- <enumeration value="**"/>
- <enumeration value="**+"/>
- <enumeration value="***"/>
- <enumeration value="***+"/>
- <enumeration value="****"/>
- </restriction>
- </simpleType>
- <simpleType name="movieCrewRole">
- <annotation>
- <documentation xml:lang="en">The roles that are currently defined for the production crew associated with a given film.</documentation>
- </annotation>
- <restriction base="xsd:string">
- <enumeration value="Actor"/>
- <enumeration value="Director"/>
- <enumeration value="Executive Producer"/>
- <enumeration value="Guest Star"/>
- <enumeration value="Producer"/>
- <enumeration value="Writer"/>
- </restriction>
- </simpleType>
- <simpleType name="movieGenres">
- <annotation>
- <documentation xml:lang="en">The standard genres that are used to classify films in the movies database schema.</documentation>
- </annotation>
- <restriction base="xsd:string">
- <enumeration value=""/>
- <enumeration value="Action"/>
- <enumeration value="Adults only"/>
- <enumeration value="Adventure"/>
- <enumeration value="Animated musical"/>
- <enumeration value="Biography"/>
- <enumeration value="Children"/>
- <enumeration value="Comedy"/>
- <enumeration value="Comedy-drama"/>
- <enumeration value="Crime drama"/>
- <enumeration value="Docudrama"/>
- <enumeration value="Documentary"/>
- <enumeration value="Drama"/>
- <enumeration value="Fantasy"/>
- <enumeration value="French"/>
- <enumeration value="Historical drama"/>
- <enumeration value="Horror"/>
- <enumeration value="Martial arts"/>
- <enumeration value="Musical"/>
- <enumeration value="Musical comedy"/>
- <enumeration value="Musical romance"/>
- <enumeration value="Mystery"/>
- <enumeration value="Romance"/>
- <enumeration value="Romance-comedy"/>
- <enumeration value="Science fiction"/>
- <enumeration value="Spanish"/>
- <enumeration value="Suspense"/>
- <enumeration value="Suspense-comedy"/>
- <enumeration value="War"/>
- <enumeration value="Western"/>
- </restriction>
- </simpleType>
- <simpleType name="movieAdvisories">
- <annotation>
- <documentation xml:lang="en">The standard advisory messages that are associated with a movie shown on TV.</documentation>
- </annotation>
- <restriction base="xsd:string">
- <enumeration value="Adult Situations"/>
- <enumeration value="Adolescentes y Adultos"/>
- <enumeration value="Adultos"/>
- <enumeration value="Brief Nudity"/>
- <enumeration value="Graphic Language"/>
- <enumeration value="Graphic Violence"/>
- <enumeration value="Language"/>
- <enumeration value="Mild Violence"/>
- <enumeration value="Nudity"/>
- <enumeration value="Publico General"/>
- <enumeration value="Rape"/>
- <enumeration value="Strong Sexual Content"/>
- <enumeration value="Violence"/>
- </restriction>
- </simpleType>
- <simpleType name="tvRatings">
- <annotation>
- <documentation xml:lang="en">The FCC standard ratings for TV programs (http://www.fcc.gov/vchip/#guidelines)</documentation>
- </annotation>
- <restriction base="xsd:string">
- <enumeration value="TVY"/>
- <enumeration value="TVY7"/>
- <enumeration value="TVG"/>
- <enumeration value="TVPG"/>
- <enumeration value="TV14"/>
- <enumeration value="TVMA"/>
- </restriction>
- </simpleType>
- <simpleType name="tvColorCode">
- <annotation>
- <documentation>The standard color codes used to denote the color scheme used by a TV program (eg. Color, B &amp; W ...).</documentation>
- </annotation>
- <restriction base="xsd:string">
- <enumeration value="B &amp; W">
- <annotation>
- <documentation xml:lang="en">Indicates that the program is begin telecast in Black and White.</documentation>
- </annotation>
- </enumeration>
- <enumeration value="Color">
- <annotation>
- <documentation xml:lang="en">Indicates that the program being telecast is in color.</documentation>
- </annotation>
- </enumeration>
- <enumeration value="Colorized">
- <annotation>
- <documentation xml:lang="en">Indicates that the program being telecast is a colorised version of the original program.</documentation>
- </annotation>
- </enumeration>
- <enumeration value="Color and B &amp; W">
- <annotation>
- <documentation xml:lang="en">Indicates that the program being telecast is partly in color and partly in Black and White.</documentation>
- </annotation>
- </enumeration>
- </restriction>
- </simpleType>
- <attributeGroup name="filmDataAttributes">
- <annotation>
- <documentation xml:lang="en">Common attributes that are applicable to all the root elements of the XML schemas developed to represent film data.</documentation>
- </annotation>
- <attribute name="postalCode" type="xsd:string" use="optional">
- <annotation>
- <documentation xml:lang="en">The ZIP/Postal code for which the theatre list was generated.</documentation>
- </annotation>
- </attribute>
- <attribute name="radius" type="xsd:float" use="optional" default="5">
- <annotation>
- <documentation xml:lang="en">The radius around the centroid of the ZIP/Postal code within which the films are located. A default value of 20 (miles for US customers and kilometres for non-US customers) will be used if the client making the request did not specify a radius.</documentation>
- </annotation>
- </attribute>
- <attribute name="maxCount" type="xsd:int" use="optional">
- <annotation>
- <documentation xml:lang="en">The maximum number of film/theatre records that are included in the document. This number may be specified by the client making the request for the list of films/theatres/showtimes.</documentation>
- </annotation>
- </attribute>
- </attributeGroup>
- <complexType name="crewMember">
- <annotation>
- <documentation xml:lang="en">A cast or production crew member for a film or TV show.</documentation>
- </annotation>
- <sequence>
- <element name="role" type="xsd:string">
- <annotation>
- <documentation xml:lang="en">Describes the role of the crew member. Eg. Actor, Director ...</documentation>
- </annotation>
- </element>
- <element name="givenname" type="xsd:string" nillable="true">
- <annotation>
- <documentation xml:lang="en">The given/first name of the crew member. The element name follows LDAP naming convention. TMS does not have given/first names for all cast/crew members. Hence this element is nillable.</documentation>
- </annotation>
- </element>
- <element name="surname" type="xsd:string">
- <annotation>
- <documentation xml:lang="en">The surname/last-name of the crew member. The element name follows LDAP naming convention.</documentation>
- </annotation>
- </element>
- </sequence>
- </complexType>
- <complexType name="image">
- <annotation>
- <documentation>Complex type that contains the attributes of an image. The only attribute available at present is its URI.</documentation>
- </annotation>
- <sequence>
- <element name="imageUri" type="xsd:anyURI" nillable="true">
- <annotation>
- <documentation>This element contains an absolute URI to an image associated with the film.</documentation>
- </annotation>
- </element>
- <element name="width" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation>This element defines the width of the image associated with the film. This element is a place holder. The width attribute is not available at present.</documentation>
- </annotation>
- </element>
- <element name="height" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation>This element defines the height of the image associated with the film. This element is a place holder. The height attribute is not available at present.</documentation>
- </annotation>
- </element>
- </sequence>
- </complexType>
- <complexType name="address">
- <annotation>
- <documentation xml:lang="en">This complex type describes a generic address.</documentation>
- </annotation>
- <sequence>
- <element name="streetAddress">
- <annotation>
- <documentation xml:lang="en">This element groups together the various street address parts for the entire address.</documentation>
- </annotation>
- <complexType>
- <sequence>
- <element name="street" type="xsd:string" maxOccurs="unbounded">
- <annotation>
- <documentation xml:lang="en">This field contains each entry for the street address part of the entire address.</documentation>
- </annotation>
- </element>
- </sequence>
- </complexType>
- </element>
- <element name="city" type="xsd:string">
- <annotation>
- <documentation xml:lang="en">This field contains the city for the address.</documentation>
- </annotation>
- </element>
- <element name="state" type="xsd:string">
- <annotation>
- <documentation xml:lang="en">This field contains the name/code of the state for the address.</documentation>
- </annotation>
- </element>
- <element name="postalCode" type="xsd:string">
- <annotation>
- <documentation xml:lang="en">This field contains the ZIP/Postal code for the address.</documentation>
- </annotation>
- </element>
- <element name="telephone" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">This field contains the telephone number if available for the address.</documentation>
- </annotation>
- </element>
- <element name="fax" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">This field contains the fax number if available for the address.</documentation>
- </annotation>
- </element>
- <element name="mobile" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">This field contains the mobile phone number if available for the address.</documentation>
- </annotation>
- </element>
- <element name="email" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">This field contains the email address if available for the address.</documentation>
- </annotation>
- </element>
- <element name="country" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">This field contains the country of the address.</documentation>
- </annotation>
- </element>
- </sequence>
- </complexType>
- <element name="xtvd">
- <annotation>
- <documentation>Root element of the document. @IMPORTANT : All time and dates are specified in UTC !</documentation>
- </annotation>
- <complexType>
- <sequence>
- <element ref="tms:stations"/>
- <element ref="tms:lineups"/>
- <element ref="tms:schedules"/>
- <element ref="tms:programs"/>
- <element ref="tms:productionCrew" minOccurs="0"/>
- <element ref="tms:genres"/>
- </sequence>
- <attribute name="from" type="tms:dateTime" use="required">
- <annotation>
- <documentation xml:lang="en">Date and time defining the start of the period covered by this XTVD document.</documentation>
- </annotation>
- </attribute>
- <attribute name="to" type="tms:dateTime" use="required">
- <annotation>
- <documentation xml:lang="en">Date and time defining the end of the period covered by this XTVD document.</documentation>
- </annotation>
- </attribute>
- <attribute name="schemaVersion" type="xsd:float" use="required" fixed="1.2">
- <annotation>
- <documentation xml:lang="en">Version number of the schema used to build this document.</documentation>
- </annotation>
- </attribute>
- </complexType>
- <key name="station_key">
- <selector xpath="./stations/station"/>
- <field xpath="@id"/>
- </key>
- <keyref name="station_keyref_schedule" refer="tms:station_key">
- <selector xpath="./schedules/schedule"/>
- <field xpath="@station"/>
- </keyref>
- <keyref name="station_keyref_map" refer="tms:station_key">
- <selector xpath="./lineups/lineup/map"/>
- <field xpath="@station"/>
- </keyref>
- <unique name="program_key">
- <selector xpath="./programs/program"/>
- <field xpath="@id"/>
- </unique>
- <keyref name="program_keyref" refer="tms:program_key">
- <selector xpath="./schedules/schedule"/>
- <field xpath="@program"/>
- </keyref>
- <keyref name="crew_keyref" refer="tms:program_key">
- <selector xpath="./productionCrew/crew"/>
- <field xpath="@program"/>
- </keyref>
- <keyref name="genre_keyref" refer="tms:program_key">
- <selector xpath="./genres/programGenre"/>
- <field xpath="@program"/>
- </keyref>
- <keyref name="advisory_keyref" refer="tms:program_key">
- <selector xpath="./advisories/advisory"/>
- <field xpath="@program"/>
- </keyref>
- </element>
- <element name="stations">
- <annotation>
- <documentation>Collection of user selected station elements (across all lineups).</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <element name="station">
- <annotation>
- <documentation>Defines a TV broadcast station - each station is identified with an unique ID.</documentation>
- </annotation>
- <complexType>
- <sequence>
- <element name="callSign">
- <annotation>
- <documentation>Short name of the station (eg. CNN).</documentation>
- </annotation>
- </element>
- <element name="name" minOccurs="0">
- <annotation>
- <documentation>Long name of the station (eg. Cable News Network).</documentation>
- </annotation>
- </element>
- <element name="fccChannelNumber" type="xsd:positiveInteger" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">FCC channel number of a broadcast station.</documentation>
- </annotation>
- </element>
- <element name="affiliate" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">Network, cable or broadcasting group with which the station is associated.</documentation>
- </annotation>
- </element>
- </sequence>
- <attribute name="id" type="xsd:int" use="required">
- <annotation>
- <documentation xml:lang="en">ID string of the station.</documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
- <element name="lineups">
- <annotation>
- <documentation>Collection of lineup elements selected by the user.</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <element name="lineup">
- <annotation>
- <documentation>Defines all the station that were selected for the given lineup. </documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <element name="map">
- <annotation>
- <documentation>This element defines the mapping between one station and one channel number. As channel numbers may change over time, attributes to define a validity period for the mapping are available.</documentation>
- </annotation>
- <complexType>
- <sequence minOccurs="0" maxOccurs="unbounded">
- <element name="onAir">
- <annotation>
- <documentation xml:lang="en">Specifies the time(s) of day when the given station-channel mapping is in effect.</documentation>
- </annotation>
- <complexType>
- <attribute name="from" type="tms:time" use="required">
- <annotation>
- <documentation xml:lang="en">The time of day from which the station-channel mapping is effective.</documentation>
- </annotation>
- </attribute>
- <attribute name="to" type="tms:time" use="required">
- <annotation>
- <documentation xml:lang="en">The time of day until which the station-channel mapping is effective.</documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- <attribute name="station" type="xsd:int" use="required">
- <annotation>
- <documentation xml:lang="en">Reference to a station.</documentation>
- </annotation>
- </attribute>
- <attribute name="channel" type="xsd:positiveInteger" use="required">
- <annotation>
- <documentation xml:lang="en">Channel number associated to the station.</documentation>
- </annotation>
- </attribute>
- <attribute name="channelMinor" type="xsd:positiveInteger" use="optional">
- <annotation>
- <documentation xml:lang="en">The major channel (the channel attribute) number is used to group all services associated with a broadcaster's NTSC brand, for example Channel 4. The minor channel number specifies a particular channel within that group. Zero (0) is reserved for the NTSC channel; all other values (1-999) are allowed for digital services. One common approach is to start with 1 and to continue numerically for different programming services.</documentation>
- </annotation>
- </attribute>
- <attribute name="from" type="tms:date" use="optional">
- <annotation>
- <documentation xml:lang="en">Date from which the mapping is valid, according to the validity period of the whole XTVD document. @IMPORTANT : It is assumed that the change will occur at midnight.</documentation>
- </annotation>
- </attribute>
- <attribute name="to" type="tms:date" use="optional">
- <annotation>
- <documentation xml:lang="en">Date untill which the mapping is valid, within the validity period of the whole XTVD document. @IMPORTANT : The change will occur at midnight.</documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- <attribute name="name" type="xsd:string" use="required">
- <annotation>
- <documentation xml:lang="en">Name given to the lineup.</documentation>
- </annotation>
- </attribute>
- <attribute name="type" type="tms:lineupTypes" use="required">
- <annotation>
- <documentation xml:lang="en">Defines the type of the lineup (CABLE, SATELLITE, ...).</documentation>
- </annotation>
- </attribute>
- <attribute name="device" type="xsd:string" use="optional">
- <annotation>
- <documentation xml:lang="en">The name of the device associated with the headend.</documentation>
- </annotation>
- </attribute>
- <attribute name="postalCode" type="xsd:string" use="optional">
- <annotation>
- <documentation xml:lang="en">The ZIP/Postal code for which the specified lineup was selected by the user.</documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
- <element name="schedules">
- <annotation>
- <documentation>Contain all schedule records (across all selected lineups).</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <annotation>
- <documentation>Sequence of schedule records.</documentation>
- </annotation>
- <element name="schedule">
- <annotation>
- <documentation>Describes a schedule entry.</documentation>
- </annotation>
- <complexType>
- <sequence minOccurs="0">
- <element name="part" minOccurs="0">
- <annotation>
- <documentation>Designates which part, when a program is split into 2 or more viewings.</documentation>
- </annotation>
- <complexType>
- <attribute name="number" use="required">
- <annotation>
- <documentation xml:lang="en">Designates which part, when a program is split into 2 or more viewings. </documentation>
- </annotation>
- <simpleType>
- <restriction base="xsd:unsignedInt">
- <minInclusive value="1"/>
- </restriction>
- </simpleType>
- </attribute>
- <attribute name="total" use="required">
- <annotation>
- <documentation xml:lang="en">Designates when a program is split into 2 or more parts for viewing. </documentation>
- </annotation>
- <simpleType>
- <restriction base="xsd:unsignedInt">
- <minInclusive value="2"/>
- </restriction>
- </simpleType>
- </attribute>
- </complexType>
- </element>
- </sequence>
- <attribute name="program" type="xsd:string" use="required">
- <annotation>
- <documentation xml:lang="en">Reference to a program ID.</documentation>
- </annotation>
- </attribute>
- <attribute name="station" type="xsd:int" use="required">
- <annotation>
- <documentation xml:lang="en">Reference to a station ID.</documentation>
- </annotation>
- </attribute>
- <attribute name="time" type="tms:dateTime" use="required">
- <annotation>
- <documentation xml:lang="en">Air date and time for the schedule.</documentation>
- </annotation>
- </attribute>
- <attribute name="duration" type="tms:duration" use="required">
- <annotation>
- <documentation xml:lang="en">Duration of the schedule.</documentation>
- </annotation>
- </attribute>
- <attribute name="repeat" type="xsd:boolean" use="optional">
- <annotation>
- <documentation xml:lang="en">Designates a program which has been aired previously.</documentation>
- </annotation>
- </attribute>
- <attribute name="tvRating" type="tms:tvRatings" use="optional">
- <annotation>
- <documentation xml:lang="en">The FCC standard ratings applied to TV shows.</documentation>
- </annotation>
- </attribute>
- <attribute name="stereo" type="xsd:boolean" use="optional">
- <annotation>
- <documentation xml:lang="en">Indicates whether the program has stereo sound or not.</documentation>
- </annotation>
- </attribute>
- <attribute name="subtitled" type="xsd:boolean" use="optional">
- <annotation>
- <documentation xml:lang="en">Indicates whether the program has subtitles.</documentation>
- </annotation>
- </attribute>
- <attribute name="hdtv" type="xsd:boolean" use="optional">
- <annotation>
- <documentation xml:lang="en">Indicates whether the program broadcast is HDTV compatible.</documentation>
- </annotation>
- </attribute>
- <attribute name="closeCaptioned" type="xsd:boolean" use="optional">
- <annotation>
- <documentation xml:lang="en">Indicates whether the program has closed captions.</documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
- <element name="programs">
- <annotation>
- <documentation>Contains all the program records that are referenced by the schedule records.</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <element name="program" minOccurs="0">
- <annotation>
- <documentation>Defines a program entry.</documentation>
- </annotation>
- <complexType>
- <sequence>
- <element name="title" type="xsd:string">
- <annotation>
- <documentation>Title of the program.</documentation>
- </annotation>
- </element>
- <element name="subtitle" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation>Subtitle of the program (episode title, game title, ...)</documentation>
- </annotation>
- </element>
- <element name="description" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation>Word string that describes the program.</documentation>
- </annotation>
- </element>
- <element name="mpaaRating" type="tms:mpaaRatings" minOccurs="0">
- <annotation>
- <documentation>MPAA rating of the program (applies to movies only).</documentation>
- </annotation>
- </element>
- <element name="starRating" type="tms:starRating" minOccurs="0">
- <annotation>
- <documentation>Star rating of the program (applies to movies only).</documentation>
- </annotation>
- </element>
- <element name="runTime" type="tms:duration" minOccurs="0">
- <annotation>
- <documentation>Actual length of the program. Not the same as schedule/@duration. Applies to movies only.</documentation>
- </annotation>
- </element>
- <element name="year" type="xsd:gYear" minOccurs="0">
- <annotation>
- <documentation>The year in which a feature film was released; YYYY format. Applies to movies only.</documentation>
- </annotation>
- </element>
- <element name="showType" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">Distinguishes how a program was originally produced and/or distributed.</documentation>
- </annotation>
- </element>
- <element name="series" type="xsd:string" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">The series ID associated with episodic programs. For instance an episode with programId "EP5544720193" has a series ID "SH5544720000". The series ID may be used to group together all episodes for a given series.</documentation>
- </annotation>
- </element>
- <element name="colorCode" type="tms:tvColorCode" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">Indicates whether the program is in black and white, colorized or color. Since most programs are in "Color" this element will be populated only if a program is not in "Color".</documentation>
- </annotation>
- </element>
- <element name="advisories" minOccurs="0">
- <annotation>
- <documentation xml:lang="en">This element groups together all the advisories associated with the program. Advisories apply only to movies.</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="6">
- <element name="advisory" type="tms:movieAdvisories">
- <annotation>
- <documentation xml:lang="en">An individual advisory message associated with the movie.</documentation>
- </annotation>
- </element>
- </sequence>
- </complexType>
- </element>
- </sequence>
- <attribute name="id" type="xsd:string" use="required">
- <annotation>
- <documentation xml:lang="en">Unique ID of the program.</documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
- <element name="productionCrew">
- <annotation>
- <documentation>Contains information about the personnel associated with each program record.</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <element name="crew">
- <annotation>
- <documentation xml:lang="en">This element groups together all the crew members associated with the given program.</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <element name="member" type="tms:crewMember">
- <annotation>
- <documentation xml:lang="en">This element describes an individual production crew member associated with a program.</documentation>
- </annotation>
- </element>
- </sequence>
- <attribute name="program" type="xsd:string" use="required"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
- <element name="genres">
- <annotation>
- <documentation xml:lang="en">Containes genre information where available for the program records. A program may have more than one genre with different relevence factors.</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <element name="programGenre">
- <annotation>
- <documentation xml:lang="en">This element groups together all the genres under which the specified program falls.</documentation>
- </annotation>
- <complexType>
- <sequence maxOccurs="unbounded">
- <element name="genre">
- <annotation>
- <documentation xml:lang="en">This element groups together the different elements associated with each genre with which the program is associated.</documentation>
- </annotation>
- <complexType>
- <sequence>
- <element name="class" type="xsd:string">
- <annotation>
- <documentation xml:lang="en">The genre that is associated with a specified program record.</documentation>
- </annotation>
- </element>
- <element name="relevance" type="xsd:int">
- <annotation>
- <documentation xml:lang="en">A relevence factor that applies to the genre classification for the program. A relevence factor of 1 indicates that this is the top-level genre under which the program is classified.</documentation>
- </annotation>
- </element>
- </sequence>
- </complexType>
- </element>
- </sequence>
- <attribute name="program" type="xsd:string" use="required"/>
- </complexType>
- </element>
- </sequence>
- </complexType>
- </element>
- <simpleType name="lineupTypes">
- <annotation>
- <documentation xml:lang="en">Standard lineup types.</documentation>
- </annotation>
- <restriction base="xsd:string">
- <enumeration value="Cable"/>
- <enumeration value="CableDigital"/>
- <enumeration value="Satellite"/>
- <enumeration value="LocalBroadcast"/>
- </restriction>
- </simpleType>
- <xsd:complexType name="xtvdResponse">
- <xsd:sequence>
- <xsd:element name="messages">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">A collection of messages that may be sent back by the server to the client. Messages are usually used by the server to notify the user of changes to their subscription caused by automatic changes in station's that are part of their subscription. For instance, messages are passed back if a lineup selected by the user is no-longer valid, if all the stations selected by the user has been removed as they are no longer valid ... </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence maxOccurs="unbounded" minOccurs="0">
- <xsd:element name="message" type="xsd:string">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">An individual message that is passed back by the server.</xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="xtvdDocument" type="tms:xtvd"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:schema>
- </wsdl:types>
- <wsdl:message name="downloadResponse">
- <wsdl:part name="xtvdResponse" type="tms:xtvdResponse"/>
- </wsdl:message>
- <wsdl:message name="downloadRequest">
- <wsdl:part name="startTime" type="tms:dateTime"/>
- <wsdl:part name="endTime" type="tms:dateTime"/>
- </wsdl:message>
- <wsdl:message name="activateRequest">
- <wsdl:part name="deviceType" type="xsd:string"/>
- <wsdl:part name="activationKey" type="xsd:string"/>
- </wsdl:message>
- <wsdl:message name="webserviceFault"/>
- <wsdl:message name="activateResponse"/>
- <wsdl:portType name="xtvdPortType">
- <wsdl:operation name="activate">
- <wsdl:input message="tms:activateRequest"/>
- <wsdl:output message="tms:activateResponse"/>
- <wsdl:fault message="tms:webserviceFault" name="webserviceFault"/>
- </wsdl:operation>
- <wsdl:operation name="download">
- <wsdl:input message="tms:downloadRequest"/>
- <wsdl:output message="tms:downloadResponse"/>
- <wsdl:fault message="tms:webserviceFault" name="webserviceFault"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="xtvdBinding" type="tms:xtvdPortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="activate">
- <soap:operation soapAction="urn:TMSWebServices:xtvdWebService#activate"/>
- <wsdl:input>
- <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:TMSWebServices" use="encoded"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/>
- </wsdl:output>
- <wsdl:fault name="webserviceFault">
- <soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="tms:webserviceFault" namespace="urn:TMSWebServices" use="encoded"/>
- </wsdl:fault>
- </wsdl:operation>
- <wsdl:operation name="download">
- <soap:operation soapAction="urn:TMSWebServices:xtvdWebService#download"/>
- <wsdl:input>
- <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:TMSWebServices" use="encoded"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"/>
- </wsdl:output>
- <wsdl:fault name="webserviceFault">
- <soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="tms:webserviceFault" namespace="urn:TMSWebServices" use="encoded"/>
- </wsdl:fault>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="xtvdWebService">
- <wsdl:port binding="tms:xtvdBinding" name="xtvdWebServicePort">
- <soap:address location="http://datadirect.webservices.zap2it.com/tvlistings/xtvdService"/>
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/ext/soap/tests/bugs/bug28751.phpt b/ext/soap/tests/bugs/bug28751.phpt
deleted file mode 100644
index a37a2c15eb..0000000000
--- a/ext/soap/tests/bugs/bug28751.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---TEST--
-Bug #28751 (SoapServer does not call _autoload())
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function __autoload($className) {
- class SoapServerActions {
- function test() {
- return "Hello World";
- }
- }
-}
-
-$server = new SoapServer(NULL, array('uri'=>"http://testuri.org"));
-$server->setClass("SoapServerActions");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org" />
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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://testuri.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:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/bugs/bug28969.phpt b/ext/soap/tests/bugs/bug28969.phpt
deleted file mode 100644
index 6634888eac..0000000000
--- a/ext/soap/tests/bugs/bug28969.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---TEST--
-Bug #28969 (Wrong data encoding of special characters)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test() {
- return "¦è¥";
-// return utf8_encode("¦è¥");
-}
-
-class LocalSoapClient extends SoapClient {
-
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction('test');
- }
-
- function __doRequest($request, $location, $action, $version) {
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- return $response;
- }
-
-}
-
-$x = new LocalSoapClient(NULL,array('location'=>'test://',
- 'uri'=>'http://testuri.org',
- 'encoding'=>'ISO-8859-1'));
-var_dump($x->test());
-echo "ok\n";
-?>
---EXPECT--
-string(3) "¦è¥"
-ok
diff --git a/ext/soap/tests/bugs/bug28985.phpt b/ext/soap/tests/bugs/bug28985.phpt
deleted file mode 100644
index 291cce0cbb..0000000000
--- a/ext/soap/tests/bugs/bug28985.phpt
+++ /dev/null
@@ -1,204 +0,0 @@
---TEST--
-Bug #28985 (__getTypes() returning nothing on complex WSDL)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SOAPClient(dirname(__FILE__).'/bug28985.wsdl', array('trace'=>1));
-var_dump($client->__getTypes());
-?>
---EXPECT--
-array(42) {
- [0]=>
- string(100) "struct LoginMGDIS {
- string iUserLogin;
- string iUserId;
- string iUserPassword;
- string iProfilId;
-}"
- [1]=>
- string(29) "struct LoginMGDISResponse {
-}"
- [2]=>
- string(28) "struct GetIdentification {
-}"
- [3]=>
- string(77) "struct GetIdentificationResponse {
- ArrayOfAnyType GetIdentificationResult;
-}"
- [4]=>
- string(43) "struct ArrayOfAnyType {
- anyType anyType;
-}"
- [5]=>
- string(37) "struct RollbackCurrentTransaction {
-}"
- [6]=>
- string(45) "struct RollbackCurrentTransactionResponse {
-}"
- [7]=>
- string(68) "struct GetListeProfil {
- string iUserLogin;
- string iUserPassword;
-}"
- [8]=>
- string(86) "struct MGCodeLibelle {
- string Code;
- string Libelle;
- boolean Defaut;
- anyType Tag;
-}"
- [9]=>
- string(61) "struct ArrayOfMGCodeLibelle {
- MGCodeLibelle MGCodeLibelle;
-}"
- [10]=>
- string(77) "struct GetListeProfilResponse {
- ArrayOfMGCodeLibelle GetListeProfilResult;
-}"
- [11]=>
- string(41) "struct GetListeValCodif {
- string Code;
-}"
- [12]=>
- string(43) "struct ArrayOfMGCodif {
- MGCodif MGCodif;
-}"
- [13]=>
- string(18) "struct MGCodif {
-}"
- [14]=>
- string(75) "struct GetListeValCodifResponse {
- ArrayOfMGCodif GetListeValCodifResult;
-}"
- [15]=>
- string(39) "struct TestPhpSoap {
- MGCodif entree;
-}"
- [16]=>
- string(57) "struct TestPhpSoapResponse {
- string TestPhpSoapResult;
-}"
- [17]=>
- string(50) "struct GetListeCodif {
- boolean iGetListeValeur;
-}"
- [18]=>
- string(87) "struct MGCodifGrp {
- string TypeCodif;
- string LibCodif;
- ArrayOfMGCodif ListeCodifs;
-}"
- [19]=>
- string(52) "struct ArrayOfMGCodifGrp {
- MGCodifGrp MGCodifGrp;
-}"
- [20]=>
- string(72) "struct GetListeCodifResponse {
- ArrayOfMGCodifGrp GetListeCodifResult;
-}"
- [21]=>
- string(57) "struct DroitCreation {
- string iObjet;
- string iProfil;
-}"
- [22]=>
- string(62) "struct DroitCreationResponse {
- boolean DroitCreationResult;
-}"
- [23]=>
- string(74) "struct ListeDroitCreation {
- ArrayOfString iListeObjet;
- string iProfil;
-}"
- [24]=>
- string(40) "struct ArrayOfString {
- string string;
-}"
- [25]=>
- string(79) "struct ListeDroitCreationResponse {
- ArrayOfAnyType ListeDroitCreationResult;
-}"
- [26]=>
- string(87) "struct GetDroitsObjetProtege {
- string iObjet;
- string iProfil;
- string iUtilisateur;
-}"
- [27]=>
- string(154) "struct MGDroitsObjetProtege {
- string LbUti;
- string LbProf;
- string LbServ;
- string LbDir;
- boolean isProtected;
- ArrayOfMGDroitAcces ListeDroitsAcces;
-}"
- [28]=>
- string(58) "struct ArrayOfMGDroitAcces {
- MGDroitAcces MGDroitAcces;
-}"
- [29]=>
- string(104) "struct MGDroitAcces {
- string IdProfil;
- boolean Lecture;
- boolean Modification;
- boolean Suppression;
-}"
- [30]=>
- string(91) "struct GetDroitsObjetProtegeResponse {
- MGDroitsObjetProtege GetDroitsObjetProtegeResult;
-}"
- [31]=>
- string(76) "struct GetPrivileges {
- string iIdSupport;
- int iIdForme;
- string iProfil;
-}"
- [32]=>
- string(68) "struct GetPrivilegesResponse {
- ArrayOfString GetPrivilegesResult;
-}"
- [33]=>
- string(46) "struct GetLibelleProfil {
- string iIdProfil;
-}"
- [34]=>
- string(67) "struct GetLibelleProfilResponse {
- string GetLibelleProfilResult;
-}"
- [35]=>
- string(91) "struct GetValeurRecherche {
- string iChampSource;
- string iTable;
- string iOrderByClause;
-}"
- [36]=>
- string(78) "struct GetValeurRechercheResponse {
- ArrayOfString GetValeurRechercheResult;
-}"
- [37]=>
- string(128) "struct GetValeurRechercheWithClauseWhere {
- string iChampSource;
- string iTable;
- string iClauseWhere;
- string iOrderByClause;
-}"
- [38]=>
- string(108) "struct GetValeurRechercheWithClauseWhereResponse {
- ArrayOfString GetValeurRechercheWithClauseWhereResult;
-}"
- [39]=>
- string(27) "struct GetEnvironnement {
-}"
- [40]=>
- string(106) "struct MGEnvironnement {
- string RepBureautique;
- string RepBureautiqueImage;
- string RepBureautiqueDoc;
-}"
- [41]=>
- string(76) "struct GetEnvironnementResponse {
- MGEnvironnement GetEnvironnementResult;
-}"
-} \ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug28985.wsdl b/ext/soap/tests/bugs/bug28985.wsdl
deleted file mode 100644
index ee528818bb..0000000000
--- a/ext/soap/tests/bugs/bug28985.wsdl
+++ /dev/null
@@ -1,683 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
-xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-xmlns:s="http://www.w3.org/2001/XMLSchema"
-xmlns:s0="http://tempuri.org/"
-xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
-xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
-xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
-targetNamespace="http://tempuri.org/"
-xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema elementFormDefault="qualified"
-targetNamespace="http://tempuri.org/">
- <s:element name="LoginMGDIS">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iUserLogin"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iUserId"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iUserPassword"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iProfilId"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="LoginMGDISResponse">
- <s:complexType />
- </s:element>
- <s:element name="GetIdentification">
- <s:complexType />
- </s:element>
- <s:element name="GetIdentificationResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetIdentificationResult" type="s0:ArrayOfAnyType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfAnyType">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="anyType"
-nillable="true" />
- </s:sequence>
- </s:complexType>
- <s:element name="RollbackCurrentTransaction">
- <s:complexType />
- </s:element>
- <s:element name="RollbackCurrentTransactionResponse">
- <s:complexType />
- </s:element>
- <s:element name="GetListeProfil">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iUserLogin"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iUserPassword"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="MGCodeLibelle">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="Code"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="Libelle"
-type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="Defaut"
-type="s:boolean" />
- <s:element minOccurs="0" maxOccurs="1" name="Tag" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="ArrayOfMGCodeLibelle">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded"
-name="MGCodeLibelle" nillable="true" type="s0:MGCodeLibelle" />
- </s:sequence>
- </s:complexType>
- <s:element name="GetListeProfilResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetListeProfilResult" type="s0:ArrayOfMGCodeLibelle" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetListeValCodif">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="Code"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfMGCodif">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="MGCodif"
-nillable="true" type="s0:MGCodif" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="MGCodif">
- <s:complexContent mixed="false">
- <s:extension base="s0:MGCodeLibelle" />
- </s:complexContent>
- </s:complexType>
- <s:element name="GetListeValCodifResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetListeValCodifResult" type="s0:ArrayOfMGCodif" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="TestPhpSoap">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="entree"
-type="s0:MGCodif" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="TestPhpSoapResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="TestPhpSoapResult" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetListeCodif">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1"
-name="iGetListeValeur" type="s:boolean" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="MGCodifGrp">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="TypeCodif"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="LibCodif"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="ListeCodifs"
-type="s0:ArrayOfMGCodif" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="ArrayOfMGCodifGrp">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded"
-name="MGCodifGrp" nillable="true" type="s0:MGCodifGrp" />
- </s:sequence>
- </s:complexType>
- <s:element name="GetListeCodifResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetListeCodifResult" type="s0:ArrayOfMGCodifGrp" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="DroitCreation">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iObjet"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iProfil"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="DroitCreationResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1"
-name="DroitCreationResult" type="s:boolean" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="ListeDroitCreation">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iListeObjet"
-type="s0:ArrayOfString" />
- <s:element minOccurs="0" maxOccurs="1" name="iProfil"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfString">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="string"
-nillable="true" type="s:string" />
- </s:sequence>
- </s:complexType>
- <s:element name="ListeDroitCreationResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="ListeDroitCreationResult" type="s0:ArrayOfAnyType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetDroitsObjetProtege">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iObjet"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iProfil"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iUtilisateur"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="MGDroitsObjetProtege">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="LbUti"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="LbProf"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="LbServ"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="LbDir"
-type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="isProtected"
-type="s:boolean" />
- <s:element minOccurs="0" maxOccurs="1" name="ListeDroitsAcces"
-type="s0:ArrayOfMGDroitAcces" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="ArrayOfMGDroitAcces">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded"
-name="MGDroitAcces" nillable="true" type="s0:MGDroitAcces" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="MGDroitAcces">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="IdProfil"
-type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="Lecture"
-type="s:boolean" />
- <s:element minOccurs="1" maxOccurs="1" name="Modification"
-type="s:boolean" />
- <s:element minOccurs="1" maxOccurs="1" name="Suppression"
-type="s:boolean" />
- </s:sequence>
- </s:complexType>
- <s:element name="GetDroitsObjetProtegeResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetDroitsObjetProtegeResult" type="s0:MGDroitsObjetProtege" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetPrivileges">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iIdSupport"
-type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="iIdForme"
-type="s:int" />
- <s:element minOccurs="0" maxOccurs="1" name="iProfil"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetPrivilegesResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetPrivilegesResult" type="s0:ArrayOfString" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetLibelleProfil">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iIdProfil"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetLibelleProfilResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetLibelleProfilResult" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetValeurRecherche">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iChampSource"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iTable"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iOrderByClause"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetValeurRechercheResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetValeurRechercheResult" type="s0:ArrayOfString" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetValeurRechercheWithClauseWhere">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="iChampSource"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iTable"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iClauseWhere"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="iOrderByClause"
-type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetValeurRechercheWithClauseWhereResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetValeurRechercheWithClauseWhereResult" type="s0:ArrayOfString"
-/>
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetEnvironnement">
- <s:complexType />
- </s:element>
- <s:complexType name="MGEnvironnement">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="RepBureautique"
-type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
-name="RepBureautiqueImage" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1"
-name="RepBureautiqueDoc" type="s:string" />
- </s:sequence>
- </s:complexType>
- <s:element name="GetEnvironnementResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1"
-name="GetEnvironnementResult" type="s0:MGEnvironnement" />
- </s:sequence>
- </s:complexType>
- </s:element>
- </s:schema>
- </types>
- <message name="LoginMGDISSoapIn">
- <part name="parameters" element="s0:LoginMGDIS" />
- </message>
- <message name="LoginMGDISSoapOut">
- <part name="parameters" element="s0:LoginMGDISResponse" />
- </message>
- <message name="GetIdentificationSoapIn">
- <part name="parameters" element="s0:GetIdentification" />
- </message>
- <message name="GetIdentificationSoapOut">
- <part name="parameters" element="s0:GetIdentificationResponse" />
- </message>
- <message name="RollbackCurrentTransactionSoapIn">
- <part name="parameters" element="s0:RollbackCurrentTransaction" />
- </message>
- <message name="RollbackCurrentTransactionSoapOut">
- <part name="parameters"
-element="s0:RollbackCurrentTransactionResponse" />
- </message>
- <message name="GetListeProfilSoapIn">
- <part name="parameters" element="s0:GetListeProfil" />
- </message>
- <message name="GetListeProfilSoapOut">
- <part name="parameters" element="s0:GetListeProfilResponse" />
- </message>
- <message name="GetListeValCodifSoapIn">
- <part name="parameters" element="s0:GetListeValCodif" />
- </message>
- <message name="GetListeValCodifSoapOut">
- <part name="parameters" element="s0:GetListeValCodifResponse" />
- </message>
- <message name="TestPhpSoapSoapIn">
- <part name="parameters" element="s0:TestPhpSoap" />
- </message>
- <message name="TestPhpSoapSoapOut">
- <part name="parameters" element="s0:TestPhpSoapResponse" />
- </message>
- <message name="GetListeCodifSoapIn">
- <part name="parameters" element="s0:GetListeCodif" />
- </message>
- <message name="GetListeCodifSoapOut">
- <part name="parameters" element="s0:GetListeCodifResponse" />
- </message>
- <message name="DroitCreationSoapIn">
- <part name="parameters" element="s0:DroitCreation" />
- </message>
- <message name="DroitCreationSoapOut">
- <part name="parameters" element="s0:DroitCreationResponse" />
- </message>
- <message name="ListeDroitCreationSoapIn">
- <part name="parameters" element="s0:ListeDroitCreation" />
- </message>
- <message name="ListeDroitCreationSoapOut">
- <part name="parameters" element="s0:ListeDroitCreationResponse" />
- </message>
- <message name="GetDroitsObjetProtegeSoapIn">
- <part name="parameters" element="s0:GetDroitsObjetProtege" />
- </message>
- <message name="GetDroitsObjetProtegeSoapOut">
- <part name="parameters" element="s0:GetDroitsObjetProtegeResponse"
-/>
- </message>
- <message name="GetPrivilegesSoapIn">
- <part name="parameters" element="s0:GetPrivileges" />
- </message>
- <message name="GetPrivilegesSoapOut">
- <part name="parameters" element="s0:GetPrivilegesResponse" />
- </message>
- <message name="GetLibelleProfilSoapIn">
- <part name="parameters" element="s0:GetLibelleProfil" />
- </message>
- <message name="GetLibelleProfilSoapOut">
- <part name="parameters" element="s0:GetLibelleProfilResponse" />
- </message>
- <message name="GetValeurRechercheSoapIn">
- <part name="parameters" element="s0:GetValeurRecherche" />
- </message>
- <message name="GetValeurRechercheSoapOut">
- <part name="parameters" element="s0:GetValeurRechercheResponse" />
- </message>
- <message name="GetValeurRechercheWithClauseWhereSoapIn">
- <part name="parameters"
-element="s0:GetValeurRechercheWithClauseWhere" />
- </message>
- <message name="GetValeurRechercheWithClauseWhereSoapOut">
- <part name="parameters"
-element="s0:GetValeurRechercheWithClauseWhereResponse" />
- </message>
- <message name="GetEnvironnementSoapIn">
- <part name="parameters" element="s0:GetEnvironnement" />
- </message>
- <message name="GetEnvironnementSoapOut">
- <part name="parameters" element="s0:GetEnvironnementResponse" />
- </message>
- <portType name="MGServiceNoyauNETSoap">
- <operation name="LoginMGDIS">
- <input message="s0:LoginMGDISSoapIn" />
- <output message="s0:LoginMGDISSoapOut" />
- </operation>
- <operation name="GetIdentification">
- <input message="s0:GetIdentificationSoapIn" />
- <output message="s0:GetIdentificationSoapOut" />
- </operation>
- <operation name="RollbackCurrentTransaction">
- <input message="s0:RollbackCurrentTransactionSoapIn" />
- <output message="s0:RollbackCurrentTransactionSoapOut" />
- </operation>
- <operation name="GetListeProfil">
- <input message="s0:GetListeProfilSoapIn" />
- <output message="s0:GetListeProfilSoapOut" />
- </operation>
- <operation name="GetListeValCodif">
- <input message="s0:GetListeValCodifSoapIn" />
- <output message="s0:GetListeValCodifSoapOut" />
- </operation>
- <operation name="TestPhpSoap">
- <input message="s0:TestPhpSoapSoapIn" />
- <output message="s0:TestPhpSoapSoapOut" />
- </operation>
- <operation name="GetListeCodif">
- <input message="s0:GetListeCodifSoapIn" />
- <output message="s0:GetListeCodifSoapOut" />
- </operation>
- <operation name="DroitCreation">
- <input message="s0:DroitCreationSoapIn" />
- <output message="s0:DroitCreationSoapOut" />
- </operation>
- <operation name="ListeDroitCreation">
- <input message="s0:ListeDroitCreationSoapIn" />
- <output message="s0:ListeDroitCreationSoapOut" />
- </operation>
- <operation name="GetDroitsObjetProtege">
- <input message="s0:GetDroitsObjetProtegeSoapIn" />
- <output message="s0:GetDroitsObjetProtegeSoapOut" />
- </operation>
- <operation name="GetPrivileges">
- <input message="s0:GetPrivilegesSoapIn" />
- <output message="s0:GetPrivilegesSoapOut" />
- </operation>
- <operation name="GetLibelleProfil">
- <input message="s0:GetLibelleProfilSoapIn" />
- <output message="s0:GetLibelleProfilSoapOut" />
- </operation>
- <operation name="GetValeurRecherche">
- <input message="s0:GetValeurRechercheSoapIn" />
- <output message="s0:GetValeurRechercheSoapOut" />
- </operation>
- <operation name="GetValeurRechercheWithClauseWhere">
- <input message="s0:GetValeurRechercheWithClauseWhereSoapIn" />
- <output message="s0:GetValeurRechercheWithClauseWhereSoapOut" />
- </operation>
- <operation name="GetEnvironnement">
- <input message="s0:GetEnvironnementSoapIn" />
- <output message="s0:GetEnvironnementSoapOut" />
- </operation>
- </portType>
- <binding name="MGServiceNoyauNETSoap"
-type="s0:MGServiceNoyauNETSoap">
- <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
-style="document" />
- <operation name="LoginMGDIS">
- <soap:operation soapAction="http://tempuri.org/LoginMGDIS"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetIdentification">
- <soap:operation soapAction="http://tempuri.org/GetIdentification"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="RollbackCurrentTransaction">
- <soap:operation
-soapAction="http://tempuri.org/RollbackCurrentTransaction"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetListeProfil">
- <soap:operation soapAction="http://tempuri.org/GetListeProfil"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetListeValCodif">
- <soap:operation soapAction="http://tempuri.org/GetListeValCodif"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="TestPhpSoap">
- <soap:operation soapAction="http://tempuri.org/TestPhpSoap"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetListeCodif">
- <soap:operation soapAction="http://tempuri.org/GetListeCodif"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="DroitCreation">
- <soap:operation soapAction="http://tempuri.org/DroitCreation"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="ListeDroitCreation">
- <soap:operation soapAction="http://tempuri.org/ListeDroitCreation"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetDroitsObjetProtege">
- <soap:operation
-soapAction="http://tempuri.org/GetDroitsObjetProtege" style="document"
-/>
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetPrivileges">
- <soap:operation soapAction="http://tempuri.org/GetPrivileges"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetLibelleProfil">
- <soap:operation soapAction="http://tempuri.org/GetLibelleProfil"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetValeurRecherche">
- <soap:operation soapAction="http://tempuri.org/GetValeurRecherche"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetValeurRechercheWithClauseWhere">
- <soap:operation
-soapAction="http://tempuri.org/GetValeurRechercheWithClauseWhere"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetEnvironnement">
- <soap:operation soapAction="http://tempuri.org/GetEnvironnement"
-style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- </binding>
- <service name="MGServiceNoyauNET">
- <port name="MGServiceNoyauNETSoap"
-binding="s0:MGServiceNoyauNETSoap">
- <soap:address
-location="http://localhost/SoapSrvSOFI/MGServiceNoyauNET.asmx" />
- </port>
- </service>
-</definitions>
diff --git a/ext/soap/tests/bugs/bug29061.phpt b/ext/soap/tests/bugs/bug29061.phpt
deleted file mode 100644
index 0bf8917fa5..0000000000
--- a/ext/soap/tests/bugs/bug29061.phpt
+++ /dev/null
@@ -1,12 +0,0 @@
---TEST--
-Bug #29061 (soap extension segfaults)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/bug29061.wsdl", array("exceptions"=>0));
-$client->getQuote("ibm");
-echo "ok\n";
-?>
---EXPECT--
-ok \ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug29061.wsdl b/ext/soap/tests/bugs/bug29061.wsdl
deleted file mode 100644
index fb4d9aa3b5..0000000000
--- a/ext/soap/tests/bugs/bug29061.wsdl
+++ /dev/null
@@ -1,41 +0,0 @@
-<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
-xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://
-schemas.xmlsoap.org/wsdl/http/"
-xmlns:xs="http://www.w3.org/2001/XMLSchema"
-xmlns:soapenc="http://schemas.xmlsoap.org/soap/e
-ncoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
-xmlns:y="http://new.webservice.namespace" targetNamespace="http
-://new.webservice.namespace">
-<types>
-<xs:schema/>
-</types>
-<message name="getQuoteResponse">
-<part name="parameter" element="" type="xs:string"/>
-</message>
-<message name="getQuoteRequest">
-<part name="String" element="" type="xs:string"/>
-</message>
-<portType name="SOAPport">
-<operation name="getQuote">
-<input message="y:getQuoteRequest"/>
-<output message="y:getQuoteResponse"/>
-</operation>
-</portType>
-<binding name="bindingName" type="y:SOAPport">
-<soap:binding style="rpc"
-transport="http://schemas.xmlsoap.org/soap/http"/>
-<operation name="getQuote">
-<input>
-<soap:body use="literal"/>
-</input>
-<output>
-<soap:body use="literal"/>
-</output>
-</operation>
-</binding>
-<service name="myService">
-<port name="myPort" binding="y:bindingName">
-<soap:address location="test://"/>
-</port>
-</service>
-</definitions>
diff --git a/ext/soap/tests/bugs/bug29109.phpt b/ext/soap/tests/bugs/bug29109.phpt
deleted file mode 100644
index 91d3ea265f..0000000000
--- a/ext/soap/tests/bugs/bug29109.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---TEST--
-Bug #29109 (Uncaught SoapFault exception: [WSDL] Out of memory)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/bug29109.wsdl");
-var_dump($client->__getFunctions());
-?>
---EXPECT--
-array(3) {
- [0]=>
- string(53) "HelloWorldResponse HelloWorld(HelloWorld $parameters)"
- [1]=>
- string(19) "string HelloWorld()"
- [2]=>
- string(19) "string HelloWorld()"
-} \ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug29109.wsdl b/ext/soap/tests/bugs/bug29109.wsdl
deleted file mode 100644
index 800cd2357d..0000000000
--- a/ext/soap/tests/bugs/bug29109.wsdl
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="windows-1257"?>
-<definitions xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
-xmlns:s0="http://tempuri.org/"
-xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-xmlns:s="http://www.w3.org/2001/XMLSchema"
-xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
-xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
-xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" name="test"
-targetNamespace="http://tempuri.org/"
-xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <xs:schema elementFormDefault="qualified"
-targetNamespace="http://tempuri.org/"
-xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:element name="HelloWorld">
- <xs:complexType />
- </xs:element>
- <xs:element name="HelloWorldResponse">
- <xs:complexType>
- <xs:sequence>
-
- <xs:element minOccurs="0" maxOccurs="1"
-name="HelloWorldResult" type="xs:string" />
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="string" type="xs:string" />
- </xs:schema>
- </types>
- <message name="HelloWorldSoapIn">
- <part name="parameters" element="s0:HelloWorld" />
-
- </message>
- <message name="HelloWorldSoapOut">
- <part name="parameters" element="s0:HelloWorldResponse" />
- </message>
- <message name="HelloWorldHttpGetIn" />
- <message name="HelloWorldHttpGetOut">
- <part name="Body" element="s0:string" />
- </message>
- <message name="HelloWorldHttpPostIn" />
-
- <message name="HelloWorldHttpPostOut">
- <part name="Body" element="s0:string" />
- </message>
- <portType name="testSoap">
- <operation name="HelloWorld">
- <input message="s0:HelloWorldSoapIn" />
- <output message="s0:HelloWorldSoapOut" />
- </operation>
- </portType>
-
- <portType name="testHttpGet">
- <operation name="HelloWorld">
- <input message="s0:HelloWorldHttpGetIn" />
- <output message="s0:HelloWorldHttpGetOut" />
- </operation>
- </portType>
- <portType name="testHttpPost">
- <operation name="HelloWorld">
- <input message="s0:HelloWorldHttpPostIn" />
-
- <output message="s0:HelloWorldHttpPostOut" />
- </operation>
- </portType>
- <binding name="testSoap" type="s0:testSoap">
- <soap:binding style="document"
-transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="HelloWorld">
- <soap:operation soapAction="http://tempuri.org/HelloWorld"
-style="document" />
- <input>
- <soap:body use="literal" />
-
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- </binding>
- <binding name="testHttpGet" type="s0:testHttpGet">
- <http:binding verb="GET" />
- <operation name="HelloWorld">
-
- <http:operation location="/HelloWorld" />
- <input>
- <http:urlEncoded />
- </input>
- <output>
- <mime:mimeXml part="Body" />
- </output>
- </operation>
- </binding>
-
- <binding name="testHttpPost" type="s0:testHttpPost">
- <http:binding verb="POST" />
- <operation name="HelloWorld">
- <http:operation location="/HelloWorld" />
- <input>
- <mime:content part="" type="application/x-www-form-urlencoded"
-/>
- </input>
- <output>
- <mime:mimeXml part="Body" />
-
- </output>
- </operation>
- </binding>
- <service name="test">
- <port name="testSoap" binding="s0:testSoap">
- <soap:address location="http://localhost:81/test.asmx" />
- </port>
- <port name="testHttpGet" binding="s0:testHttpGet">
- <http:address location="http://localhost:81/test.asmx" />
-
- </port>
- <port name="testHttpPost" binding="s0:testHttpPost">
- <http:address location="http://localhost:81/test.asmx" />
- </port>
- </service>
-</definitions>
diff --git a/ext/soap/tests/bugs/bug29236.phpt b/ext/soap/tests/bugs/bug29236.phpt
deleted file mode 100644
index 4dbc302c17..0000000000
--- a/ext/soap/tests/bugs/bug29236.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-Bug #29236 (memory error when wsdl-cache is enabled)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/bug29236.wsdl");
-var_dump($client->__getFunctions());
-?>
---EXPECT--
-array(4) {
- [0]=>
- string(59) "StartSessionResponse StartSession(StartSession $parameters)"
- [1]=>
- string(62) "VerifySessionResponse VerifySession(VerifySession $parameters)"
- [2]=>
- string(41) "LogoutResponse Logout(Logout $parameters)"
- [3]=>
- string(62) "GetSystemInfoResponse GetSystemInfo(GetSystemInfo $parameters)"
-}
diff --git a/ext/soap/tests/bugs/bug29236.wsdl b/ext/soap/tests/bugs/bug29236.wsdl
deleted file mode 100644
index d60a4871d4..0000000000
--- a/ext/soap/tests/bugs/bug29236.wsdl
+++ /dev/null
@@ -1,287 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://isis.ais.ucla.edu/ws/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://isis.ais.ucla.edu/ws/" xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://isis.ais.ucla.edu/ws/">
- <s:element name="StartSession">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="uclaId" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="StartSessionResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true" type="s0:IwsResponse" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="IwsResponse">
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="sessionInfo" nillable="true" type="s0:IwsSession" />
- <s:element minOccurs="1" maxOccurs="1" name="errorInfo" nillable="true" type="s0:IwsErrorCollection" />
- </s:sequence>
- <s:attribute name="action" type="s0:ActionEnum" />
- <s:attribute name="hasErrors" type="s:boolean" />
- <s:attribute name="transactionId" type="s:long" />
- </s:complexType>
- <s:complexType name="IwsSession">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="userAttributes" type="s0:ArrayOfIwsUserAttribute" />
- <s:element minOccurs="0" maxOccurs="1" name="accounts" type="s0:ArrayOfIwsAccount" />
- <s:element minOccurs="1" maxOccurs="1" name="ticket" nillable="true" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="uclaId" nillable="true" type="s:string" />
- </s:sequence>
- <s:attribute name="status" type="s0:SessionStatus" />
- </s:complexType>
- <s:complexType name="ArrayOfIwsUserAttribute">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="attribute" type="s0:IwsUserAttribute" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="IwsUserAttribute">
- <s:attribute name="name" type="s:string" />
- <s:attribute name="value" type="s:string" />
- </s:complexType>
- <s:complexType name="ArrayOfIwsAccount">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="account" type="s0:IwsAccount" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="IwsAccount">
- <s:attribute name="loginId" type="s:string" />
- <s:attribute name="type" type="s0:LoginType" />
- <s:attribute name="status" type="s0:AccountStatus" />
- </s:complexType>
- <s:simpleType name="LoginType">
- <s:restriction base="s:string">
- <s:enumeration value="BruinOnline" />
- <s:enumeration value="ACF2" />
- <s:enumeration value="QDB" />
- <s:enumeration value="UID" />
- <s:enumeration value="CommonLogon" />
- <s:enumeration value="RACF" />
- </s:restriction>
- </s:simpleType>
- <s:simpleType name="AccountStatus">
- <s:restriction base="s:string">
- <s:enumeration value="Unknown" />
- <s:enumeration value="Active" />
- <s:enumeration value="Authenticated" />
- <s:enumeration value="AuthenticatedWithCachedCredential" />
- <s:enumeration value="NotAuthenticated" />
- <s:enumeration value="PermmanentlySuspended" />
- <s:enumeration value="TemporarilySuspended" />
- <s:enumeration value="PasswordResetRequired" />
- <s:enumeration value="InvalidID" />
- </s:restriction>
- </s:simpleType>
- <s:simpleType name="SessionStatus">
- <s:restriction base="s:string">
- <s:enumeration value="Uninitialized" />
- <s:enumeration value="Active" />
- <s:enumeration value="ActiveWithCachedCredential" />
- <s:enumeration value="ActiveWithMultipleCredentials" />
- <s:enumeration value="Expired" />
- </s:restriction>
- </s:simpleType>
- <s:complexType name="IwsErrorCollection">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="errors" type="s0:ArrayOfIwsError" />
- </s:sequence>
- <s:attribute name="count" type="s:int" />
- </s:complexType>
- <s:complexType name="ArrayOfIwsError">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="error" type="s0:IwsError" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="IwsError">
- <s:attribute name="errorCode" type="s:int" />
- <s:attribute name="detail" type="s:string" />
- </s:complexType>
- <s:simpleType name="ActionEnum">
- <s:restriction base="s:string">
- <s:enumeration value="GetInfo" />
- <s:enumeration value="Start" />
- <s:enumeration value="Verify" />
- <s:enumeration value="Logout" />
- </s:restriction>
- </s:simpleType>
- <s:element name="wsConsumerCredential" type="s0:WsConsumerCredential" />
- <s:complexType name="WsConsumerCredential">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="id" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
- </s:sequence>
- </s:complexType>
- <s:element name="VerifySession">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="ticket" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="returnExtendedAttributes" type="s:boolean" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="VerifySessionResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true" type="s0:IwsResponse" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="Logout">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="ticket" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="userIpAddr" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="LogoutResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="iwsResponse" nillable="true" type="s0:IwsResponse" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="GetSystemInfo">
- <s:complexType />
- </s:element>
- <s:element name="GetSystemInfoResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="GetSystemInfoResult" type="s0:ArrayOfIwsAttribute" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfIwsAttribute">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="IwsAttribute" type="s0:IwsAttribute" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="IwsAttribute">
- <s:attribute name="name" type="s:string" />
- <s:attribute name="value" type="s:string" />
- </s:complexType>
- </s:schema>
- </types>
- <message name="StartSessionSoapIn">
- <part name="parameters" element="s0:StartSession" />
- </message>
- <message name="StartSessionSoapOut">
- <part name="parameters" element="s0:StartSessionResponse" />
- </message>
- <message name="StartSessionwsConsumerCredential">
- <part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
- </message>
- <message name="VerifySessionSoapIn">
- <part name="parameters" element="s0:VerifySession" />
- </message>
- <message name="VerifySessionSoapOut">
- <part name="parameters" element="s0:VerifySessionResponse" />
- </message>
- <message name="VerifySessionwsConsumerCredential">
- <part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
- </message>
- <message name="LogoutSoapIn">
- <part name="parameters" element="s0:Logout" />
- </message>
- <message name="LogoutSoapOut">
- <part name="parameters" element="s0:LogoutResponse" />
- </message>
- <message name="LogoutwsConsumerCredential">
- <part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
- </message>
- <message name="GetSystemInfoSoapIn">
- <part name="parameters" element="s0:GetSystemInfo" />
- </message>
- <message name="GetSystemInfoSoapOut">
- <part name="parameters" element="s0:GetSystemInfoResponse" />
- </message>
- <message name="GetSystemInfowsConsumerCredential">
- <part name="wsConsumerCredential" element="s0:wsConsumerCredential" />
- </message>
- <portType name="IsisSoap">
- <operation name="StartSession">
- <input message="s0:StartSessionSoapIn" />
- <output message="s0:StartSessionSoapOut" />
- </operation>
- <operation name="VerifySession">
- <input message="s0:VerifySessionSoapIn" />
- <output message="s0:VerifySessionSoapOut" />
- </operation>
- <operation name="Logout">
- <input message="s0:LogoutSoapIn" />
- <output message="s0:LogoutSoapOut" />
- </operation>
- <operation name="GetSystemInfo">
- <input message="s0:GetSystemInfoSoapIn" />
- <output message="s0:GetSystemInfoSoapOut" />
- </operation>
- </portType>
- <portType name="IsisHttpGet" />
- <portType name="IsisHttpPost" />
- <binding name="IsisSoap" type="s0:IsisSoap">
- <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="StartSession">
- <soap:operation soapAction="http://isis.ais.ucla.edu/ws/StartSession" style="document" />
- <input>
- <soap:body use="literal" />
- <soap:header d5p1:required="true" message="s0:StartSessionwsConsumerCredential" part="wsConsumerCredential" use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="VerifySession">
- <soap:operation soapAction="http://isis.ais.ucla.edu/ws/VerifySession" style="document" />
- <input>
- <soap:body use="literal" />
- <soap:header d5p1:required="true" message="s0:VerifySessionwsConsumerCredential" part="wsConsumerCredential" use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="Logout">
- <soap:operation soapAction="http://isis.ais.ucla.edu/ws/Logout" style="document" />
- <input>
- <soap:body use="literal" />
- <soap:header d5p1:required="true" message="s0:LogoutwsConsumerCredential" part="wsConsumerCredential" use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="GetSystemInfo">
- <soap:operation soapAction="http://isis.ais.ucla.edu/ws/GetSystemInfo" style="document" />
- <input>
- <soap:body use="literal" />
- <soap:header d5p1:required="true" message="s0:GetSystemInfowsConsumerCredential" part="wsConsumerCredential" use="literal" xmlns:d5p1="http://schemas.xmlsoap.org/wsdl/" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- </binding>
- <binding name="IsisHttpGet" type="s0:IsisHttpGet">
- <http:binding verb="GET" />
- </binding>
- <binding name="IsisHttpPost" type="s0:IsisHttpPost">
- <http:binding verb="POST" />
- </binding>
- <service name="Isis">
- <port name="IsisSoap" binding="s0:IsisSoap">
- <soap:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
- </port>
- <port name="IsisHttpGet" binding="s0:IsisHttpGet">
- <http:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
- </port>
- <port name="IsisHttpPost" binding="s0:IsisHttpPost">
- <http:address location="http://isisdev1.tig.ucla.edu/iws/v4.asmx" />
- </port>
- </service>
-</definitions> \ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug29795.phpt b/ext/soap/tests/bugs/bug29795.phpt
deleted file mode 100644
index 52f8862fda..0000000000
--- a/ext/soap/tests/bugs/bug29795.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-Bug #29795 (SegFault with Soap and Amazon's Web Services)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class LocalSoapClient extends SoapClient {
-
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- }
-
- function __doRequest($request, $location, $action, $version) {
- return <<<EOF
-<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
-xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><Price><Amount>3995</Amount><CurrencyCode>USD</CurrencyCode></Price></SOAP-ENV:Body></SOAP-ENV:Envelope>
-EOF;
- }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug29795.wsdl",array("trace"=>1));
-$ar=$client->GetPrice();
-echo "o";
-$client = new LocalSoapClient(dirname(__FILE__)."/bug29795.wsdl",array("trace"=>1));
-$ar=$client->GetPrice();
-echo "k\n";
-?>
---EXPECT--
-ok
diff --git a/ext/soap/tests/bugs/bug29795.wsdl b/ext/soap/tests/bugs/bug29795.wsdl
deleted file mode 100644
index 5a4499da0d..0000000000
--- a/ext/soap/tests/bugs/bug29795.wsdl
+++ /dev/null
@@ -1,40 +0,0 @@
-<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://xml.amazon.com/AWSProductData/2004-08-01" targetNamespace="http://xml.amazon.com/AWSProductData/2004-08-01">
- <types>
- <xs:schema targetNamespace="http://xml.amazon.com/AWSProductData/2004-08-01" elementFormDefault="qualified">
- <xs:complexType name="Price">
- <xs:sequence>
- <xs:element name="Amount" type="xs:integer" minOccurs="0"/>
- <xs:element name="CurrencyCode" type="xs:string" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:schema>
- </types>
- <message name="GetPriceRequest">
- </message>
- <message name="GetPriceResponse">
- <part name="Price" type="tns:Price"/>
- </message>
- <portType name="AWSProductDataPortType">
- <operation name="GetPrice">
- <input message="tns:GetPriceRequest"/>
- <output message="tns:GetPriceResponse"/>
- </operation>
- </portType>
- <binding name="AWSProductDataBinding" type="tns:AWSProductDataPortType">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <operation name="GetPrice">
- <soap:operation soapAction="http://soap.amazon.com"/>
- <input>
- <soap:body use="literal"/>
- </input>
- <output>
- <soap:body use="literal"/>
- </output>
- </operation>
- </binding>
- <service name="AWSProductData">
- <port name="AWSProductDataPort" binding="tns:AWSProductDataBinding">
- <soap:address location="http://aws-beta.amazon.com/onca/soap?Service=AWSProductData"/>
- </port>
- </service>
-</definitions>
diff --git a/ext/soap/tests/bugs/bug29830.phpt b/ext/soap/tests/bugs/bug29830.phpt
deleted file mode 100644
index dc090f82cc..0000000000
--- a/ext/soap/tests/bugs/bug29830.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-Bug #29844 (SoapServer::setClass() should not export non-public methods)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-
-class hello_world {
- public function hello($to) {
- return 'Hello ' . $to;
- }
- private function bye($to) {
- return 'Bye ' . $to;
- }
-}
-
-$server = new SoapServer(NULL, array("uri"=>"test://"));
-$server->setClass('hello_world');
-$functions = $server->getFunctions();
-foreach($functions as $func) {
- echo $func . "\n";
-}
-?>
---EXPECT--
-hello
diff --git a/ext/soap/tests/bugs/bug29839.phpt b/ext/soap/tests/bugs/bug29839.phpt
deleted file mode 100644
index 25b4512a72..0000000000
--- a/ext/soap/tests/bugs/bug29839.phpt
+++ /dev/null
@@ -1,41 +0,0 @@
---TEST--
-Bug #29839 incorrect convert (xml:lang to lang)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-
-function EchoString($s) {
- return $s;
-}
-
-class LocalSoapClient extends SoapClient {
-
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction('EchoString');
- }
-
- function __doRequest($request, $location, $action, $version) {
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- return $response;
- }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug29839.wsdl", array("trace"=>1));
-$client->EchoString(array("value"=>"hello","lang"=>"en"));
-echo $client->__getLastRequest();
-echo $client->__getLastResponse();
-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://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></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://test-uri"><SOAP-ENV:Body><string xml:lang="en"><ns1:value>hello</ns1:value></string></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok \ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug29839.wsdl b/ext/soap/tests/bugs/bug29839.wsdl
deleted file mode 100644
index d8ccb97954..0000000000
--- a/ext/soap/tests/bugs/bug29839.wsdl
+++ /dev/null
@@ -1,42 +0,0 @@
-<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://test-uri" targetNamespace="http://test-uri">
- <types>
- <xs:schema targetNamespace="http://test-uri" elementFormDefault="qualified">
- <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" />
- <complexType name="LocalizedString">
- <sequence>
- <element name="value" type="xsd:string"/>
- </sequence>
- <attribute ref="xml:lang" use="required"/>
- </complexType>
- </xs:schema>
- </types>
- <message name="EchoStringRequest">
- <part name="string" type="tns:LocalizedString"/>
- </message>
- <message name="EchoStringResponse">
- <part name="string" type="tns:LocalizedString"/>
- </message>
- <portType name="AWSProductDataPortType">
- <operation name="EchoString">
- <input message="tns:EchoStringRequest"/>
- <output message="tns:EchoStringResponse"/>
- </operation>
- </portType>
- <binding name="AWSProductDataBinding" type="tns:AWSProductDataPortType">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <operation name="EchoString">
- <soap:operation soapAction="http://test-uri"/>
- <input>
- <soap:body use="literal"/>
- </input>
- <output>
- <soap:body use="literal"/>
- </output>
- </operation>
- </binding>
- <service name="AWSProductData">
- <port name="AWSProductDataPort" binding="tns:AWSProductDataBinding">
- <soap:address location="http://aws-beta.amazon.com/onca/soap?Service=AWSProductData"/>
- </port>
- </service>
-</definitions>
diff --git a/ext/soap/tests/bugs/bug29844.phpt b/ext/soap/tests/bugs/bug29844.phpt
deleted file mode 100644
index bef8335709..0000000000
--- a/ext/soap/tests/bugs/bug29844.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-Bug #29844 (SOAP doesn't return the result of a valid SOAP request)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-
-class hello_world {
- public function hello($to) {
- return 'Hello ' . $to;
- }
-}
-
-class LocalSoapClient extends SoapClient {
-
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->setClass('hello_world');;
- }
-
- function __doRequest($request, $location, $action, $version) {
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- return $response;
- }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug29844.wsdl", array("trace"=>1));
-var_dump($client->hello('davey'));
-?>
---EXPECT--
-string(11) "Hello davey"
diff --git a/ext/soap/tests/bugs/bug29844.wsdl b/ext/soap/tests/bugs/bug29844.wsdl
deleted file mode 100644
index b45aa3666f..0000000000
--- a/ext/soap/tests/bugs/bug29844.wsdl
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" ?>
-<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://davey.synapticmedia.net/php-mag/shafikdavey_automaticwebservices/src/Listing%201.php" 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/" name="Crtx_SOAP_AutoDiscover_Example" targetNamespace="http://davey.synapticmedia.net/php-mag/shafikdavey_automaticwebservices/src/Listing%201.php">
- <portType name="Crtx_SOAP_AutoDiscover_ExamplePort">
- <operation name="hello">
- <input message="tns:helloRequest" />
- <output message="tns:helloResponse" />
- <documentation>Say Hello to Somebody</documentation>
- </operation>
- <operation name="goodBye">
- <input message="tns:goodByeRequest" />
- <output message="tns:goodByeResponse" />
- <documentation>Say Goodbye to Somebody</documentation>
- </operation>
- </portType>
- <binding name="Crtx_SOAP_AutoDiscover_ExampleBinding"
- type="tns:Crtx_SOAP_AutoDiscover_ExamplePort">
- <soap:binding style="document"
- transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="hello">
- <input>
- <soap:body use="encoded"
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </input>
- <output>
- <soap:body use="encoded"
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </output>
- <soap:operation soapAction="http://davey.synapticmedia.net/php-mag/shafikdavey_automaticwebservices/src/Listing%201.php#hello" />
- </operation>
- <soap:binding style="document"
- transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="goodBye">
- <input>
- <soap:body use="encoded"
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </input>
- <output>
- <soap:body use="encoded"
- encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </output>
- <soap:operation soapAction="http://davey.synapticmedia.net/php-mag/shafikdavey_automaticwebservices/src/Listing%201.php#goodBye" />
- </operation>
- </binding>
- <service name="Crtx_SOAP_AutoDiscover_ExampleService">
- <port name="tns:Crtx_SOAP_AutoDiscover_ExamplePort"
- binding="tns:Crtx_SOAP_AutoDiscover_ExampleBinding">
- <soap:address location="http://davey.synapticmedia.net/php-mag/shafikdavey_automaticwebservices/src/Listing%201.php" />
- </port>
- </service>
- <message name="helloRequest">
- <part name="to" type="xsd:string" />
- <documentation>Say Hello to Somebody</documentation>
- </message>
- <message name="helloResponse">
- <part name="helloReturn" type="xsd:string" />
- <documentation>The greeting</documentation>
- </message>
- <message name="goodByeRequest">
- <part name="to" type="xsd:string" />
- <documentation>Say Goodbye to Somebody</documentation>
- </message>
- <message name="goodByeResponse">
- <part name="goodByeReturn" type="xsd:string" />
- <documentation>The goodbye</documentation>
- </message>
-</definitions>
diff --git a/ext/soap/tests/bugs/bug30045.phpt b/ext/soap/tests/bugs/bug30045.phpt
deleted file mode 100644
index 753faf1755..0000000000
--- a/ext/soap/tests/bugs/bug30045.phpt
+++ /dev/null
@@ -1,171 +0,0 @@
---TEST--
-Bug #30045 (Cannot pass big integers (> 2147483647) in SOAP requests)
---SKIPIF--
-<?php
- if (!extension_loaded('soap')) die('skip soap extension not available');
- if (!extension_loaded('simplexml')) die('skip simplexml extension not available');
-?>
---FILE--
-<?php
-
-function foo($type, $num) {
- return new SoapVar($num, $type);
-}
-
-class LocalSoapClient extends SoapClient {
-
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction('foo');
- }
-
- function __doRequest($request, $location, $action, $version) {
- $xml = simplexml_load_string($request);
- echo $xml->children("http://schemas.xmlsoap.org/soap/envelope/")->Body->children("http://test-uri")->children()->param1->asXML(),"\n";
- unset($xml);
-
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
-
- return $response;
- }
-
-}
-
-$soap = new LocalSoapClient(NULL, array("uri"=>"http://test-uri", "location"=>"test://"));
-
-function test($type, $num) {
- global $soap;
- try {
- printf(" %0.0f\n ", $num);
- $ret = $soap->foo($type, new SoapVar($num, $type));
- printf(" %0.0f\n", $num, $ret);
- } catch (SoapFault $ex) {
- var_dump($ex);
- }
-}
-/*
-echo "byte\n";
-//test(XSD_BYTE, -129);
-test(XSD_BYTE, -128);
-test(XSD_BYTE, 127);
-//test(XSD_BYTE, 128);
-
-echo "\nshort\n";
-//test(XSD_SHORT, -32769);
-test(XSD_SHORT, -32768);
-test(XSD_SHORT, 32767);
-//test(XSD_SHORT, 32768);
-
-echo "\nint\n";
-//test(XSD_INT, -2147483649);
-test(XSD_INT, -2147483648);
-test(XSD_INT, 2147483647);
-//test(XSD_INT, 2147483648);
-
-echo "\nlong\n";
-//test(XSD_LONG, -9223372036854775809);
-test(XSD_LONG, -9223372036854775808);
-test(XSD_LONG, 9223372036854775807);
-//test(XSD_LONG, 9223372036854775808);
-
-echo "\nunsignedByte\n";
-//test(XSD_UNSIGNEDBYTE, -1);
-test(XSD_UNSIGNEDBYTE, 0);
-test(XSD_UNSIGNEDBYTE, 255);
-//test(XSD_UNSIGNEDBYTE, 256);
-
-echo "\nunsignedShort\n";
-//test(XSD_UNSIGNEDSHORT, -1);
-test(XSD_UNSIGNEDSHORT, 0);
-test(XSD_UNSIGNEDSHORT, 65535);
-//test(XSD_UNSIGNEDSHORT, 65536);
-
-echo "\nunsignedInt\n";
-//test(XSD_UNSIGNEDINT, -1);
-test(XSD_UNSIGNEDINT, 0);
-test(XSD_UNSIGNEDINT, 4294967295);
-//test(XSD_UNSIGNEDINT, 4294967296);
-
-echo "\nunsignedLong\n";
-//test(XSD_UNSIGNEDLONG, -1);
-test(XSD_UNSIGNEDLONG, 0);
-test(XSD_UNSIGNEDLONG, 18446744073709551615);
-//test(XSD_UNSIGNEDLONG, 18446744073709551616);
-
-echo "\nnegativeInteger\n";
-test(XSD_NEGATIVEINTEGER, -18446744073709551616);
-test(XSD_NEGATIVEINTEGER, -1);
-//test(XSD_NEGATIVEINTEGER, 0);
-
-echo "\nnonPositiveInteger\n";
-test(XSD_NONPOSITIVEINTEGER, -18446744073709551616);
-test(XSD_NONPOSITIVEINTEGER, 0);
-//test(XSD_NONPOSITIVEINTEGER, 1);
-
-echo "\nnonNegativeInteger\n";
-//test(XSD_NONNEGATIVEINTEGER, -1);
-test(XSD_NONNEGATIVEINTEGER, 0);
-test(XSD_NONNEGATIVEINTEGER, 18446744073709551616);
-
-echo "\nPositiveInteger\n";
-//test(XSD_POSITIVEINTEGER, 0);
-test(XSD_POSITIVEINTEGER, 1);
-test(XSD_POSITIVEINTEGER, 18446744073709551616);
-
-echo "\ninteger\n";
-test(XSD_INTEGER, -18446744073709551616);
-test(XSD_INTEGER, 18446744073709551616);
-*/
-echo "long\n";
-test(XSD_LONG, 2147483647);
-test(XSD_LONG, 2147483648);
-test(XSD_LONG, 4294967296);
-test(XSD_LONG, 8589934592);
-test(XSD_LONG, 17179869184);
-
-echo "\nunsignedLong\n";
-test(XSD_UNSIGNEDLONG, 2147483647);
-test(XSD_UNSIGNEDLONG, 2147483648);
-test(XSD_UNSIGNEDLONG, 4294967296);
-test(XSD_UNSIGNEDLONG, 8589934592);
-test(XSD_UNSIGNEDLONG, 17179869184);
-
-?>
---EXPECT--
-long
- 2147483647
- <param1 xsi:type="xsd:long">2147483647</param1>
- 2147483647
- 2147483648
- <param1 xsi:type="xsd:long">2147483648</param1>
- 2147483648
- 4294967296
- <param1 xsi:type="xsd:long">4294967296</param1>
- 4294967296
- 8589934592
- <param1 xsi:type="xsd:long">8589934592</param1>
- 8589934592
- 17179869184
- <param1 xsi:type="xsd:long">17179869184</param1>
- 17179869184
-
-unsignedLong
- 2147483647
- <param1 xsi:type="xsd:unsignedLong">2147483647</param1>
- 2147483647
- 2147483648
- <param1 xsi:type="xsd:unsignedLong">2147483648</param1>
- 2147483648
- 4294967296
- <param1 xsi:type="xsd:unsignedLong">4294967296</param1>
- 4294967296
- 8589934592
- <param1 xsi:type="xsd:unsignedLong">8589934592</param1>
- 8589934592
- 17179869184
- <param1 xsi:type="xsd:unsignedLong">17179869184</param1>
- 17179869184
diff --git a/ext/soap/tests/bugs/bug30106.phpt b/ext/soap/tests/bugs/bug30106.phpt
deleted file mode 100644
index dbc44f6f0d..0000000000
--- a/ext/soap/tests/bugs/bug30106.phpt
+++ /dev/null
@@ -1,72 +0,0 @@
---TEST--
-Bug #30106 SOAP cannot not parse 'ref' element. Causes Uncaught SoapFault exception.
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled", 0);
-
-function getContinentList() {
- return array("getContinentListResult"=>array(
- "schema"=>"<xsd:schema><element name=\"test\" type=\"xsd:string\"/></xsd:schema>",
- "any"=>"<test>Hello World!</test><test>Bye World!</test>"));
-}
-
-class LocalSoapClient extends SoapClient {
- function __construct($wsdl, $options=array()) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction("getContinentList");
- }
-
- function __doRequest($request, $location, $action, $version) {
- echo $request;
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- echo $response;
- return $response;
- }
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug30106.wsdl");
-var_dump($client->__getFunctions());
-var_dump($client->__getTypes());
-$x = $client->getContinentList(array("AFFILIATE_ID"=>1,"PASSWORD"=>"x"));
-var_dump($x);
-?>
---EXPECTF--
-array(1) {
- [0]=>
- string(71) "getContinentListResponse getContinentList(getContinentList $parameters)"
-}
-array(3) {
- [0]=>
- string(64) "struct getContinentList {
- int AFFILIATE_ID;
- string PASSWORD;
-}"
- [1]=>
- string(83) "struct getContinentListResponse {
- getContinentListResult getContinentListResult;
-}"
- [2]=>
- string(66) "struct getContinentListResult {
- <anyXML> schema;
- <anyXML> any;
-}"
-}
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/PRWebServ/getOtherInformation"><SOAP-ENV:Body><ns1:getContinentList><ns1:AFFILIATE_ID>1</ns1:AFFILIATE_ID><ns1:PASSWORD>x</ns1:PASSWORD></ns1:getContinentList></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://tempuri.org/PRWebServ/getOtherInformation"><SOAP-ENV:Body><ns1:getContinentListResponse><ns1:getContinentListResult><xsd:schema><element name="test" type="xsd:string"/></xsd:schema><test>Hello World!</test><test>Bye World!</test></ns1:getContinentListResult></ns1:getContinentListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (1) {
- ["getContinentListResult"]=>
- object(stdClass)#%d (2) {
- ["schema"]=>
- string(65) "<xsd:schema><element name="test" type="xsd:string"/></xsd:schema>"
- ["any"]=>
- string(48) "<test>Hello World!</test><test>Bye World!</test>"
- }
-}
diff --git a/ext/soap/tests/bugs/bug30106.wsdl b/ext/soap/tests/bugs/bug30106.wsdl
deleted file mode 100644
index db1922da33..0000000000
--- a/ext/soap/tests/bugs/bug30106.wsdl
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/PRWebServ/getOtherInformation" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/PRWebServ/getOtherInformation" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
- <wsdl:types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/PRWebServ/getOtherInformation">
- <s:import namespace="http://www.w3.org/2001/XMLSchema" />
- <s:element name="getContinentList">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="AFFILIATE_ID" type="s:int" />
- <s:element minOccurs="0" maxOccurs="1" name="PASSWORD" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="getContinentListResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="getContinentListResult">
- <s:complexType>
- <s:sequence>
- <s:element ref="s:schema" />
- <s:any />
- </s:sequence>
- </s:complexType>
- </s:element>
- </s:sequence>
- </s:complexType>
- </s:element>
- </s:schema>
- </wsdl:types>
- <wsdl:message name="getContinentListSoapIn">
- <wsdl:part name="parameters" element="tns:getContinentList" />
- </wsdl:message>
- <wsdl:message name="getContinentListSoapOut">
- <wsdl:part name="parameters" element="tns:getContinentListResponse" />
- </wsdl:message>
- <wsdl:portType name="getOtherInformationSoap">
- <wsdl:operation name="getContinentList">
- <wsdl:input message="tns:getContinentListSoapIn" />
- <wsdl:output message="tns:getContinentListSoapOut" />
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="getOtherInformationSoap" type="tns:getOtherInformationSoap">
- <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <wsdl:operation name="getContinentList">
- <soap:operation soapAction="http://tempuri.org/PRWebServ/getOtherInformation/getContinentList" style="document" />
- <wsdl:input>
- <soap:body use="literal" />
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" />
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="getOtherInformation">
- <wsdl:port name="getOtherInformationSoap" binding="tns:getOtherInformationSoap">
- <soap:address location="http://www.precisionreservations.com/PRWebServ/getOtherInformation.asmx" />
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions> \ No newline at end of file
diff --git a/ext/soap/tests/bugs/bug30175.phpt b/ext/soap/tests/bugs/bug30175.phpt
deleted file mode 100644
index f5501ac9bd..0000000000
--- a/ext/soap/tests/bugs/bug30175.phpt
+++ /dev/null
@@ -1,47 +0,0 @@
---TEST--
-Bug #30175 (SOAP results aren't parsed correctly)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-soap.wsdl_cache_enabled=0
---FILE--
-<?php
-
-class LocalSoapClient extends SoapClient {
-
- function __doRequest($request, $location, $action, $version) {
- return <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope
-xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
-xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns:ns1="urn:qweb">
-<SOAP-ENV:Body
-SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
-id="_0">
-<ns1:HostInfo xsi:type="ns1:HostInfo">
-<name xsi:type="xsd:string">blah blah some name field</name>
-<shortDescription xsi:type="xsd:string">This is a description. more blah blah blah</shortDescription>
-<ipAddress xsi:type="xsd:string">127.0.0.1</ipAddress>
-</ns1:HostInfo>
-</SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
- }
-
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug30175.wsdl");
-var_dump($client->qwebGetHostInfo());
-?>
---EXPECT--
-array(3) {
- ["name"]=>
- string(25) "blah blah some name field"
- ["shortDescription"]=>
- string(42) "This is a description. more blah blah blah"
- ["ipAddress"]=>
- string(9) "127.0.0.1"
-}
diff --git a/ext/soap/tests/bugs/bug30175.wsdl b/ext/soap/tests/bugs/bug30175.wsdl
deleted file mode 100644
index f4cae2554e..0000000000
--- a/ext/soap/tests/bugs/bug30175.wsdl
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<definitions name="qweb"
- targetNamespace="http://www.newsblob.com/qweb.wsdl"
- xmlns:tns="http://www.newsblob.com/qweb.wsdl"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:ns1="urn:qweb"
- xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
- xmlns="http://schemas.xmlsoap.org/wsdl/">
-
-<types>
-
- <schema targetNamespace="urn:qweb"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:ns1="urn:qweb"
- xmlns="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="unqualified"
- attributeFormDefault="unqualified">
- <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
- <complexType name="qwebGetHostInfoResponse">
- <sequence>
- <element name="return" type="ns1:HostInfo" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </complexType>
- <complexType name="ArrayOfHostInfo">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <sequence>
- <element name="item" type="ns1:HostInfo" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ns1:HostInfo[]"/>
- </restriction>
- </complexContent>
- </complexType>
- </schema>
-
-</types>
-
-<message name="qwebSquareRequest">
- <part name="mynum" type="xsd:int"/>
-</message>
-
-<message name="qwebSquareResponse">
- <part name="result" type="xsd:int"/>
-</message>
-
-<message name="qwebStrlenRequest">
- <part name="mystr" type="xsd:string"/>
-</message>
-
-<message name="qwebStrlenResponse">
- <part name="result" type="xsd:int"/>
-</message>
-
-<message name="qwebGetHostInfoRequest">
-</message>
-
-<message name="HostInfo">
- <part name="name" type="xsd:string"/>
- <part name="shortDescription" type="xsd:string"/>
- <part name="ipAddress" type="xsd:string"/>
-</message>
-
-<portType name="qwebPortType">
- <operation name="qwebSquare">
- <documentation>Service definition of function ns1__qwebSquare</documentation>
- <input message="tns:qwebSquareRequest"/>
- <output message="tns:qwebSquareResponse"/>
- </operation>
- <operation name="qwebStrlen">
- <documentation>Service definition of function ns1__qwebStrlen</documentation>
- <input message="tns:qwebStrlenRequest"/>
- <output message="tns:qwebStrlenResponse"/>
- </operation>
- <operation name="qwebGetHostInfo">
- <documentation>Service definition of function ns1__qwebGetHostInfo</documentation>
- <input message="tns:qwebGetHostInfoRequest"/>
- <output message="tns:HostInfo"/>
- </operation>
-</portType>
-
-<binding name="qweb" type="tns:qwebPortType">
- <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
- <operation name="qwebSquare">
- <SOAP:operation style="rpc" soapAction=""/>
- <input>
- <SOAP:body use="encoded" namespace="urn:qweb" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <SOAP:body use="encoded" namespace="urn:qweb" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="qwebStrlen">
- <SOAP:operation style="rpc" soapAction=""/>
- <input>
- <SOAP:body use="encoded" namespace="urn:qweb" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <SOAP:body use="encoded" namespace="urn:qweb" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- <operation name="qwebGetHostInfo">
- <SOAP:operation style="rpc" soapAction=""/>
- <input>
- <SOAP:body use="encoded" namespace="urn:qweb" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <SOAP:body use="encoded" namespace="urn:qweb" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
-</binding>
-
-<service name="qweb">
- <documentation>Demo Qweb SOAP interface</documentation>
- <port name="qweb" binding="tns:qweb">
- <SOAP:address location="http://www.newsblob.com:6969"/>
- </port>
-</service>
-
-</definitions>
diff --git a/ext/soap/tests/bugs/bug30799.phpt b/ext/soap/tests/bugs/bug30799.phpt
deleted file mode 100644
index 9fa0b12f0e..0000000000
--- a/ext/soap/tests/bugs/bug30799.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-Bug #30799 SoapServer doesn't handle private or protected properties
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class foo {
- public $a="a";
- private $b="b";
- protected $c="c";
-
-}
-
-$x = new SoapClient(NULL,array("location"=>"test://",
- "uri" => "test://",
- "exceptions" => 0,
- "trace" => 1 ));
-$x->test(new foo());
-echo $x->__getLastRequest();
-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="test://" 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:test><param0 xsi:type="SOAP-ENC:Struct"><a xsi:type="xsd:string">a</a><b xsi:type="xsd:string">b</b><c xsi:type="xsd:string">c</c></param0></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/bugs/bug30928.phpt b/ext/soap/tests/bugs/bug30928.phpt
deleted file mode 100644
index c7b497c0ed..0000000000
--- a/ext/soap/tests/bugs/bug30928.phpt
+++ /dev/null
@@ -1,63 +0,0 @@
---TEST--
-Bug #30928 When Using WSDL, SoapServer doesn't handle private or protected properties
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled", 0);
-
-class foo {
- public $a="a";
- private $b="b";
- protected $c="c";
-}
-
-function test($x) {
- return $x;
-}
-
-class LocalSoapClient extends SoapClient {
-
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction('test');
- }
-
- function __doRequest($request, $location, $action, $version) {
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- return $response;
- }
-}
-
-$x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl",
- array());
-var_dump($x->test(new foo()));
-
-$x = new LocalSoapClient(dirname(__FILE__)."/bug30928.wsdl",
- array("classmap" => array('testType'=>'foo')));
-var_dump($x->test(new foo()));
-
-echo "ok\n";
-?>
---EXPECTF--
-object(stdClass)#%d (3) {
- ["a"]=>
- string(1) "a"
- ["b"]=>
- string(1) "b"
- ["c"]=>
- string(1) "c"
-}
-object(foo)#%d (3) {
- ["a"]=>
- string(1) "a"
- ["b:private"]=>
- string(1) "b"
- ["c:protected"]=>
- string(1) "c"
-}
-ok
diff --git a/ext/soap/tests/bugs/bug30928.wsdl b/ext/soap/tests/bugs/bug30928.wsdl
deleted file mode 100644
index 7ed34d31a2..0000000000
--- a/ext/soap/tests/bugs/bug30928.wsdl
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<definitions name="InteropTest"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:tns="http://test-uri/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- targetNamespace="http://test-uri/">
- <types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://test-uri/">
- <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
- <complexType name="testType">
- <sequence>
- <element name="a" type="string"/>
- <element name="b" type="string"/>
- </sequence>
- <attribute name="c" type="string"/>
- </complexType>
- </schema>
- </types>
- <message name="testMessage">
- <part name="testParam" type="tns:testType"/>
- </message>
- <portType name="testPortType">
- <operation name="test">
- <input message="testMessage"/>
- <output message="testMessage"/>
- </operation>
- </portType>
- <binding name="testBinding" type="testPortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
- <operation name="test">
- <soap:operation soapAction="#test" style="rpc"/>
- <input>
- <soap:body use="encoded" namespace="http://test-uri/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- <output>
- <soap:body use="encoded" namespace="http://test-uri/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </output>
- </operation>
- </binding>
- <service name="testService">
- <port name="testPort" binding="tns:testBinding">
- <soap:address location="test://" />
- </port>
- </service>
-</definitions>
diff --git a/ext/soap/tests/bugs/bug30994.phpt b/ext/soap/tests/bugs/bug30994.phpt
deleted file mode 100644
index 7e811bbbf9..0000000000
--- a/ext/soap/tests/bugs/bug30994.phpt
+++ /dev/null
@@ -1,47 +0,0 @@
---TEST--
-Bug #30994 SOAP server unable to handle request with references
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="utf-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:tns="http://spock/kunta/kunta"
- xmlns:types="http://spock/kunta/kunta/encodedTypes"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-
-<soap:Body
-soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
- <q1:bassCall xmlns:q1="http://spock/bass/types/kunta">
- <system xsi:type="xsd:string">XXX</system>
- <function xsi:type="xsd:string">TASKTEST</function>
- <parameter href="#id1" />
- </q1:bassCall>
-
- <soapenc:Array id="id1" soapenc:arrayType="tns:Item[1]">
- <Item href="#id2" />
- </soapenc:Array>
-
- <tns:Item id="id2" xsi:type="tns:Item">
- <key xsi:type="xsd:string">ABCabc123</key>
- <val xsi:type="xsd:string">123456</val>
- </tns:Item>
-
-</soap:Body>
-</soap:Envelope>
-EOF;
-
-function bassCall() {
- return "ok";
-}
-
-$x = new SoapServer(NULL, array("uri"=>"http://spock/kunta/kunta"));
-$x->addFunction("bassCall");
-$x->handle();
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://spock/kunta/kunta" 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:bassCallResponse><return xsi:type="xsd:string">ok</return></ns1:bassCallResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug31422.phpt b/ext/soap/tests/bugs/bug31422.phpt
deleted file mode 100644
index fbad1cbd98..0000000000
--- a/ext/soap/tests/bugs/bug31422.phpt
+++ /dev/null
@@ -1,42 +0,0 @@
---TEST--
-Bug #31422 No Error-Logging on SoapServer-Side
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---INI--
-log_errors=1
---FILE--
-<?php
-function Add($x,$y) {
- fopen();
- user_error("Hello", E_USER_ERROR);
- return $x+$y;
-}
-
-$server = new SoapServer(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("Add");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:Add xmlns:ns1="http://testuri.org">
- <x xsi:type="xsd:int">22</x>
- <y xsi:type="xsd:int">33</y>
- </ns1:Add>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-echo "ok\n";
-?>
---EXPECTF--
-PHP Warning: fopen() expects at least 2 parameters, 0 given in %sbug31422.php on line %d
-PHP Fatal error: Hello in %sbug31422.php on line %d
-<?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:Server</faultcode><faultstring>Hello</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/bugs/bug31695.phpt b/ext/soap/tests/bugs/bug31695.phpt
deleted file mode 100644
index 770f5b4b6d..0000000000
--- a/ext/soap/tests/bugs/bug31695.phpt
+++ /dev/null
@@ -1,62 +0,0 @@
---TEST--
-Bug #31695 Cannot redefine endpoint when using WSDL
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-ini_set("soap.wsdl_cache_enabled", 0);
-
-function Test($x) {
- return $x;
-}
-
-class LocalSoapClient extends SoapClient {
- function __construct($wsdl, $options=array()) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction("Test");
- }
-
- function __doRequest($request, $location, $action, $version) {
- echo "$location\n";
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- return $response;
- }
-}
-
-$client = new LocalSoapClient(dirname(__FILE__)."/bug31695.wsdl");
-$client->Test("str");
-$client = new LocalSoapClient(dirname(__FILE__)."/bug31695.wsdl", array("location"=>"test://1"));
-$client->Test("str");
-$client->__soapCall("Test",
- array("arg1"),
- array("location"=>"test://2"));
-$old = $client->__setLocation("test://3");
-echo "$old\n";
-$client->Test("str");
-$client->Test("str");
-$client->__setLocation($old);
-$client->Test("str");
-$old = $client->__setLocation();
-$client->Test("str");
-$client->__setLocation($old);
-$client->Test("str");
-$client->__setLocation(null);
-$client->Test("str");
-var_dump($client->__setLocation());
-?>
---EXPECT--
-test://0
-test://1
-test://2
-test://1
-test://3
-test://3
-test://1
-test://0
-test://1
-test://0
-NULL
diff --git a/ext/soap/tests/bugs/bug31695.wsdl b/ext/soap/tests/bugs/bug31695.wsdl
deleted file mode 100644
index 5785cb0770..0000000000
--- a/ext/soap/tests/bugs/bug31695.wsdl
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" ?>
-<definitions
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:si="http://soapinterop.org/xsd"
- xmlns:tns="http://linuxsrv.home/~dmitry/soap/test.wsdl"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- targetNamespace="http://linuxsrv.home/~dmitry/soap/test.wsdl">
-
- <message name="TestRequest">
- <part name="x" type="xsd:string" />
- </message>
- <message name="TestResponse">
- <part name="result" type="xsd:string" />
- </message>
-
- <portType name="TestServicePortType">
- <operation name="Test">
- <input message="tns:TestRequest" />
- <output message="tns:TestResponse" />
- </operation>
- </portType>
-
- <binding name="TestServiceBinding" type="tns:TestServicePortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="Test">
- <soap:operation soapAction="Test" style="rpc" />
- <input>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </input>
- <output>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </output>
- </operation>
- </binding>
-
- <service name="TestService">
- <port name="TestServicePort" binding="tns:TestServiceBinding">
- <soap:address location="test://0" />
- </port>
- </service>
-
-</definitions>
diff --git a/ext/soap/tests/bugs/bug31755.phpt b/ext/soap/tests/bugs/bug31755.phpt
deleted file mode 100644
index e93e17daa6..0000000000
--- a/ext/soap/tests/bugs/bug31755.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
---TEST--
-Bug #31422 No Error-Logging on SoapServer-Side
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client=new SOAPClient(null, array('location' => 'http://localhost',
-'uri' => 'myNS', 'exceptions' => false, 'trace' => true));
-
-$header = new SOAPHeader(null, 'foo', 'bar');
-
-$response= $client->__call('function', array(), null, $header);
-
-print $client->__getLastRequest();
-?>
---EXPECTF--
-Fatal error: SoapHeader::__construct(): Invalid parameters. Invalid namespace. in %sbug31755.php on line %d
diff --git a/ext/soap/tests/bugs/bug32776.phpt b/ext/soap/tests/bugs/bug32776.phpt
deleted file mode 100644
index b3c4ff0170..0000000000
--- a/ext/soap/tests/bugs/bug32776.phpt
+++ /dev/null
@@ -1,47 +0,0 @@
---TEST--
-Bug #32776 SOAP doesn't support one-way operations
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-
-$d = null;
-
-function test($x) {
- global $d;
- $d = $x;
-}
-
-class LocalSoapClient extends SoapClient {
-
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction('test');
- }
-
- function __doRequest($request, $location, $action, $version) {
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- return $response;
- }
-
-}
-
-$x = new LocalSoapClient(dirname(__FILE__)."/bug32776.wsdl",array("trace"=>true,"exceptions"=>false));
-var_dump($x->test("Hello"));
-var_dump($d);
-var_dump($x->__getLastRequest());
-var_dump($x->__getLastResponse());
-echo "ok\n";
-?>
---EXPECT--
-NULL
-string(5) "Hello"
-string(459) "<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><SOAP-ENV:test><x xsi:type="xsd:string">Hello</x></SOAP-ENV:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-"
-string(0) ""
-ok
diff --git a/ext/soap/tests/bugs/bug32776.wsdl b/ext/soap/tests/bugs/bug32776.wsdl
deleted file mode 100644
index 733901849e..0000000000
--- a/ext/soap/tests/bugs/bug32776.wsdl
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" ?>
-<definitions
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:si="http://soapinterop.org/xsd"
- xmlns:tns="http://linuxsrv.home/~dmitry/soap/test.wsdl"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- targetNamespace="http://linuxsrv.home/~dmitry/soap/test.wsdl">
-
- <types>
- <xsd:schema targetNamespace="http://linuxsrv.home/~dmitry/soap/test.wsdl">
- <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
- </xsd:schema>
- </types>
-
- <message name="TestRequest">
- <part name="x" type="xsd:string" />
- </message>
-
- <portType name="TestServicePortType">
- <operation name="test">
- <input message="tns:TestRequest" />
- </operation>
- </portType>
-
- <binding name="TestServiceBinding" type="tns:TestServicePortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="test">
- <soap:operation soapAction="Add" style="rpc" />
- <input>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </input>
- </operation>
- </binding>
-
- <service name="TestService">
- <port name="TestServicePort" binding="tns:TestServiceBinding">
- <soap:address location="http://linuxsrv.home/~dmitry/soap/soap_server.php" />
- </port>
- </service>
-
-</definitions>
diff --git a/ext/soap/tests/bugs/bug32941.phpt b/ext/soap/tests/bugs/bug32941.phpt
deleted file mode 100755
index 5fd17df18e..0000000000
--- a/ext/soap/tests/bugs/bug32941.phpt
+++ /dev/null
@@ -1,41 +0,0 @@
---TEST--
-Bug #32941 (Sending structured exception kills a php)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class TestSoapClient extends SoapClient {
- function __doRequest($request, $location, $action, $version) {
- return <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<soapenv:Envelope
-xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
-xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soapenv:Body>
- <soapenv:Fault>
- <faultcode>soapenv:Server.userException</faultcode>
- <faultstring>service.EchoServiceException</faultstring>
- <detail>
- <service.EchoServiceException xsi:type="ns1:EchoServiceException" xmlns:ns1="urn:service.EchoService">
- <intParameter xsi:type="xsd:int">105</intParameter>
- <parameter xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">string param</parameter>
- </service.EchoServiceException>
- <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">steckovic</ns2:hostname>
- </detail>
- </soapenv:Fault>
- </soapenv:Body>
-</soapenv:Envelope>
-EOF;
- }
-}
-
-ini_set("soap.wsdl_cache_enabled", 1);
-$client = new TestSoapClient(dirname(__FILE__).'/bug32941.wsdl', array("trace" => 1, 'exceptions' => 0));
-$ahoj = $client->echoString('exception');
-$client = new TestSoapClient(dirname(__FILE__).'/bug32941.wsdl', array("trace" => 1, 'exceptions' => 0));
-$ahoj = $client->echoString('exception');
-echo "ok\n";
-?>
---EXPECT--
-ok
diff --git a/ext/soap/tests/bugs/bug32941.wsdl b/ext/soap/tests/bugs/bug32941.wsdl
deleted file mode 100755
index 61fd13dcbc..0000000000
--- a/ext/soap/tests/bugs/bug32941.wsdl
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions targetNamespace="http://212.24.157.117:8080/axis/services/echo" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://212.24.157.117:8080/axis/services/echo" xmlns:intf="http://212.24.157.117:8080/axis/services/echo" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="urn:service.EchoService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-<!--WSDL created by Apache Axis version: 1.2RC3
-Built on Feb 28, 2005 (10:15:14 EST)-->
- <wsdl:types>
- <schema targetNamespace="urn:service.EchoService" xmlns="http://www.w3.org/2001/XMLSchema">
- <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
- <complexType name="EchoServiceException">
- <sequence>
- <element name="intParameter" type="xsd:int"/>
- <element name="parameter" nillable="true" type="soapenc:string"/>
- </sequence>
- </complexType>
- <complexType name="Person">
- <sequence>
- <element name="name" nillable="true" type="soapenc:string"/>
- <element name="surname" nillable="true" type="soapenc:string"/>
- </sequence>
- </complexType>
- </schema>
- </wsdl:types>
-
- <wsdl:message name="echoStringResponse">
-
- <wsdl:part name="echoStringReturn" type="soapenc:string"/>
-
- </wsdl:message>
-
- <wsdl:message name="EchoServiceException">
-
- <wsdl:part name="EchoServiceException" type="tns1:EchoServiceException"/>
-
- </wsdl:message>
-
- <wsdl:message name="echoStringRequest">
-
- <wsdl:part name="e" type="xsd:string"/>
-
- </wsdl:message>
-
- <wsdl:message name="echoPersonResponse">
-
- <wsdl:part name="echoPersonReturn" type="tns1:Person"/>
-
- </wsdl:message>
-
- <wsdl:message name="echoPersonRequest">
-
- <wsdl:part name="p" type="tns1:Person"/>
-
- </wsdl:message>
-
- <wsdl:portType name="EchoService">
-
- <wsdl:operation name="echoString" parameterOrder="e">
-
- <wsdl:input message="impl:echoStringRequest" name="echoStringRequest"/>
-
- <wsdl:output message="impl:echoStringResponse" name="echoStringResponse"/>
-
- <wsdl:fault message="impl:EchoServiceException" name="EchoServiceException"/>
-
- </wsdl:operation>
-
- <wsdl:operation name="echoPerson" parameterOrder="p">
-
- <wsdl:input message="impl:echoPersonRequest" name="echoPersonRequest"/>
-
- <wsdl:output message="impl:echoPersonResponse" name="echoPersonResponse"/>
-
- <wsdl:fault message="impl:EchoServiceException" name="EchoServiceException"/>
-
- </wsdl:operation>
-
- </wsdl:portType>
-
- <wsdl:binding name="echoSoapBinding" type="impl:EchoService">
-
- <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <wsdl:operation name="echoString">
-
- <wsdlsoap:operation soapAction=""/>
-
- <wsdl:input name="echoStringRequest">
-
- <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:service.EchoService" use="encoded"/>
-
- </wsdl:input>
-
- <wsdl:output name="echoStringResponse">
-
- <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://212.24.157.117:8080/axis/services/echo" use="encoded"/>
-
- </wsdl:output>
-
- <wsdl:fault name="EchoServiceException">
-
- <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="EchoServiceException" namespace="urn:service.EchoService" use="encoded"/>
-
- </wsdl:fault>
-
- </wsdl:operation>
-
- <wsdl:operation name="echoPerson">
-
- <wsdlsoap:operation soapAction=""/>
-
- <wsdl:input name="echoPersonRequest">
-
- <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service" use="encoded"/>
-
- </wsdl:input>
-
- <wsdl:output name="echoPersonResponse">
-
- <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://212.24.157.117:8080/axis/services/echo" use="encoded"/>
-
- </wsdl:output>
-
- <wsdl:fault name="EchoServiceException">
-
- <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="EchoServiceException" namespace="http://212.24.157.117:8080/axis/services/echo" use="encoded"/>
-
- </wsdl:fault>
-
- </wsdl:operation>
-
- </wsdl:binding>
-
- <wsdl:service name="EchoServiceService">
-
- <wsdl:port binding="impl:echoSoapBinding" name="echo">
-
- <wsdlsoap:address location="http://212.24.157.117:8080/axis/services/echo"/>
-
- </wsdl:port>
-
- </wsdl:service>
-
-</wsdl:definitions>
diff --git a/ext/soap/tests/bugs/skipif.inc b/ext/soap/tests/bugs/skipif.inc
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/bugs/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
- if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
diff --git a/ext/soap/tests/bugs/xml.xsd b/ext/soap/tests/bugs/xml.xsd
deleted file mode 100644
index abb844ac12..0000000000
--- a/ext/soap/tests/bugs/xml.xsd
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
-<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
-
- <xs:attribute name="lang" type="xs:language">
- <xs:annotation>
- <xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter
- codes as the enumerated possible values . . .</xs:documentation>
- </xs:annotation>
- </xs:attribute>
-
- <xs:attribute name="space" default="preserve">
- <xs:simpleType>
- <xs:restriction base="xs:NCName">
- <xs:enumeration value="default"/>
- <xs:enumeration value="preserve"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
-
- <xs:attribute name="base" type="xs:anyURI">
- <xs:annotation>
- <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
- information about this attribute.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
-
- <xs:attributeGroup name="specialAttrs">
- <xs:attribute ref="xml:base"/>
- <xs:attribute ref="xml:lang"/>
- <xs:attribute ref="xml:space"/>
- </xs:attributeGroup>
-
-</xs:schema>
diff --git a/ext/soap/tests/classmap.wsdl b/ext/soap/tests/classmap.wsdl
deleted file mode 100644
index 7fcf596244..0000000000
--- a/ext/soap/tests/classmap.wsdl
+++ /dev/null
@@ -1,60 +0,0 @@
-<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.nothing.com" targetNamespace="http://schemas.nothing.com">
- <wsdl:types>
- <xsd:schema targetNamespace="http://schemas.nothing.com">
- <xsd:complexType name="book">
- <xsd:all>
- <xsd:element name="a" type="xsd:string"/>
- <xsd:element name="b" type="xsd:string"/>
- </xsd:all>
- </xsd:complexType>
- </xsd:schema>
- </wsdl:types>
- <message name="dotestRequest">
- <part name="dotestReturn" type="tns:book"/>
- </message>
- <message name="dotestResponse">
- <part name="res" type="xsi:string"/>
- </message>
- <message name="dotest2Request">
- <part name="dotest2" type="xsi:string"/>
- </message>
- <message name="dotest2Response">
- <part name="res" type="tns:book"/>
- </message>
- <portType name="testPortType">
- <operation name="dotest">
- <input message="tns:dotestRequest"/>
- <output message="tns:dotestResponse"/>
- </operation>
- <operation name="dotest2">
- <input message="tns:dotest2Request"/>
- <output message="tns:dotest2Response"/>
- </operation>
- </portType>
- <binding name="testBinding" type="tns:testPortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
- <operation name="dotest">
- <soap:operation soapAction="http://localhost:81/test/interface.php?class=test/dotest" style="rpc"/>
- <input>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://schemas.nothing.com"/>
- </input>
- <output>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://schemas.nothing.com"/>
- </output>
- </operation>
- <operation name="dotest2">
- <soap:operation soapAction="http://localhost:81/test/interface.php?class=test/dotest2" style="rpc"/>
- <input>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://schemas.nothing.com"/>
- </input>
- <output>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://schemas.nothing.com"/>
- </output>
- </operation>
- </binding>
- <service name="test">
- <port name="testPort" binding="tns:testBinding">
- <soap:address location="http://localhost:81/test/interface.php?class=test"/>
- </port>
- </service>
-</wsdl:definitions>
diff --git a/ext/soap/tests/classmap001.phpt b/ext/soap/tests/classmap001.phpt
deleted file mode 100644
index 1908ddd1ec..0000000000
--- a/ext/soap/tests/classmap001.phpt
+++ /dev/null
@@ -1,50 +0,0 @@
---TEST--
-SOAP Classmap 1: SoapServer support for classmap
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$GLOBALS['HTTP_RAW_POST_DATA']="
-<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\"
- xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
- xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
- xmlns:enc=\"http://schemas.xmlsoap.org/soap/encoding/\"
- xmlns:ns1=\"http://schemas.nothing.com\"
->
- <env:Body>
- <dotest>
- <book xsi:type=\"ns1:book\">
- <a xsi:type=\"xsd:string\">Blaat</a>
- <b xsi:type=\"xsd:string\">aap</b>
-</book>
-</dotest>
- </env:Body>
-<env:Header/>
-</env:Envelope>";
-
-class test{
- function dotest(book $book){
- $classname=get_class($book);
- return "Classname: ".$classname;
- }
-}
-
-class book{
- public $a="a";
- public $b="c";
-
-}
-$options=Array(
- 'actor' =>'http://schema.nothing.com',
- 'classmap' => array('book'=>'book', 'wsdltype2'=>'classname2')
- );
-
-$server = new SoapServer(dirname(__FILE__)."/classmap.wsdl",$options);
-$server->setClass("test");
-$server->handle();
-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://schemas.nothing.com" 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:dotestResponse><res xsi:type="xsd:string">Classname: book</res></ns1:dotestResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/classmap002.phpt b/ext/soap/tests/classmap002.phpt
deleted file mode 100644
index e6f5af9913..0000000000
--- a/ext/soap/tests/classmap002.phpt
+++ /dev/null
@@ -1,44 +0,0 @@
---TEST--
-SOAP Classmap 2: SoapClient support for classmap
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class TestSoapClient extends SoapClient{
- function __doRequest($request, $location, $action, $version) {
- return <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.nothing.com" 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:dotest2Response><res xsi:type="ns1:book">
- <a xsi:type="xsd:string">Blaat</a>
- <b xsi:type="xsd:string">aap</b>
-</res>
-</ns1:dotest2Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
-EOF;
- }
-}
-
-class book{
- public $a="a";
- public $b="c";
-
-}
-
-$options=Array(
- 'actor' =>'http://schema.nothing.com',
- 'classmap' => array('book'=>'book', 'wsdltype2'=>'classname2')
- );
-
-$client = new TestSoapClient(dirname(__FILE__)."/classmap.wsdl",$options);
-$ret = $client->dotest2("???");
-var_dump($ret);
-echo "ok\n";
-?>
---EXPECT--
-object(book)#2 (2) {
- ["a"]=>
- string(5) "Blaat"
- ["b"]=>
- string(3) "aap"
-}
-ok
diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt
deleted file mode 100644
index f88cdddbf0..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_001p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index a25eea52c3..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_001s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index ea9dc86a18..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index a5c62425df..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_002p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 3a256241a1..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_002s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 4761df605b..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_002w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 353c547757..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index ef5211e249..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 88489bb410..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index cb56ce6719..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_004p.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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
deleted file mode 100644
index 20c899e7eb..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_004s.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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
deleted file mode 100644
index 69b3afd955..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_004w.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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
deleted file mode 100644
index d8f91d328e..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_005p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">ỗÈéóÒ₧⅜ỗỸ</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_005s.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt
deleted file mode 100644
index 116e14faac..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_005s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">ỗÈéóÒ₧⅜ỗỸ</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_005w.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt
deleted file mode 100644
index 64f03df7b5..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_005w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">ỗÈéóÒ₧⅜ỗỸ</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_006p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt
deleted file mode 100644
index f332a825b0..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_006p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index de822b2d1c..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_006s.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---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
deleted file mode 100644
index 7844d4ac87..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_006w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index ddf9879394..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_007p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 778446a5c1..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_007s.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---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
deleted file mode 100644
index 89bf6ea5c0..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_007w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index b419a866db..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_008p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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: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: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
deleted file mode 100644
index 2ee4b6de9c..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_008s.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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: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: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
deleted file mode 100644
index 25de1542a6..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_008w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 77f89af351..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index e8478e19b5..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 34cb728065..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 9c2aa0ff4c..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_010p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 1f012cae9f..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_010s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index b32d94f364..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_010w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 7a6b1477e7..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_011p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index f892147593..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_011s.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---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
deleted file mode 100644
index 20686b249c..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_011w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 2da25b261c..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_012p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index bd62edd27a..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_012s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 05aad06c18..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_012w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 815b4dffb7..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_013p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 72124be8ab..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_013s.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---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
deleted file mode 100644
index e4291ab0d5..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_013w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 107f953644..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_014p.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index b15dc30d6d..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_014s.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---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
deleted file mode 100644
index 8c0f29f2d6..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_014w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index 3162c26fdb..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_015p.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---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
deleted file mode 100644
index 47a270b5c2..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_015s.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---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
deleted file mode 100644
index 3b7e61da70..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_015w.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---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
deleted file mode 100644
index ab00416ea9..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_016p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index e64fde8072..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_016s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index b3647a594a..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_016w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 5f6b3c3143..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_017p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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('Nebraska'), 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">Nebraska</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
deleted file mode 100644
index 3e3c6e1272..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_017s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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('Nebraska',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
deleted file mode 100644
index 7471c371d9..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_017w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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('Nebraska');
-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
deleted file mode 100644
index 3738148c19..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_018p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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('soapx4'), 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">soapx4</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
deleted file mode 100644
index a531069388..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_018s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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('soapx4',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
deleted file mode 100644
index a118311df4..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_018w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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('soapx4');
-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
deleted file mode 100644
index a767301d67..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_019p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 56bea8b4e8..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_019s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 3f561557b3..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_019w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 4afe922e85..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_020p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 6ced7482ad..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_020s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 47d3a9d783..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_020w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 69edf346d9..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">true</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">true</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
deleted file mode 100644
index 8f2a66fc50..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">true</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">true</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
deleted file mode 100644
index 1e4cb4ee25..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">true</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">true</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
deleted file mode 100644
index 07322b9876..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">false</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">false</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
deleted file mode 100644
index 9f4309cc31..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">false</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">false</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
deleted file mode 100644
index 5add7e5e83..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">false</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">false</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
deleted file mode 100644
index 65dcad2733..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">true</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
deleted file mode 100644
index 8985f38f4a..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">true</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">true</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
deleted file mode 100644
index ca4eff0fcb..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">true</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">true</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
deleted file mode 100644
index f55f095019..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">false</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
deleted file mode 100644
index f10e7629ab..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">false</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">false</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
deleted file mode 100644
index 96187fbb03..0000000000
--- a/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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">false</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">false</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
deleted file mode 100644
index b197f5bddd..0000000000
--- a/ext/soap/tests/interop/Round2/Base/round2_base.inc
+++ /dev/null
@@ -1,80 +0,0 @@
-<?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
deleted file mode 100644
index c7c70319dd..0000000000
--- a/ext/soap/tests/interop/Round2/Base/round2_base.wsdl
+++ /dev/null
@@ -1,332 +0,0 @@
-<?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
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/interop/Round2/Base/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?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
deleted file mode 100644
index 5047a990e4..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 9b6670772c..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001s.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---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
deleted file mode 100644
index 8fd43336a2..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 6ea475c3f0..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002p.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 3fcf6de66b..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002s.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---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
deleted file mode 100644
index 97fece7aab..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_002w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 80dff6d5be..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003p.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---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
deleted file mode 100644
index 5161144fee..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003s.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---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
deleted file mode 100644
index 5d4ad0cfc6..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_003w.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---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
deleted file mode 100644
index fbeb9afd57..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004p.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---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
deleted file mode 100644
index ad18c2b432..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004s.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---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
deleted file mode 100644
index 4bbc51f127..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_004w.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---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
deleted file mode 100644
index 61298389e3..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005p.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---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
deleted file mode 100644
index fcb5990093..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005s.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---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
deleted file mode 100644
index 206fca84e9..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/r2_groupB_005w.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---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
deleted file mode 100644
index ef00e3bfd0..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/round2_groupB.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-<?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
deleted file mode 100644
index 8fc2a1b119..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/round2_groupB.wsdl
+++ /dev/null
@@ -1,192 +0,0 @@
-<?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
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/interop/Round2/GroupB/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
- if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
diff --git a/ext/soap/tests/interop/Round3/GroupD/imported/import1B.wsdl b/ext/soap/tests/interop/Round3/GroupD/imported/import1B.wsdl
deleted file mode 100644
index 26ab6dbdd1..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/imported/import1B.wsdl
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<definitions name="SoapInterop" targetNamespace="http://soapinterop.org/definitions/"
- xmlns:wsdlns="http://soapinterop.org/definitions/"
- 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="x" type="xsd:string"/>
- </message>
- <message name="echoStringResponse">
- <part name="Result" type="xsd:string"/>
- </message>
- <portType name="SoapInteropImport1PortType">
- <operation name="echoString" parameterOrder="x">
- <input message="wsdlns:echoStringRequest"/>
- <output message="wsdlns:echoStringResponse"/>
- </operation>
- </portType>
-</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/imported/import2B.wsdl b/ext/soap/tests/interop/Round3/GroupD/imported/import2B.wsdl
deleted file mode 100644
index 8a397bc0bb..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/imported/import2B.wsdl
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<definitions name="SoapInterop" targetNamespace="http://soapinterop.org/definitions/"
- xmlns:wsdlns="http://soapinterop.org/definitions/"
- 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/">
- <import location="import2B.xsd" namespace="http://soapinterop.org/xsd" />
- <message name='Server.echoStruct'>
- <part name='inputStruct' type='typens:SOAPStruct'/>
- </message>
- <message name='Server.echoStructResponse'>
- <part name='Result' type='typens:SOAPStruct'/>
- </message>
-
- <portType name="SoapInteropImport2PortType">
- <operation name='echoStruct' parameterOrder='inputStruct'>
- <input message='wsdlns:Server.echoStruct' />
- <output message='wsdlns:Server.echoStructResponse' />
- </operation>
- </portType>
-</definitions>
diff --git a/ext/soap/tests/interop/Round3/GroupD/imported/import2B.xsd b/ext/soap/tests/interop/Round3/GroupD/imported/import2B.xsd
deleted file mode 100644
index b35eded4f0..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/imported/import2B.xsd
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<schema targetNamespace='http://soapinterop.org/xsd'
- xmlns='http://www.w3.org/2001/XMLSchema'
- elementFormDefault='unqualified'>
- <complexType name="SOAPStruct">
- <all>
- <element name="varString" type="string" />
- <element name="varInt" type="int" />
- <element name="varFloat" type="float" />
- </all>
- </complexType>
-</schema> \ No newline at end of file
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
deleted file mode 100644
index 4b37558d1c..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---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="true"><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="true"><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
deleted file mode 100644
index ab9a44ad7d..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_002w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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.phpt b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt
deleted file mode 100644
index d8ccc8286c..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_003w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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 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
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
deleted file mode 100644
index 9aa448ce9e..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---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>true</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>true</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
deleted file mode 100644
index ed9fb50e74..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index ec005444b7..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_002w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 36b26ceb3c..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_003w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index ecd6bf01ea..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclit_004w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index fa5269ad7a..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index be1b51b4d7..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_002w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index da94cedde0..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_003w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index fcad37659a..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_doclitparams_004w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 1f74fe6a4f..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_emptysa_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 8c760cc928..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import1_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 53ac18bafd..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import2_001w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index 2a4d656076..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_001w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index b3e2d7b121..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_import3_002w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index 3bc4b4e068..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index a3fc99d27e..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_002w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 2ebd90b499..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_003w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index 732dfcce38..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_rpcenc_004w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 0525b0b51a..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-<?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
deleted file mode 100644
index 6a8f85182e..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound1.wsdl
+++ /dev/null
@@ -1,85 +0,0 @@
-<?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
deleted file mode 100644
index 81b96cdbff..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-<?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
deleted file mode 100644
index e8b63e0157..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_compound2.wsdl
+++ /dev/null
@@ -1,65 +0,0 @@
-<?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
deleted file mode 100644
index 8ca0338f5f..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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
deleted file mode 100644
index 4febca8994..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclit.wsdl
+++ /dev/null
@@ -1,135 +0,0 @@
-<?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
deleted file mode 100644
index 2042cfc179..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.inc
+++ /dev/null
@@ -1,29 +0,0 @@
-<?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
deleted file mode 100644
index 9ecf1e170b..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_doclitparams.wsdl
+++ /dev/null
@@ -1,175 +0,0 @@
-<?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="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
deleted file mode 100644
index b239c45438..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-<?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
deleted file mode 100644
index 09a09a4cd0..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_emptysa.wsdl
+++ /dev/null
@@ -1,37 +0,0 @@
-<?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
deleted file mode 100644
index 2e56d1897a..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-<?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
deleted file mode 100644
index d92883000e..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import1.wsdl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?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
deleted file mode 100644
index a0893c6b7c..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-<?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
deleted file mode 100644
index fc0f8ae7fa..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2.wsdl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?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
deleted file mode 100644
index fc0f8ae7fa..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import2_absolute.wsdl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?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
deleted file mode 100644
index 398f97ecf3..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-<?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
deleted file mode 100644
index 3dd264208b..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_import3.wsdl
+++ /dev/null
@@ -1,75 +0,0 @@
-<?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
deleted file mode 100644
index 645ab3a61c..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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
deleted file mode 100644
index 5e24411a37..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/round3_groupD_rpcenc.wsdl
+++ /dev/null
@@ -1,126 +0,0 @@
-<?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/" elementFormDefault="qualified">
- <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
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/interop/Round3/GroupD/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?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
deleted file mode 100644
index 523f0e1c2f..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---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
deleted file mode 100644
index e14bb4aad1..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt
+++ /dev/null
@@ -1,42 +0,0 @@
---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
deleted file mode 100644
index 09d3bef433..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt
+++ /dev/null
@@ -1,49 +0,0 @@
---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
deleted file mode 100644
index 212cf76d04..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---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
deleted file mode 100644
index e66bbb7a21..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_005w.phpt
+++ /dev/null
@@ -1,50 +0,0 @@
---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
deleted file mode 100644
index 49584874d7..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_006w.phpt
+++ /dev/null
@@ -1,50 +0,0 @@
---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
deleted file mode 100644
index 83454c0774..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-<?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
deleted file mode 100644
index 49e6a8c4c3..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/round3_groupE_list.wsdl
+++ /dev/null
@@ -1,61 +0,0 @@
-<?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
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/interop/Round3/GroupE/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?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
deleted file mode 100644
index ecfb3a19a3..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_ext_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 05abe3b86a..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_extreq_001w.phpt
+++ /dev/null
@@ -1,15 +0,0 @@
---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
deleted file mode 100644
index 958bdda738..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index b60957b20e..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_002w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 1426c07e8a..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_003w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index db99a7fd13..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/r3_groupF_headers_004w.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---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
deleted file mode 100644
index 44bc83bdce..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-<?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
deleted file mode 100644
index 74ec018051..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_ext.wsdl
+++ /dev/null
@@ -1,72 +0,0 @@
-<?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
deleted file mode 100644
index 8dfd65ec98..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_extreq.wsdl
+++ /dev/null
@@ -1,73 +0,0 @@
-<?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
deleted file mode 100644
index ee65811197..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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
deleted file mode 100644
index d03fc32e39..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/round3_groupF_headers.wsdl
+++ /dev/null
@@ -1,70 +0,0 @@
-<?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
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/interop/Round3/GroupF/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?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
deleted file mode 100644
index c2a27186d7..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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
deleted file mode 100644
index f82216e6fe..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimedoc.wsdl
+++ /dev/null
@@ -1,216 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<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">
- <wsdl:types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/attachments/xsd" elementFormDefault="qualified" attributeFormDefault="qualified">
- <import namespace="http://schemas.xmlsoap.org/ws/2002/04/reference/"/>
- <import namespace="http://schemas.xmlsoap.org/ws/2002/04/content-type/"/>
- <complexType name="ReferencedBinary">
- <simpleContent>
- <restriction base="xsd:base64Binary">
- <annotation>
- <appinfo>
- <content:mediaType value="application/octetstream"/>
- </appinfo>
- </annotation>
- <attribute ref="ref:location" use="optional"/>
- </restriction>
- </simpleContent>
- </complexType>
- <complexType name="ReferencedText">
- <simpleContent>
- <restriction base="xsd:base64Binary">
- <annotation>
- <appinfo>
- <content:mediaType value="text/plain"/>
- </appinfo>
- </annotation>
- <attribute ref="ref:location" use="optional"/>
- </restriction>
- </simpleContent>
- </complexType>
- <element name="EchoAttachment" type="types:EchoAttachment"/>
- <element name="EchoAttachmentResponse" type="types:EchoAttachmentResponse"/>
- <complexType name="EchoAttachment">
- <sequence>
- <element name="In" type="types:ReferencedBinary"/>
- </sequence>
- </complexType>
- <complexType name="EchoAttachmentResponse">
- <sequence>
- <element name="Out" type="types:ReferencedBinary"/>
- </sequence>
- </complexType>
- <element name="EchoAttachments" type="types:Attachments"/>
- <element name="EchoAttachmentsResponse" type="types:Attachments"/>
- <complexType name="Attachments">
- <sequence>
- <element name="Item" minOccurs="0" maxOccurs="unbounded" type="types:ReferencedBinary"/>
- </sequence>
- </complexType>
- <element name="EchoAttachmentAsBase64" type="types:EchoAttachment"/>
- <element name="EchoAttachmentAsBase64Response" type="types:base64Out"/>
- <element name="EchoBase64AsAttachment" type="types:base64In"/>
- <element name="EchoBase64AsAttachmentResponse" type="types:EchoAttachmentResponse"/>
- <complexType name="base64In">
- <sequence>
- <element name="In" type="xsd:base64Binary"/>
- </sequence>
- </complexType>
- <complexType name="base64Out">
- <sequence>
- <element name="Out" type="xsd:base64Binary"/>
- </sequence>
- </complexType>
- <element name="EchoUnrefAttachments" type="types:emptyType"/>
- <element name="EchoUnrefAttachmentsResponse" type="types:emptyType"/>
- <complexType name="emptyType">
- <sequence/>
- </complexType>
- <element name="EchoAttachmentAsString" type="types:EchoAttachmentAsString"/>
- <element name="EchoAttachmentAsStringResponse" type="types:EchoAttachmentAsStringResponse"/>
- <complexType name="EchoAttachmentAsString">
- <sequence>
- <element name="In" type="types:ReferencedText"/>
- </sequence>
- </complexType>
- <complexType name="EchoAttachmentAsStringResponse">
- <sequence>
- <element name="Out" type="xsd:string"/>
- </sequence>
- </complexType>
- </schema>
- </wsdl:types>
- <wsdl:message name="EchoAttachmentIn">
- <wsdl:part name="In" element="types:EchoAttachment"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentOut">
- <wsdl:part name="Out" element="types:EchoAttachmentResponse"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentsIn">
- <wsdl:part name="In" element="types:EchoAttachments"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentsOut">
- <wsdl:part name="Out" element="types:EchoAttachmentsResponse"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsBase64In">
- <wsdl:part name="In" element="types:EchoAttachmentAsBase64"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsBase64Out">
- <wsdl:part name="Out" element="types:EchoAttachmentAsBase64Response"/>
- </wsdl:message>
- <wsdl:message name="EchoBase64AsAttachmentIn">
- <wsdl:part name="In" element="types:EchoBase64AsAttachment"/>
- </wsdl:message>
- <wsdl:message name="EchoBase64AsAttachmentOut">
- <wsdl:part name="Out" element="types:EchoBase64AsAttachmentResponse"/>
- </wsdl:message>
- <wsdl:message name="EchoUnrefAttachmentsIn">
- <wsdl:part name="In" element="types:EchoUnrefAttachments"/>
- </wsdl:message>
- <wsdl:message name="EchoUnrefAttachmentsOut">
- <wsdl:part name="Out" element="types:EchoUnrefAttachmentsResponse"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsStringIn">
- <wsdl:part name="In" element="types:EchoAttachmentAsString"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsStringOut">
- <wsdl:part name="Out" element="types:EchoAttachmentAsStringResponse"/>
- </wsdl:message>
- <wsdl:portType name="AttachmentsPortType">
- <wsdl:operation name="EchoAttachment">
- <wsdl:input name="EchoAttachmentInput" message="EchoAttachmentIn"/>
- <wsdl:output name="EchoAttachmentOutput" message="EchoAttachmentOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachments">
- <wsdl:input name="EchoAttachmentsInput" message="EchoAttachmentsIn"/>
- <wsdl:output name="EchoAttachmentsOutput" message="EchoAttachmentsOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsBase64">
- <wsdl:input name="EchoAttachmentAsBase64Input" message="EchoAttachmentAsBase64In"/>
- <wsdl:output name="EchoAttachmentAsBase64Output" message="EchoAttachmentAsBase64Out"/>
- </wsdl:operation>
- <wsdl:operation name="EchoBase64AsAttachment">
- <wsdl:input name="EchoBase64AsAttachmentInput" message="EchoBase64AsAttachmentIn"/>
- <wsdl:output name="EchoBase64AsAttachmentOutput" message="EchoBase64AsAttachmentOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoUnrefAttachments">
- <wsdl:input name="EchoUnrefAttachmentsInput" message="EchoUnrefAttachmentsIn"/>
- <wsdl:output name="EchoUnrefAttachmentsOutput" message="EchoUnrefAttachmentsOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsString">
- <wsdl:input name="EchoAttachmentAsStringInput" message="EchoAttachmentAsStringIn"/>
- <wsdl:output name="EchoAttachmentAsStringOutput" message="EchoAttachmentAsStringOut"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="AttachmentsBinding" type="AttachmentsPortType">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="EchoAttachment">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentInput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentOutput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachments">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentsInput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentsOutput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsBase64">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentAsBase64Input">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentAsBase64Output">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoBase64AsAttachment">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoBase64AsAttachmentInput">
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="EchoBase64AsAttachmentOutput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoUnrefAttachments">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoUnrefAttachmentsInput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="EchoUnrefAttachmentsOutput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsString">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentAsStringInput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="literal"/>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentAsStringOutput">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="Round4DIMEDOC">
- <wsdl:port name="Round4DIMEDOCTestSoap" binding="AttachmentsBinding">
- <soap:address location="test://" />
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.inc b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.inc
deleted file mode 100644
index 2f3c00aa1c..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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
deleted file mode 100644
index d837da0c62..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_dimerpc.wsdl
+++ /dev/null
@@ -1,171 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<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">
- <wsdl:types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/attachments/xsd">
- <import namespace="http://schemas.xmlsoap.org/soap/encoding/" location="http://schemas.xmlsoap.org/soap/encoding/" />
- <import namespace="http://schemas.xmlsoap.org/ws/2002/04/content-type/"/>
- <import namespace="http://schemas.xmlsoap.org/ws/2002/04/reference/"/>
- <complexType name="ReferencedBinary">
- <simpleContent>
- <restriction base="soap-enc:base64Binary">
- <annotation>
- <appinfo>
- <content:mediaType value="application/octetstream"/>
- </appinfo>
- </annotation>
- <attributeGroup ref="soap-enc:commonAttributes"/>
- </restriction>
- </simpleContent>
- </complexType>
- <complexType name="ArrayOfBinary">
- <complexContent>
- <restriction base="soap-enc:Array">
- <attribute ref="soap-enc:arrayType" wsdl:arrayType="types:ReferencedBinary[]"/>
- </restriction>
- </complexContent>
- </complexType>
- <complexType name="ReferencedText">
- <simpleContent>
- <restriction base="soap-enc:base64Binary">
- <annotation>
- <appinfo>
- <content:mediaType value="text/plain"/>
- </appinfo>
- </annotation>
- <attributeGroup ref="soap-enc:commonAttributes"/>
- </restriction>
- </simpleContent>
- </complexType>
- </schema>
- </wsdl:types>
- <wsdl:message name="EchoAttachmentIn">
- <wsdl:part name="In" type="types:ReferencedBinary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentOut">
- <wsdl:part name="Out" type="types:ReferencedBinary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentsIn">
- <wsdl:part name="In" type="types:ArrayOfBinary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentsOut">
- <wsdl:part name="Out" type="types:ArrayOfBinary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsBase64In">
- <wsdl:part name="In" type="types:ReferencedBinary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsBase64Out">
- <wsdl:part name="Out" type="xsd:base64Binary"/>
- </wsdl:message>
- <wsdl:message name="EchoBase64AsAttachmentIn">
- <wsdl:part name="In" type="xsd:base64Binary"/>
- </wsdl:message>
- <wsdl:message name="EchoBase64AsAttachmentOut">
- <wsdl:part name="Out" type="types:ReferencedBinary"/>
- </wsdl:message>
- <wsdl:message name="EchoUnrefAttachmentsIn" />
- <wsdl:message name="EchoUnrefAttachmentsOut" />
- <wsdl:message name="EchoAttachmentAsStringIn">
- <wsdl:part name="In" type="types:ReferencedText"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsStringOut">
- <wsdl:part name="Out" type="xsd:string"/>
- </wsdl:message>
-
- <wsdl:portType name="AttachmentsPortType">
- <wsdl:operation name="EchoAttachment">
- <wsdl:input name="EchoAttachmentInput" message="EchoAttachmentIn"/>
- <wsdl:output name="EchoAttachmentOutput" message="EchoAttachmentOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachments">
- <wsdl:input name="EchoAttachmentsInput" message="EchoAttachmentsIn"/>
- <wsdl:output name="EchoAttachmentsOutput" message="EchoAttachmentsOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsBase64">
- <wsdl:input name="EchoAttachmentAsBase64Input" message="EchoAttachmentAsBase64In"/>
- <wsdl:output name="EchoAttachmentAsBase64Output" message="EchoAttachmentAsBase64Out"/>
- </wsdl:operation>
- <wsdl:operation name="EchoBase64AsAttachment">
- <wsdl:input name="EchoBase64AsAttachmentInput" message="EchoBase64AsAttachmentIn"/>
- <wsdl:output name="EchoBase64AsAttachmentOutput" message="EchoBase64AsAttachmentOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoUnrefAttachments">
- <wsdl:input name="EchoUnrefAttachmentsInput" message="EchoUnrefAttachmentsIn"/>
- <wsdl:output name="EchoUnrefAttachmentsOutput" message="EchoUnrefAttachmentsOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsString">
- <wsdl:input name="EchoAttachmentAsStringInput" message="EchoAttachmentAsStringIn"/>
- <wsdl:output name="EchoAttachmentAsStringOutput" message="EchoAttachmentAsStringOut"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="AttachmentsBinding" type="AttachmentsPortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="EchoAttachment">
- <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentInput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentOutput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachments">
- <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentsInput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentsOutput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsBase64">
- <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentAsBase64Input">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentAsBase64Output">
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoBase64AsAttachment">
- <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoBase64AsAttachmentInput">
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:input>
- <wsdl:output name="EchoBase64AsAttachmentOutput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoUnrefAttachments">
- <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoUnrefAttachmentsInput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:input>
- <wsdl:output name="EchoUnrefAttachmentsOutput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsString">
- <soap:operation style="rpc" soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentAsStringInput">
- <dime:message layout="http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout" wsdl:required="true"/>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentAsStringOutput">
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="Round4DIMERPC">
- <wsdl:port name="Round4DIMERPCTestSoap" binding="AttachmentsBinding">
- <soap:address location="test://" />
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.inc b/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.inc
deleted file mode 100644
index 8ed272ed1d..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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
deleted file mode 100644
index c67172e8c6..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimedoc.wsdl
+++ /dev/null
@@ -1,185 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<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:mime="http://schemas.xmlsoap.org/wsdl/mime/"
- xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
- targetNamespace="http://soapinterop.org/attachments/wsdl">
- <wsdl:types>
- <schema
- xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://soapinterop.org/attachments/xsd"
- elementFormDefault="qualified"
- attributeFormDefault="qualified">
-
- <complexType name="binary">
- <simpleContent>
- <extension base="xsd:base64Binary">
- <attribute name="href" type="xsd:anyURI"/>
- </extension>
- </simpleContent>
- </complexType >
-
- <element name="EchoAttachment" type="types:EchoAttachment"/>
- <element name="EchoAttachmentResponse" type="types:EchoAttachmentResponse"/>
- <complexType name="EchoAttachment">
- <sequence>
- <element name="In" type="types:binary"/>
- </sequence>
- </complexType>
- <complexType name="EchoAttachmentResponse">
- <sequence>
- <element name="Out" type="types:binary"/>
- </sequence>
- </complexType>
-
- <element name="EchoAttachments" type="types:Attachments"/>
- <element name="EchoAttachmentsResponse" type="types:Attachments"/>
- <complexType name="Attachments">
- <sequence>
- <element name="Item" minOccurs="0" maxOccurs="unbounded" type="types:binary">
- </element>
- </sequence>
- </complexType>
-
- <element name="EchoAttachmentAsBase64" type="types:EchoAttachment"/>
- <element name="EchoAttachmentAsBase64Response" type="types:EchoAttachmentResponse"/>
-
- <element name="EchoBase64AsAttachment" type="types:EchoAttachment"/>
- <element name="EchoBase64AsAttachmentResponse" type="types:EchoAttachmentResponse"/>
- </schema>
- </wsdl:types>
-
- <wsdl:message name="EchoAttachmentIn">
- <wsdl:part name="In" element="types:EchoAttachment"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentOut">
- <wsdl:part name="Out" element="types:EchoAttachmentResponse"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentsIn">
- <wsdl:part name="In" element="types:EchoAttachments"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentsOut">
- <wsdl:part name="Out" element="types:EchoAttachmentsResponse"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsBase64In">
- <wsdl:part name="In" element="types:EchoAttachmentAsBase64"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsBase64Out">
- <wsdl:part name="Out" element="types:EchoAttachmentAsBase64Response"/>
- </wsdl:message>
- <wsdl:message name="EchoBase64AsAttachmentIn">
- <wsdl:part name="In" element="types:EchoBase64AsAttachment"/>
- </wsdl:message>
- <wsdl:message name="EchoBase64AsAttachmentOut">
- <wsdl:part name="Out" element="types:EchoBase64AsAttachmentResponse"/>
- </wsdl:message>
-
- <wsdl:portType name="AttachmentsPortType">
- <wsdl:operation name="EchoAttachment">
- <wsdl:input name="EchoAttachmentInput" message="EchoAttachmentIn"/>
- <wsdl:output name="EchoAttachmentOutput" message="EchoAttachmentOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachments">
- <wsdl:input name="EchoAttachmentsInput" message="EchoAttachmentsIn"/>
- <wsdl:output name="EchoAttachmentsOutput" message="EchoAttachmentsOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsBase64">
- <wsdl:input name="EchoAttachmentAsBase64Input" message="EchoAttachmentAsBase64In"/>
- <wsdl:output name="EchoAttachmentAsBase64Output" message="EchoAttachmentAsBase64Out"/>
- </wsdl:operation>
- <wsdl:operation name="EchoBase64AsAttachment">
- <wsdl:input name="EchoBase64AsAttachmentInput" message="EchoBase64AsAttachmentIn"/>
- <wsdl:output name="EchoBase64AsAttachmentOutput" message="EchoBase64AsAttachmentOut"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="AttachmentsBinding" type="AttachmentsPortType">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="EchoAttachment">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentInput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="literal"/>
- </mime:part>
- <mime:part>
- <mime:content part="In" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentOutput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="literal" />
- </mime:part>
- <mime:part>
- <mime:content part="Out" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachments">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentsInput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="literal"/>
- </mime:part>
- <mime:part>
- <mime:content part="In" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentsOutput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="literal"/>
- </mime:part>
- <mime:part>
- <mime:content part="Out" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsBase64">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentAsBase64Input">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="literal"/>
- </mime:part>
- <mime:part>
- <mime:content part="In" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentAsBase64Output">
- <soap:body use="literal"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoBase64AsAttachment">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoBase64AsAttachmentInput">
- <soap:body use="literal" />
- </wsdl:input>
- <wsdl:output name="EchoBase64AsAttachmentOutput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="literal"/>
- </mime:part>
- <mime:part>
- <mime:content part="Out" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="Round4MIMEDOC">
- <wsdl:port name="Round4MIMEDOCTestSoap" binding="AttachmentsBinding">
- <soap:address location="test://" />
- </wsdl:port>
- </wsdl:service>
-</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
deleted file mode 100644
index 8ed272ed1d..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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
deleted file mode 100644
index 30a56d12f6..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/round4_groupG_mimerpc.wsdl
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<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:mime="http://schemas.xmlsoap.org/wsdl/mime/"
- xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
- targetNamespace="http://soapinterop.org/attachments/wsdl">
- <wsdl:types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/attachments/xsd">
- <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
- <complexType name="ArrayOfBinary">
- <complexContent>
- <restriction base="soap-enc:Array">
- <attribute ref="soap-enc:arrayType" wsdl:arrayType="soap-enc:base64Binary[]"/>
- </restriction>
- </complexContent>
- </complexType>
- </schema>
- </wsdl:types>
- <wsdl:message name="EchoAttachmentIn">
- <wsdl:part name="In" type="xsd:base64Binary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentOut">
- <wsdl:part name="Out" type="xsd:base64Binary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentsIn">
- <wsdl:part name="In" type="types:ArrayOfBinary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentsOut">
- <wsdl:part name="Out" type="types:ArrayOfBinary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsBase64In">
- <wsdl:part name="In" type="xsd:base64Binary"/>
- </wsdl:message>
- <wsdl:message name="EchoAttachmentAsBase64Out">
- <wsdl:part name="Out" type="xsd:base64Binary"/>
- </wsdl:message>
- <wsdl:message name="EchoBase64AsAttachmentIn">
- <wsdl:part name="In" type="xsd:base64Binary"/>
- </wsdl:message>
- <wsdl:message name="EchoBase64AsAttachmentOut">
- <wsdl:part name="Out" type="xsd:base64Binary"/>
- </wsdl:message>
- <wsdl:portType name="AttachmentsPortType">
- <wsdl:operation name="EchoAttachment">
- <wsdl:input name="EchoAttachmentInput" message="EchoAttachmentIn"/>
- <wsdl:output name="EchoAttachmentOutput" message="EchoAttachmentOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachments">
- <wsdl:input name="EchoAttachmentsInput" message="EchoAttachmentsIn"/>
- <wsdl:output name="EchoAttachmentsOutput" message="EchoAttachmentsOut"/>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsBase64">
- <wsdl:input name="EchoAttachmentAsBase64Input" message="EchoAttachmentAsBase64In"/>
- <wsdl:output name="EchoAttachmentAsBase64Output" message="EchoAttachmentAsBase64Out"/>
- </wsdl:operation>
- <wsdl:operation name="EchoBase64AsAttachment">
- <wsdl:input name="EchoBase64AsAttachmentInput" message="EchoBase64AsAttachmentIn"/>
- <wsdl:output name="EchoBase64AsAttachmentOutput" message="EchoBase64AsAttachmentOut"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="AttachmentsBinding" type="AttachmentsPortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="EchoAttachment">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentInput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </mime:part>
- <mime:part>
- <mime:content part="In" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentOutput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </mime:part>
- <mime:part>
- <mime:content part="Out" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachments">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentsInput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </mime:part>
- <mime:part>
- <mime:content part="In" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentsOutput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </mime:part>
- <mime:part>
- <mime:content part="Out" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoAttachmentAsBase64">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoAttachmentAsBase64Input">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </mime:part>
- <mime:part>
- <mime:content part="In" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:input>
- <wsdl:output name="EchoAttachmentAsBase64Output">
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:output>
- </wsdl:operation>
- <wsdl:operation name="EchoBase64AsAttachment">
- <soap:operation soapAction="http://soapinterop.org/attachments/"/>
- <wsdl:input name="EchoBase64AsAttachmentInput">
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </wsdl:input>
- <wsdl:output name="EchoBase64AsAttachmentOutput">
- <mime:multipartRelated>
- <mime:part>
- <soap:body use="encoded" namespace="http://soapinterop.org/attachments/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </mime:part>
- <mime:part>
- <mime:content part="Out" type="application/octetstream"/>
- </mime:part>
- </mime:multipartRelated>
- </wsdl:output>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:service name="Round4MIMERPC">
- <wsdl:port name="Round4MIMERPCTestSoap" binding="AttachmentsBinding">
- <soap:address location="test://" />
- </wsdl:port>
- </wsdl:service>
-</wsdl:definitions>
diff --git a/ext/soap/tests/interop/Round4/GroupG/skipif.inc b/ext/soap/tests/interop/Round4/GroupG/skipif.inc
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/interop/Round4/GroupG/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?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
deleted file mode 100644
index c95d3d1693..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_001w.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---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
deleted file mode 100644
index ce7d00b619..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_002w.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---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
deleted file mode 100644
index c9f31e00d8..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_003w.phpt
+++ /dev/null
@@ -1,40 +0,0 @@
---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
deleted file mode 100644
index 4c917b73ef..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_004w.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---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
deleted file mode 100644
index 1a50cfa4a0..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_005w.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---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
deleted file mode 100644
index 88302b817a..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_006w.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---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
deleted file mode 100644
index 77f3b24d53..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_007w.phpt
+++ /dev/null
@@ -1,51 +0,0 @@
---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>true</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
deleted file mode 100644
index aebb9e9ef5..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_008w.phpt
+++ /dev/null
@@ -1,51 +0,0 @@
---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>true</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
deleted file mode 100644
index a27c2ad012..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_009w.phpt
+++ /dev/null
@@ -1,51 +0,0 @@
---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>true</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>true</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
deleted file mode 100644
index adf98fc259..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_doclit_010w.phpt
+++ /dev/null
@@ -1,51 +0,0 @@
---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>true</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
deleted file mode 100644
index b42bae918e..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_001w.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---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
deleted file mode 100644
index 7368213d18..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_002w.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---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
deleted file mode 100644
index ee05b4c3fa..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_003w.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---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
deleted file mode 100644
index 76202308fc..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_004w.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---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
deleted file mode 100644
index f4395d3b98..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_005w.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---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
deleted file mode 100644
index 1d41c29658..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_006w.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---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
deleted file mode 100644
index 1184b41e46..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_007w.phpt
+++ /dev/null
@@ -1,41 +0,0 @@
---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">true</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
deleted file mode 100644
index 0d0a800fa1..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_008w.phpt
+++ /dev/null
@@ -1,41 +0,0 @@
---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">true</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
deleted file mode 100644
index 21f643a569..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_009w.phpt
+++ /dev/null
@@ -1,41 +0,0 @@
---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">true</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">true</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
deleted file mode 100644
index 7cf18fb366..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_complex_rpcenc_010w.phpt
+++ /dev/null
@@ -1,41 +0,0 @@
---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">true</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
deleted file mode 100644
index ac473c88d7..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_001w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index ff4014da3f..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_002w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 26c62476db..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_003w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 4abff69f66..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_004w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index b290e4da88..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_005w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index d857dc3546..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_006w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 02517c0039..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_007w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 691ebda7be..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_008w.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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
deleted file mode 100644
index 2af8b01016..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_009w.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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
deleted file mode 100644
index 594c444f2b..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_010w.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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
deleted file mode 100644
index 21389c0b5f..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_011w.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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
deleted file mode 100644
index 3e2e41dd33..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_012w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 8b847a85ec..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_013w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 3a3e61a464..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_014w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index b831484d70..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_015w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index cbf7f16f28..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_016w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index aa7e28527a..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_doclit_017w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index f4e1b570ae..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_001w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 20dad785f5..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_002w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index eb7638371c..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_003w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 7bf250f6b9..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_004w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index e2c706bd0a..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_005w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index e4a397d8e1..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_006w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 92700c5741..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_007w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 057ff4d54f..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_008w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 18f1d8d23d..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_009w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index faca6c1225..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_010w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 5e93891589..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_011w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 073a2a0f79..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_012w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index b0113ae342..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_013w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index ee5b4cb0e6..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_014w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 4a9cb4a816..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_015w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index d8a47d009a..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_016w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index 5aaec3088f..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_simple_rpcenc_017w.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---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
deleted file mode 100644
index d50637afe1..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index f31cd7c6a5..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_002w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 398d70eb7c..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_003w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 11069bc58e..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/r4_groupH_soapfault_004w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 1c31aa3da0..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.inc
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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
deleted file mode 100644
index f1c383dc1d..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_doclit.wsdl
+++ /dev/null
@@ -1,329 +0,0 @@
-<?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 elementFormDefault="qualified"
- 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 elementFormDefault="qualified"
- 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 elementFormDefault="qualified"
- 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
deleted file mode 100644
index 6dec186474..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.inc
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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
deleted file mode 100644
index e78ca38ea5..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_complex_rpcenc.wsdl
+++ /dev/null
@@ -1,301 +0,0 @@
-<?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 elementFormDefault="qualified"
- 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
deleted file mode 100644
index 6a04cfd2d9..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.inc
+++ /dev/null
@@ -1,56 +0,0 @@
-<?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
deleted file mode 100644
index 8f0d322173..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_doclit.wsdl
+++ /dev/null
@@ -1,418 +0,0 @@
-<?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 elementFormDefault="qualified"
- 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 elementFormDefault="qualified"
- 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 elementFormDefault="qualified"
- 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
deleted file mode 100644
index 0b85a34f99..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.inc
+++ /dev/null
@@ -1,56 +0,0 @@
-<?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
deleted file mode 100644
index 24f73fcb0e..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_simple_rpcenc.wsdl
+++ /dev/null
@@ -1,408 +0,0 @@
-<?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 elementFormDefault="qualified"
- 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
deleted file mode 100644
index cf6c3741c6..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.inc
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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
deleted file mode 100644
index 4f49b8f1b2..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/round4_groupH_soapfault.wsdl
+++ /dev/null
@@ -1,81 +0,0 @@
-<?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
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/interop/Round4/GroupH/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?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
deleted file mode 100644
index 2ed20e94b3..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_001w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 27ff0fcc6b..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_002w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 29ea32c000..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_003w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 3e765bbdc1..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_004w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 6960190b65..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_005w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index c9d9534070..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_006w.phpt
+++ /dev/null
Binary files differ
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
deleted file mode 100644
index ddde658fb6..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_007w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 23dc33bdcd..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_008w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index 9182029fbf..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_009w.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---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
deleted file mode 100644
index bb6e77f3f0..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_010w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 4b268a7d49..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_011w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index c2c47f4c70..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_012w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 5c2f6ec4e9..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 0da7004009..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_014w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index 52b08c62ef..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index a5f060cae1..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_016w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index 08900ac5e5..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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>true</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>true</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
deleted file mode 100644
index 73b5b68ba8..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_018w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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"=>"\x80\xFF\x00\x01\x7F"));
-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
deleted file mode 100644
index 4b81f6e674..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_019w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index afc8ece102..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_020w.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---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
deleted file mode 100644
index cd92d5116a..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_021w.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---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
deleted file mode 100644
index cd408dfb4c..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_022w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index d960748ce8..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_023w.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---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
deleted file mode 100644
index 4152b992c7..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_024w.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---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
deleted file mode 100644
index cba1d1c667..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_025w.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---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
deleted file mode 100644
index 07e24f52c6..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_026w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index e4a270a21c..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_027w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---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
deleted file mode 100644
index b9e13e2fb6..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_028w.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---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
deleted file mode 100644
index fad222179c..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_029w.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-SOAP Interop Round4 GroupI XSD 029 (php/wsdl): echoAnyElement
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$client = new SoapClient(dirname(__FILE__)."/round4_groupI_xsd.wsdl",array("trace"=>1,"exceptions"=>0));
-$client->echoAnyElement(array("inputAny"=>array("any"=>"<bold>Hello World</bold>")));
-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:echoAnyElement><ns1:inputAny><bold>Hello World</bold></ns1:inputAny></ns1:echoAnyElement></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:echoAnyElementResponse><ns1:return><bold>Hello World</bold></ns1:return></ns1:echoAnyElementResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-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
deleted file mode 100644
index d7f748743c..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_030w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index b4273bf54b..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_031w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index ffd18e3df3..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_032w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 3c024fc002..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_033w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index d3cec8cda7..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_034w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 6dc0b927ff..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_035w.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---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
deleted file mode 100644
index 0c50f199e4..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.inc
+++ /dev/null
@@ -1,198 +0,0 @@
-<?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
deleted file mode 100644
index b62084669b..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/round4_groupI_xsd.wsdl
+++ /dev/null
@@ -1,1113 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<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/">
- <types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/">
- <s:import namespace="http://soapinterop.org/xsd" />
- <s:import namespace="http://soapinterop.org/echoheader/" />
- <s:element name="echoVoid">
- <s:complexType />
- </s:element>
- <s:element name="echoVoidResponse">
- <s:complexType />
- </s:element>
- <s:element name="echoInteger">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="inputInteger" type="s:int" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoIntegerResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="return" type="s:int" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoFloat">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="inputFloat" type="s:float" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoFloatResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="return" type="s:float" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoString">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputString" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoStringResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoBase64">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputBase64" type="s:base64Binary" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoBase64Response">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" type="s:base64Binary" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoDate">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="inputDate" type="s:dateTime" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoDateResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="return" type="s:dateTime" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoComplexType">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputComplexType" type="s1:SOAPComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoComplexTypeResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:SOAPComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoIntegerMultiOccurs">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputIntegerMultiOccurs" type="s0:ArrayOfInt" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfInt">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
- </s:sequence>
- </s:complexType>
- <s:element name="echoIntegerMultiOccursResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="return" type="s:int" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoFloatMultiOccurs">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputFloatMultiOccurs" type="s0:ArrayOfFloat" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfFloat">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="float" type="s:float" />
- </s:sequence>
- </s:complexType>
- <s:element name="echoFloatMultiOccursResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="return" type="s:float" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoStringMultiOccurs">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputStringMultiOccurs" type="s0:ArrayOfString" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:complexType name="ArrayOfString">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
- </s:sequence>
- </s:complexType>
- <s:element name="echoStringMultiOccursResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="return" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoComplexTypeMultiOccurs">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputComplexTypeMultiOccurs" type="s1:ArrayOfSOAPComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="SOAPComplexType" nillable="true" type="s1:SOAPComplexType" />
- <s:element name="echoComplexTypeMultiOccursResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="return" type="s1:SOAPComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoDecimal">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="inputDecimal" type="s:decimal" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoDecimalResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="return" type="s:decimal" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoBoolean">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="inputBoolean" type="s:boolean" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoBooleanResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="return" type="s:boolean" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoHexBinary">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputHexBinary" type="s:hexBinary" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoHexBinaryResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" type="s:hexBinary" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoComplexTypeAsSimpleTypes">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputComplexType" type="s1:SOAPComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoComplexTypeAsSimpleTypesResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="outputString" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="outputInteger" type="s:int" />
- <s:element minOccurs="1" maxOccurs="1" name="outputFloat" type="s:float" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoSimpleTypesAsComplexType">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputString" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="inputInteger" type="s:int" />
- <s:element minOccurs="1" maxOccurs="1" name="inputFloat" type="s:float" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoSimpleTypesAsComplexTypeResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:SOAPComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoNestedComplexType">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputComplexType" type="s1:SOAPComplexTypeComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoNestedComplexTypeResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:SOAPComplexTypeComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoNestedMultiOccurs">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputComplexType" type="s1:SOAPMultiOccursComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoNestedMultiOccursResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:SOAPMultiOccursComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoChoice">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputChoice" type="s1:ChoiceComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoChoiceResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" type="s1:ChoiceComplexType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoEnum">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="inputEnum" type="s1:Enum" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoEnumResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="return" type="s1:Enum" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoAnyType">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputAnyType" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoAnyTypeResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return" />
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoAnyElement">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="inputAny">
- <s:complexType>
- <s:sequence>
- <s:any />
- </s:sequence>
- </s:complexType>
- </s:element>
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoAnyElementResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="return">
- <s:complexType>
- <s:sequence>
- <s:any />
- </s:sequence>
- </s:complexType>
- </s:element>
- </s:sequence>
- </s:complexType>
- </s:element>
- <s:element name="echoVoidSoapHeaderResponse">
- <s:complexType />
- </s:element>
- <s:element name="echoMeComplexTypeRequest" type="s3:echoMeComplexTypeRequest" />
- <s:element name="echoMeStringRequest" type="s3:echoMeStringRequest" />
- <s:element name="echoMeComplexTypeResponse" type="s3:echoMeComplexTypeResponse" />
- <s:element name="echoMeStringResponse" type="s3:echoMeStringResponse" />
- </s:schema>
- <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/xsd">
- <s:import namespace="http://soapinterop.org/" />
- <s:complexType name="SOAPComplexType">
- <s:sequence>
- <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />
- <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="ArrayOfSOAPComplexType">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" ref="s0:SOAPComplexType" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="SOAPComplexTypeComplexType">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />
- <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />
- <s:element minOccurs="0" maxOccurs="1" name="varComplexType" type="s1:SOAPComplexType" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="SOAPMultiOccursComplexType">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />
- <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />
- <s:element minOccurs="0" maxOccurs="1" name="varMultiOccurs" type="s1:ArrayOfString" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="ArrayOfString">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="ChoiceComplexType">
- <s:sequence>
- <s:choice minOccurs="1" maxOccurs="1">
- <s:element minOccurs="0" maxOccurs="1" name="name0" type="s:string" />
- <s:element minOccurs="0" maxOccurs="1" name="name1" type="s:string" />
- </s:choice>
- </s:sequence>
- </s:complexType>
- <s:simpleType name="Enum">
- <s:restriction base="s:string">
- <s:enumeration value="BitOne" />
- <s:enumeration value="BitTwo" />
- <s:enumeration value="BitThree" />
- <s:enumeration value="BitFour" />
- <s:enumeration value="BitFive" />
- </s:restriction>
- </s:simpleType>
- </s:schema>
- <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org">
- <s:element name="echoVoidSoapHeader">
- <s:complexType />
- </s:element>
- </s:schema>
- <s:schema elementFormDefault="qualified" targetNamespace="http://soapinterop.org/echoheader/">
- <s:complexType name="echoMeComplexTypeRequest">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />
- <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="echoMeStringRequest">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="echoMeComplexTypeResponse">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />
- <s:element minOccurs="1" maxOccurs="1" name="varInt" type="s:int" />
- <s:element minOccurs="1" maxOccurs="1" name="varFloat" type="s:float" />
- </s:sequence>
- </s:complexType>
- <s:complexType name="echoMeStringResponse">
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="varString" type="s:string" />
- </s:sequence>
- </s:complexType>
- </s:schema>
- </types>
- <message name="echoVoidSoapIn">
- <part name="parameters" element="s0:echoVoid" />
- </message>
- <message name="echoVoidSoapOut">
- <part name="parameters" element="s0:echoVoidResponse" />
- </message>
- <message name="echoIntegerSoapIn">
- <part name="parameters" element="s0:echoInteger" />
- </message>
- <message name="echoIntegerSoapOut">
- <part name="parameters" element="s0:echoIntegerResponse" />
- </message>
- <message name="echoFloatSoapIn">
- <part name="parameters" element="s0:echoFloat" />
- </message>
- <message name="echoFloatSoapOut">
- <part name="parameters" element="s0:echoFloatResponse" />
- </message>
- <message name="echoStringSoapIn">
- <part name="parameters" element="s0:echoString" />
- </message>
- <message name="echoStringSoapOut">
- <part name="parameters" element="s0:echoStringResponse" />
- </message>
- <message name="echoBase64SoapIn">
- <part name="parameters" element="s0:echoBase64" />
- </message>
- <message name="echoBase64SoapOut">
- <part name="parameters" element="s0:echoBase64Response" />
- </message>
- <message name="echoDateSoapIn">
- <part name="parameters" element="s0:echoDate" />
- </message>
- <message name="echoDateSoapOut">
- <part name="parameters" element="s0:echoDateResponse" />
- </message>
- <message name="echoComplexTypeSoapIn">
- <part name="parameters" element="s0:echoComplexType" />
- </message>
- <message name="echoComplexTypeSoapOut">
- <part name="parameters" element="s0:echoComplexTypeResponse" />
- </message>
- <message name="echoIntegerMultiOccursSoapIn">
- <part name="parameters" element="s0:echoIntegerMultiOccurs" />
- </message>
- <message name="echoIntegerMultiOccursSoapOut">
- <part name="parameters" element="s0:echoIntegerMultiOccursResponse" />
- </message>
- <message name="echoFloatMultiOccursSoapIn">
- <part name="parameters" element="s0:echoFloatMultiOccurs" />
- </message>
- <message name="echoFloatMultiOccursSoapOut">
- <part name="parameters" element="s0:echoFloatMultiOccursResponse" />
- </message>
- <message name="echoStringMultiOccursSoapIn">
- <part name="parameters" element="s0:echoStringMultiOccurs" />
- </message>
- <message name="echoStringMultiOccursSoapOut">
- <part name="parameters" element="s0:echoStringMultiOccursResponse" />
- </message>
- <message name="echoComplexTypeMultiOccursSoapIn">
- <part name="parameters" element="s0:echoComplexTypeMultiOccurs" />
- </message>
- <message name="echoComplexTypeMultiOccursSoapOut">
- <part name="parameters" element="s0:echoComplexTypeMultiOccursResponse" />
- </message>
- <message name="echoDecimalSoapIn">
- <part name="parameters" element="s0:echoDecimal" />
- </message>
- <message name="echoDecimalSoapOut">
- <part name="parameters" element="s0:echoDecimalResponse" />
- </message>
- <message name="echoBooleanSoapIn">
- <part name="parameters" element="s0:echoBoolean" />
- </message>
- <message name="echoBooleanSoapOut">
- <part name="parameters" element="s0:echoBooleanResponse" />
- </message>
- <message name="echoHexBinarySoapIn">
- <part name="parameters" element="s0:echoHexBinary" />
- </message>
- <message name="echoHexBinarySoapOut">
- <part name="parameters" element="s0:echoHexBinaryResponse" />
- </message>
- <message name="echoComplexTypeAsSimpleTypesSoapIn">
- <part name="parameters" element="s0:echoComplexTypeAsSimpleTypes" />
- </message>
- <message name="echoComplexTypeAsSimpleTypesSoapOut">
- <part name="parameters" element="s0:echoComplexTypeAsSimpleTypesResponse" />
- </message>
- <message name="echoSimpleTypesAsComplexTypeSoapIn">
- <part name="parameters" element="s0:echoSimpleTypesAsComplexType" />
- </message>
- <message name="echoSimpleTypesAsComplexTypeSoapOut">
- <part name="parameters" element="s0:echoSimpleTypesAsComplexTypeResponse" />
- </message>
- <message name="echoNestedComplexTypeSoapIn">
- <part name="parameters" element="s0:echoNestedComplexType" />
- </message>
- <message name="echoNestedComplexTypeSoapOut">
- <part name="parameters" element="s0:echoNestedComplexTypeResponse" />
- </message>
- <message name="echoNestedMultiOccursSoapIn">
- <part name="parameters" element="s0:echoNestedMultiOccurs" />
- </message>
- <message name="echoNestedMultiOccursSoapOut">
- <part name="parameters" element="s0:echoNestedMultiOccursResponse" />
- </message>
- <message name="echoChoiceSoapIn">
- <part name="parameters" element="s0:echoChoice" />
- </message>
- <message name="echoChoiceSoapOut">
- <part name="parameters" element="s0:echoChoiceResponse" />
- </message>
- <message name="echoEnumSoapIn">
- <part name="parameters" element="s0:echoEnum" />
- </message>
- <message name="echoEnumSoapOut">
- <part name="parameters" element="s0:echoEnumResponse" />
- </message>
- <message name="echoAnyTypeSoapIn">
- <part name="parameters" element="s0:echoAnyType" />
- </message>
- <message name="echoAnyTypeSoapOut">
- <part name="parameters" element="s0:echoAnyTypeResponse" />
- </message>
- <message name="echoAnyElementSoapIn">
- <part name="parameters" element="s0:echoAnyElement" />
- </message>
- <message name="echoAnyElementSoapOut">
- <part name="parameters" element="s0:echoAnyElementResponse" />
- </message>
- <message name="echoVoidSoapHeaderSoapIn">
- <part name="parameters" element="s2:echoVoidSoapHeader" />
- </message>
- <message name="echoVoidSoapHeaderSoapOut">
- <part name="parameters" element="s0:echoVoidSoapHeaderResponse" />
- </message>
- <message name="echoVoidSoapHeaderechoMeComplexTypeRequest">
- <part name="echoMeComplexTypeRequest" element="s0:echoMeComplexTypeRequest" />
- </message>
- <message name="echoVoidSoapHeaderechoMeComplexTypeResponse">
- <part name="echoMeComplexTypeResponse" element="s0:echoMeComplexTypeResponse" />
- </message>
- <message name="echoVoidSoapHeaderechoMeStringRequest">
- <part name="echoMeStringRequest" element="s0:echoMeStringRequest" />
- </message>
- <message name="echoVoidSoapHeaderechoMeStringResponse">
- <part name="echoMeStringResponse" element="s0:echoMeStringResponse" />
- </message>
- <portType name="Round4XSDTestSoap">
- <operation name="echoVoid">
- <input message="s0:echoVoidSoapIn" />
- <output message="s0:echoVoidSoapOut" />
- </operation>
- <operation name="echoInteger">
- <input message="s0:echoIntegerSoapIn" />
- <output message="s0:echoIntegerSoapOut" />
- </operation>
- <operation name="echoFloat">
- <input message="s0:echoFloatSoapIn" />
- <output message="s0:echoFloatSoapOut" />
- </operation>
- <operation name="echoString">
- <input message="s0:echoStringSoapIn" />
- <output message="s0:echoStringSoapOut" />
- </operation>
- <operation name="echoBase64">
- <input message="s0:echoBase64SoapIn" />
- <output message="s0:echoBase64SoapOut" />
- </operation>
- <operation name="echoDate">
- <input message="s0:echoDateSoapIn" />
- <output message="s0:echoDateSoapOut" />
- </operation>
- <operation name="echoComplexType">
- <input message="s0:echoComplexTypeSoapIn" />
- <output message="s0:echoComplexTypeSoapOut" />
- </operation>
- <operation name="echoIntegerMultiOccurs">
- <input message="s0:echoIntegerMultiOccursSoapIn" />
- <output message="s0:echoIntegerMultiOccursSoapOut" />
- </operation>
- <operation name="echoFloatMultiOccurs">
- <input message="s0:echoFloatMultiOccursSoapIn" />
- <output message="s0:echoFloatMultiOccursSoapOut" />
- </operation>
- <operation name="echoStringMultiOccurs">
- <input message="s0:echoStringMultiOccursSoapIn" />
- <output message="s0:echoStringMultiOccursSoapOut" />
- </operation>
- <operation name="echoComplexTypeMultiOccurs">
- <input message="s0:echoComplexTypeMultiOccursSoapIn" />
- <output message="s0:echoComplexTypeMultiOccursSoapOut" />
- </operation>
- <operation name="echoDecimal">
- <input message="s0:echoDecimalSoapIn" />
- <output message="s0:echoDecimalSoapOut" />
- </operation>
- <operation name="echoBoolean">
- <input message="s0:echoBooleanSoapIn" />
- <output message="s0:echoBooleanSoapOut" />
- </operation>
- <operation name="echoHexBinary">
- <input message="s0:echoHexBinarySoapIn" />
- <output message="s0:echoHexBinarySoapOut" />
- </operation>
- <operation name="echoComplexTypeAsSimpleTypes">
- <input message="s0:echoComplexTypeAsSimpleTypesSoapIn" />
- <output message="s0:echoComplexTypeAsSimpleTypesSoapOut" />
- </operation>
- <operation name="echoSimpleTypesAsComplexType">
- <input message="s0:echoSimpleTypesAsComplexTypeSoapIn" />
- <output message="s0:echoSimpleTypesAsComplexTypeSoapOut" />
- </operation>
- <operation name="echoNestedComplexType">
- <input message="s0:echoNestedComplexTypeSoapIn" />
- <output message="s0:echoNestedComplexTypeSoapOut" />
- </operation>
- <operation name="echoNestedMultiOccurs">
- <input message="s0:echoNestedMultiOccursSoapIn" />
- <output message="s0:echoNestedMultiOccursSoapOut" />
- </operation>
- <operation name="echoChoice">
- <input message="s0:echoChoiceSoapIn" />
- <output message="s0:echoChoiceSoapOut" />
- </operation>
- <operation name="echoEnum">
- <input message="s0:echoEnumSoapIn" />
- <output message="s0:echoEnumSoapOut" />
- </operation>
- <operation name="echoAnyType">
- <input message="s0:echoAnyTypeSoapIn" />
- <output message="s0:echoAnyTypeSoapOut" />
- </operation>
- <operation name="echoAnyElement">
- <input message="s0:echoAnyElementSoapIn" />
- <output message="s0:echoAnyElementSoapOut" />
- </operation>
- <operation name="echoVoidSoapHeader">
- <input message="s0:echoVoidSoapHeaderSoapIn" />
- <output message="s0:echoVoidSoapHeaderSoapOut" />
- </operation>
- </portType>
- <binding name="Round4XSDTestSoap" type="s0:Round4XSDTestSoap">
- <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="echoVoid">
- <soap:operation soapAction="http://soapinterop.org/echoVoid" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoInteger">
- <soap:operation soapAction="http://soapinterop.org/echoInteger" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoFloat">
- <soap:operation soapAction="http://soapinterop.org/echoFloat" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoString">
- <soap:operation soapAction="http://soapinterop.org/echoString" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoBase64">
- <soap:operation soapAction="http://soapinterop.org/echoBase64" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoDate">
- <soap:operation soapAction="http://soapinterop.org/echoDate" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoComplexType">
- <soap:operation soapAction="http://soapinterop.org/echoComplexType" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoIntegerMultiOccurs">
- <soap:operation soapAction="http://soapinterop.org/echoIntegerMultiOccurs" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoFloatMultiOccurs">
- <soap:operation soapAction="http://soapinterop.org/echoFloatMultiOccurs" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoStringMultiOccurs">
- <soap:operation soapAction="http://soapinterop.org/echoStringMultiOccurs" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoComplexTypeMultiOccurs">
- <soap:operation soapAction="http://soapinterop.org/echoComplexTypeMultiOccurs" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoDecimal">
- <soap:operation soapAction="http://soapinterop.org/echoDecimal" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoBoolean">
- <soap:operation soapAction="http://soapinterop.org/echoBoolean" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoHexBinary">
- <soap:operation soapAction="http://soapinterop.org/echoHexBinary" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoComplexTypeAsSimpleTypes">
- <soap:operation soapAction="http://soapinterop.org/echoComplexTypeAsSimpleTypes" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoSimpleTypesAsComplexType">
- <soap:operation soapAction="http://soapinterop.org/echoSimpleTypesAsComplexType" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoNestedComplexType">
- <soap:operation soapAction="http://soapinterop.org/echoNestedComplexType" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoNestedMultiOccurs">
- <soap:operation soapAction="http://soapinterop.org/echoNestedMultiOccurs" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoChoice">
- <soap:operation soapAction="http://soapinterop.org/echoChoice" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoEnum">
- <soap:operation soapAction="http://soapinterop.org/echoEnum" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoAnyType">
- <soap:operation soapAction="http://soapinterop.org/echoAnyType" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoAnyElement">
- <soap:operation soapAction="http://soapinterop.org/echoAnyElement" style="document" />
- <input>
- <soap:body use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- </output>
- </operation>
- <operation name="echoVoidSoapHeader">
- <soap:operation soapAction="http://soapinterop.org" style="document" />
- <input>
- <soap:body use="literal" />
- <soap:header message="s0:echoVoidSoapHeaderechoMeComplexTypeRequest" part="echoMeComplexTypeRequest" use="literal" />
- <soap:header message="s0:echoVoidSoapHeaderechoMeStringRequest" part="echoMeStringRequest" use="literal" />
- </input>
- <output>
- <soap:body use="literal" />
- <soap:header message="s0:echoVoidSoapHeaderechoMeComplexTypeResponse" part="echoMeComplexTypeResponse" use="literal" />
- <soap:header message="s0:echoVoidSoapHeaderechoMeStringResponse" part="echoMeStringResponse" use="literal" />
- </output>
- </operation>
- </binding>
- <binding name="Round4XSDTestSoap12" type="s0:Round4XSDTestSoap">
- <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="echoVoid">
- <soap12:operation soapAction="http://soapinterop.org/echoVoid" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoInteger">
- <soap12:operation soapAction="http://soapinterop.org/echoInteger" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoFloat">
- <soap12:operation soapAction="http://soapinterop.org/echoFloat" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoString">
- <soap12:operation soapAction="http://soapinterop.org/echoString" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoBase64">
- <soap12:operation soapAction="http://soapinterop.org/echoBase64" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoDate">
- <soap12:operation soapAction="http://soapinterop.org/echoDate" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoComplexType">
- <soap12:operation soapAction="http://soapinterop.org/echoComplexType" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoIntegerMultiOccurs">
- <soap12:operation soapAction="http://soapinterop.org/echoIntegerMultiOccurs" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoFloatMultiOccurs">
- <soap12:operation soapAction="http://soapinterop.org/echoFloatMultiOccurs" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoStringMultiOccurs">
- <soap12:operation soapAction="http://soapinterop.org/echoStringMultiOccurs" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoComplexTypeMultiOccurs">
- <soap12:operation soapAction="http://soapinterop.org/echoComplexTypeMultiOccurs" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoDecimal">
- <soap12:operation soapAction="http://soapinterop.org/echoDecimal" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoBoolean">
- <soap12:operation soapAction="http://soapinterop.org/echoBoolean" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoHexBinary">
- <soap12:operation soapAction="http://soapinterop.org/echoHexBinary" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoComplexTypeAsSimpleTypes">
- <soap12:operation soapAction="http://soapinterop.org/echoComplexTypeAsSimpleTypes" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoSimpleTypesAsComplexType">
- <soap12:operation soapAction="http://soapinterop.org/echoSimpleTypesAsComplexType" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoNestedComplexType">
- <soap12:operation soapAction="http://soapinterop.org/echoNestedComplexType" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoNestedMultiOccurs">
- <soap12:operation soapAction="http://soapinterop.org/echoNestedMultiOccurs" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoChoice">
- <soap12:operation soapAction="http://soapinterop.org/echoChoice" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoEnum">
- <soap12:operation soapAction="http://soapinterop.org/echoEnum" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoAnyType">
- <soap12:operation soapAction="http://soapinterop.org/echoAnyType" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoAnyElement">
- <soap12:operation soapAction="http://soapinterop.org/echoAnyElement" style="document" />
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- <operation name="echoVoidSoapHeader">
- <soap12:operation soapAction="http://soapinterop.org" style="document" />
- <input>
- <soap12:body use="literal" />
- <soap12:header message="s0:echoVoidSoapHeaderechoMeComplexTypeRequest" part="echoMeComplexTypeRequest" use="literal" />
- <soap12:header message="s0:echoVoidSoapHeaderechoMeStringRequest" part="echoMeStringRequest" use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- <soap12:header message="s0:echoVoidSoapHeaderechoMeComplexTypeResponse" part="echoMeComplexTypeResponse" use="literal" />
- <soap12:header message="s0:echoVoidSoapHeaderechoMeStringResponse" part="echoMeStringResponse" use="literal" />
- </output>
- </operation>
- </binding>
- <service name="Round4XSDTest">
- <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>
- <port name="Round4XSDTestSoap" binding="s0:Round4XSDTestSoap">
- <soap:address location="test://" />
- </port>
- <port name="Round4XSDTestSoap12" binding="s0:Round4XSDTestSoap12">
- <soap12:address location="http://mssoapinterop.org/asmx/xsd/round4xsd.asmx" />
- </port>
- </service>
-</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
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/interop/Round4/GroupI/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
- if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
diff --git a/ext/soap/tests/schema/schema001.phpt b/ext/soap/tests/schema/schema001.phpt
deleted file mode 100644
index 9f2b7e5235..0000000000
--- a/ext/soap/tests/schema/schema001.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP XML Schema 1: simpleType/restriction
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <restriction base="xsd:int"/>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-int(123)
-ok
diff --git a/ext/soap/tests/schema/schema002.phpt b/ext/soap/tests/schema/schema002.phpt
deleted file mode 100644
index 41f3bbe3fa..0000000000
--- a/ext/soap/tests/schema/schema002.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP XML Schema 2: simpleType/restriction (reference to type)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType2">
- <restriction base="xsd:int"/>
- </simpleType>
- <simpleType name="testType">
- <restriction base="tns:testType2"/>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-int(123)
-ok
diff --git a/ext/soap/tests/schema/schema003.phpt b/ext/soap/tests/schema/schema003.phpt
deleted file mode 100644
index 75991001e0..0000000000
--- a/ext/soap/tests/schema/schema003.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP XML Schema 3: simpleType/restriction (reference to type, that is not defined yet)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <restriction base="tns:testType2"/>
- </simpleType>
- <simpleType name="testType2">
- <restriction base="xsd:int"/>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-int(123)
-ok
diff --git a/ext/soap/tests/schema/schema004.phpt b/ext/soap/tests/schema/schema004.phpt
deleted file mode 100644
index b851f76050..0000000000
--- a/ext/soap/tests/schema/schema004.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP XML Schema 4: simpleType/restriction (reference to undefined type)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <restriction base="tns:testType2"/>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123.5</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(5) "123.5"
-ok \ No newline at end of file
diff --git a/ext/soap/tests/schema/schema005.phpt b/ext/soap/tests/schema/schema005.phpt
deleted file mode 100644
index 1db0c62f99..0000000000
--- a/ext/soap/tests/schema/schema005.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP XML Schema 5: simpleType/restriction (inline type)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <restriction>
- <simpleType name="testType2">
- <restriction base="xsd:int"/>
- </simpleType>
- </restriction>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-int(123)
-ok
diff --git a/ext/soap/tests/schema/schema006.phpt b/ext/soap/tests/schema/schema006.phpt
deleted file mode 100644
index e41f27545b..0000000000
--- a/ext/soap/tests/schema/schema006.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP XML Schema 6: simpleType/restriction (referenced by ellement)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <restriction>
- <simpleType name="testType2">
- <restriction base="xsd:int"/>
- </simpleType>
- </restriction>
- </simpleType>
- <element name="testElement" type="tns:testType"/>
-EOF;
-test_schema($schema,'element="tns:testElement"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-int(123)
-ok
diff --git a/ext/soap/tests/schema/schema007.phpt b/ext/soap/tests/schema/schema007.phpt
deleted file mode 100644
index fd93c7aa8e..0000000000
--- a/ext/soap/tests/schema/schema007.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP XML Schema 7: simpleType/restriction (referenced by ellement)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <element name="testElement" type="tns:testType"/>
- <simpleType name="testType">
- <restriction>
- <simpleType name="testType2">
- <restriction base="xsd:int"/>
- </simpleType>
- </restriction>
- </simpleType>
-EOF;
-test_schema($schema,'element="tns:testElement"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-int(123)
-ok
diff --git a/ext/soap/tests/schema/schema008.phpt b/ext/soap/tests/schema/schema008.phpt
deleted file mode 100644
index 1c4005f690..0000000000
--- a/ext/soap/tests/schema/schema008.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP XML Schema 8: simpleType/restriction (anonymous, inside an ellement)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
-<element name="testElement">
- <simpleType>
- <restriction>
- <simpleType name="testType2">
- <restriction base="xsd:int"/>
- </simpleType>
- </restriction>
- </simpleType>
-</element>
-EOF;
-test_schema($schema,'element="tns:testElement"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testElement">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-int(123)
-ok
-
diff --git a/ext/soap/tests/schema/schema009.phpt b/ext/soap/tests/schema/schema009.phpt
deleted file mode 100644
index 5198debd90..0000000000
--- a/ext/soap/tests/schema/schema009.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP XML Schema 9: simpleType/list (as string)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <list itemType="token"/>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',"one two");
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">one two</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(7) "one two"
-ok
diff --git a/ext/soap/tests/schema/schema010.phpt b/ext/soap/tests/schema/schema010.phpt
deleted file mode 100644
index 6cea56ee48..0000000000
--- a/ext/soap/tests/schema/schema010.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP XML Schema 10: simpleType/list (as array)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <list itemType="token"/>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',array("one","two"));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">one two</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(7) "one two"
-ok
diff --git a/ext/soap/tests/schema/schema011.phpt b/ext/soap/tests/schema/schema011.phpt
deleted file mode 100644
index c66f0f7a10..0000000000
--- a/ext/soap/tests/schema/schema011.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP XML Schema 11: simpleType/list (inline type) (as string)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <list>
- <simpleType>
- <restriction base="int"/>
- </simpleType>
- </list>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',"123 456.7");
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123 456</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(7) "123 456"
-ok
diff --git a/ext/soap/tests/schema/schema012.phpt b/ext/soap/tests/schema/schema012.phpt
deleted file mode 100644
index 7ba25f9637..0000000000
--- a/ext/soap/tests/schema/schema012.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP XML Schema 12: simpleType/list (inline type) (as array)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <list>
- <simpleType>
- <restriction base="int"/>
- </simpleType>
- </list>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,456.7));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123 456</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(7) "123 456"
-ok
diff --git a/ext/soap/tests/schema/schema013.phpt b/ext/soap/tests/schema/schema013.phpt
deleted file mode 100644
index ee2e114bd6..0000000000
--- a/ext/soap/tests/schema/schema013.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP XML Schema 13: simpleType/union
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <union memberTypes="string int float"/>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',"str");
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">str</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(3) "str"
-ok
diff --git a/ext/soap/tests/schema/schema014.phpt b/ext/soap/tests/schema/schema014.phpt
deleted file mode 100644
index 87edb3ad30..0000000000
--- a/ext/soap/tests/schema/schema014.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP XML Schema 14: simpleType/union
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <union memberTypes="string int float"/>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123.5</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(5) "123.5"
-ok
diff --git a/ext/soap/tests/schema/schema015.phpt b/ext/soap/tests/schema/schema015.phpt
deleted file mode 100644
index dc9a02d586..0000000000
--- a/ext/soap/tests/schema/schema015.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP XML Schema 15: simpleType/union (inline type)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <union>
- <simpleType>
- <restriction base="string"/>
- </simpleType>
- <simpleType>
- <restriction base="int"/>
- </simpleType>
- <simpleType>
- <restriction base="float"/>
- </simpleType>
- </union>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',"str");
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">str</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(3) "str"
-ok
diff --git a/ext/soap/tests/schema/schema016.phpt b/ext/soap/tests/schema/schema016.phpt
deleted file mode 100644
index 714fb59743..0000000000
--- a/ext/soap/tests/schema/schema016.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP XML Schema 16: simpleType/union (inline type)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <union>
- <simpleType>
- <restriction base="string"/>
- </simpleType>
- <simpleType>
- <restriction base="int"/>
- </simpleType>
- <simpleType>
- <restriction base="float"/>
- </simpleType>
- </union>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123.5</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(5) "123.5"
-ok
diff --git a/ext/soap/tests/schema/schema017.phpt b/ext/soap/tests/schema/schema017.phpt
deleted file mode 100644
index 8b20483783..0000000000
--- a/ext/soap/tests/schema/schema017.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP XML Schema 17: union with list
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <union>
- <simpleType>
- <restriction base="float"/>
- </simpleType>
- <simpleType>
- <list itemType="int"/>
- </simpleType>
- </union>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',123.5);
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123.5</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(5) "123.5"
-ok
diff --git a/ext/soap/tests/schema/schema018.phpt b/ext/soap/tests/schema/schema018.phpt
deleted file mode 100644
index f41e277aaa..0000000000
--- a/ext/soap/tests/schema/schema018.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP XML Schema 18: union with list
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <union>
- <simpleType>
- <restriction base="float"/>
- </simpleType>
- <simpleType>
- <list itemType="int"/>
- </simpleType>
- </union>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',"123.5");
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123.5</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(5) "123.5"
-ok
diff --git a/ext/soap/tests/schema/schema019.phpt b/ext/soap/tests/schema/schema019.phpt
deleted file mode 100644
index 73938772bf..0000000000
--- a/ext/soap/tests/schema/schema019.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP XML Schema 19: union with list
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <union>
- <simpleType>
- <restriction base="float"/>
- </simpleType>
- <simpleType>
- <list itemType="int"/>
- </simpleType>
- </union>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',"123.5 456.7");
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123.5 456.7</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(11) "123.5 456.7"
-ok
diff --git a/ext/soap/tests/schema/schema020.phpt b/ext/soap/tests/schema/schema020.phpt
deleted file mode 100644
index 899b773756..0000000000
--- a/ext/soap/tests/schema/schema020.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP XML Schema 20: union with list
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <union>
- <simpleType>
- <restriction base="float"/>
- </simpleType>
- <simpleType>
- <list itemType="int"/>
- </simpleType>
- </union>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123.5,456.7));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123.5 456.7</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(11) "123.5 456.7"
-ok
diff --git a/ext/soap/tests/schema/schema021.phpt b/ext/soap/tests/schema/schema021.phpt
deleted file mode 100644
index 1400107f81..0000000000
--- a/ext/soap/tests/schema/schema021.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP XML Schema 21: list of unions
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <list>
- <simpleType>
- <union memberTypes="int float str"/>
- </simpleType>
- </list>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',"123 123.5 456.7 str");
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123 123.5 456.7 str</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(19) "123 123.5 456.7 str"
-ok
diff --git a/ext/soap/tests/schema/schema022.phpt b/ext/soap/tests/schema/schema022.phpt
deleted file mode 100644
index bfbb05c772..0000000000
--- a/ext/soap/tests/schema/schema022.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP XML Schema 22: list of unions
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <simpleType name="testType">
- <list>
- <simpleType>
- <union memberTypes="int float str"/>
- </simpleType>
- </list>
- </simpleType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5,'str'));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType">123 123.5 str</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-string(13) "123 123.5 str"
-ok
diff --git a/ext/soap/tests/schema/schema023.phpt b/ext/soap/tests/schema/schema023.phpt
deleted file mode 100644
index 162a46e7f5..0000000000
--- a/ext/soap/tests/schema/schema023.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP XML Schema 23: SOAP 1.1 Array
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns1:testType"><item xsi:type="xsd:int">123</item><item xsi:type="xsd:int">123</item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- int(123)
- [1]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema024.phpt b/ext/soap/tests/schema/schema024.phpt
deleted file mode 100644
index 628dfd73fd..0000000000
--- a/ext/soap/tests/schema/schema024.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-SOAP XML Schema 24: SOAP 1.1 Array (second way)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <all>
- <element name="x_item" type="int" maxOccurs="unbounded"/>
- </all>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns1:testType"><x_item xsi:type="xsd:int">123</x_item><x_item xsi:type="xsd:int">123</x_item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- int(123)
- [1]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema025.phpt b/ext/soap/tests/schema/schema025.phpt
deleted file mode 100644
index f9c7af7586..0000000000
--- a/ext/soap/tests/schema/schema025.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP XML Schema 25: SOAP 1.2 Array
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="enc12:Array" xmlns:enc12="http://www.w3.org/2003/05/soap-encoding">
- <attribute ref="enc12:itemType" wsdl:itemType="int"/>
- <attribute ref="enc12:arraySize" wsdl:arraySize="*"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns1:testType"><item xsi:type="xsd:int">123</item><item xsi:type="xsd:int">123</item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- int(123)
- [1]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema026.phpt b/ext/soap/tests/schema/schema026.phpt
deleted file mode 100644
index a80215ed4f..0000000000
--- a/ext/soap/tests/schema/schema026.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-SOAP XML Schema 26: SOAP 1.2 Array (second way)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="enc12:Array" xmlns:enc12="http://www.w3.org/2003/05/soap-encoding">
- <all>
- <element name="x_item" type="int" maxOccurs="unbounded"/>
- </all>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam SOAP-ENC:arrayType="xsd:int[2]" xsi:type="ns1:testType"><x_item xsi:type="xsd:int">123</x_item><x_item xsi:type="xsd:int">123</x_item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- int(123)
- [1]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema027.phpt b/ext/soap/tests/schema/schema027.phpt
deleted file mode 100644
index 968b8562db..0000000000
--- a/ext/soap/tests/schema/schema027.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---TEST--
-SOAP XML Schema 27: SOAP 1.1 Multidimensional array
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[,]"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(array(123),array(123.5)));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam SOAP-ENC:arrayType="xsd:int[2,1]" xsi:type="ns1:testType"><item xsi:type="xsd:int">123</item><item xsi:type="xsd:int">123</item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- array(1) {
- [0]=>
- int(123)
- }
- [1]=>
- array(1) {
- [0]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema028.phpt b/ext/soap/tests/schema/schema028.phpt
deleted file mode 100644
index f86a875848..0000000000
--- a/ext/soap/tests/schema/schema028.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-SOAP XML Schema 28: SOAP 1.2 Multidimensional array
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="enc12:Array" xmlns:enc12="http://www.w3.org/2003/05/soap-encoding">
- <attribute ref="enc12:itemType" wsdl:itemType="int"/>
- <attribute ref="enc12:arraySize" wsdl:arraySize="* 1"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(array(123),array(123.5)));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam SOAP-ENC:arrayType="xsd:int[2,1]" xsi:type="ns1:testType"><item xsi:type="xsd:int">123</item><item xsi:type="xsd:int">123</item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- array(1) {
- [0]=>
- int(123)
- }
- [1]=>
- array(1) {
- [0]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema029.phpt b/ext/soap/tests/schema/schema029.phpt
deleted file mode 100644
index 8ae0a3b12f..0000000000
--- a/ext/soap/tests/schema/schema029.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---TEST--
-SOAP XML Schema 29: SOAP 1.2 Multidimensional array (second way)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="enc12:Array" xmlns:enc12="http://www.w3.org/2003/05/soap-encoding">
- <all>
- <element name="x_item" type="int" maxOccurs="unbounded"/>
- </all>
- <attribute ref="enc12:arraySize" wsdl:arraySize="* 1"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(array(123),array(123.5)));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam SOAP-ENC:arrayType="xsd:int[2,1]" xsi:type="ns1:testType"><x_item xsi:type="xsd:int">123</x_item><x_item xsi:type="xsd:int">123</x_item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- array(1) {
- [0]=>
- int(123)
- }
- [1]=>
- array(1) {
- [0]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema030.phpt b/ext/soap/tests/schema/schema030.phpt
deleted file mode 100644
index e468613916..0000000000
--- a/ext/soap/tests/schema/schema030.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP XML Schema 30: Structure (sequence)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element name="str" type="string"/>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["str"]=>
- string(3) "str"
-}
-ok
diff --git a/ext/soap/tests/schema/schema031.phpt b/ext/soap/tests/schema/schema031.phpt
deleted file mode 100644
index 479abfee9d..0000000000
--- a/ext/soap/tests/schema/schema031.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP XML Schema 31: Structure (all)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <all>
- <element name="int" type="int"/>
- <element name="str" type="string"/>
- </all>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["str"]=>
- string(3) "str"
-}
-ok
diff --git a/ext/soap/tests/schema/schema032.phpt b/ext/soap/tests/schema/schema032.phpt
deleted file mode 100644
index 47b4af121c..0000000000
--- a/ext/soap/tests/schema/schema032.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP XML Schema 32: Structure (choice)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <choice>
- <element name="int" type="int"/>
- <element name="str" type="string"/>
- </choice>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (1) {
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema033.phpt b/ext/soap/tests/schema/schema033.phpt
deleted file mode 100644
index b504bc077a..0000000000
--- a/ext/soap/tests/schema/schema033.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-SOAP XML Schema 33: Nested complex types
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType2">
- <sequence>
- <element name="int" type="int"/>
- </sequence>
- </complexType>
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element name="nest" type="tns:testType2"/>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5,"nest"=>array("int"=>123.5)));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><nest xsi:type="ns1:testType2"><int xsi:type="xsd:int">123</int></nest></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["nest"]=>
- object(stdClass)#%d (1) {
- ["int"]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema034.phpt b/ext/soap/tests/schema/schema034.phpt
deleted file mode 100644
index a83d6ea846..0000000000
--- a/ext/soap/tests/schema/schema034.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-SOAP XML Schema 34: Nested complex types (element ref)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <element name="testType2" type="tns:testType2"/>
- <complexType name="testType2">
- <sequence>
- <element name="int" type="int"/>
- </sequence>
- </complexType>
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element ref="tns:testType2"/>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5,"testType2"=>array("int"=>123.5)));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><testType2 xsi:type="ns1:testType2"><int xsi:type="xsd:int">123</int></testType2></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["testType2"]=>
- object(stdClass)#%d (1) {
- ["int"]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema035.phpt b/ext/soap/tests/schema/schema035.phpt
deleted file mode 100644
index 8974ed00c5..0000000000
--- a/ext/soap/tests/schema/schema035.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---TEST--
-SOAP XML Schema 35: Nested complex types (element ref + anonymous type)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <element name="testType2">
- <complexType>
- <sequence>
- <element name="int" type="int"/>
- </sequence>
- </complexType>
- </element>
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element ref="tns:testType2"/>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5,"testType2"=>array("int"=>123.5)));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><testType2 xsi:type="ns1:testType2"><int xsi:type="xsd:int">123</int></testType2></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["testType2"]=>
- object(stdClass)#%d (1) {
- ["int"]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema036.phpt b/ext/soap/tests/schema/schema036.phpt
deleted file mode 100644
index 9d6dac4534..0000000000
--- a/ext/soap/tests/schema/schema036.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-SOAP XML Schema 36: Nested complex types (inline)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element name="testType2">
- <complexType>
- <sequence>
- <element name="int" type="int"/>
- </sequence>
- </complexType>
- </element>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5,"testType2"=>array("int"=>123.5)));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><testType2 xsi:type="ns1:testType2"><int xsi:type="xsd:int">123</int></testType2></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["testType2"]=>
- object(stdClass)#%d (1) {
- ["int"]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema037.phpt b/ext/soap/tests/schema/schema037.phpt
deleted file mode 100644
index 4e59981fc9..0000000000
--- a/ext/soap/tests/schema/schema037.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP XML Schema 37: Structure with attributes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="str" type="string"/>
- </sequence>
- <attribute name="int" type="int"/>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam int="123" xsi:type="ns1:testType"><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema038.phpt b/ext/soap/tests/schema/schema038.phpt
deleted file mode 100644
index 2d37e89e0b..0000000000
--- a/ext/soap/tests/schema/schema038.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP XML Schema 38: Structure with attributes (ref)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="str" type="string"/>
- </sequence>
- <attribute ref="tns:int"/>
- </complexType>
- <attribute name="int" type="int"/>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam int="123" xsi:type="ns1:testType"><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema039.phpt b/ext/soap/tests/schema/schema039.phpt
deleted file mode 100644
index 0b7ef5afc4..0000000000
--- a/ext/soap/tests/schema/schema039.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-SOAP XML Schema 39: Structure with attributes (attributeGroup)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="str" type="string"/>
- </sequence>
- <attributeGroup ref="tns:intGroup"/>
- </complexType>
- <attributeGroup name="intGroup">
- <attribute name="int" type="int"/>
- </attributeGroup>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam int="123" xsi:type="ns1:testType"><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema040.phpt b/ext/soap/tests/schema/schema040.phpt
deleted file mode 100644
index f7ddc04546..0000000000
--- a/ext/soap/tests/schema/schema040.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-SOAP XML Schema 40: Structure with attributes (inline types)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="str" type="string"/>
- </sequence>
- <attribute name="int">
- <simpleType>
- <restriction base="int"/>
- </simpleType>
- </attribute>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam int="123" xsi:type="ns1:testType"><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema041.phpt b/ext/soap/tests/schema/schema041.phpt
deleted file mode 100644
index 1264cf5c90..0000000000
--- a/ext/soap/tests/schema/schema041.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-SOAP XML Schema 41: Structure (group)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <group ref="tns:testGroup"/>
- </complexType>
- <group name="testGroup">
- <sequence>
- <element name="int" type="int"/>
- <element name="str" type="string"/>
- </sequence>
- </group>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["str"]=>
- string(3) "str"
-}
-ok
diff --git a/ext/soap/tests/schema/schema042.phpt b/ext/soap/tests/schema/schema042.phpt
deleted file mode 100644
index a8aa8857d9..0000000000
--- a/ext/soap/tests/schema/schema042.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP XML Schema 42: Extension of simple type
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <simpleContent>
- <extension base="int">
- <attribute name="int" type="int"/>
- </extension>
- </simpleContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>123.5,"int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType" int="123">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["_"]=>
- int(123)
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema043.phpt b/ext/soap/tests/schema/schema043.phpt
deleted file mode 100644
index 08c2996363..0000000000
--- a/ext/soap/tests/schema/schema043.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---TEST--
-SOAP XML Schema 43: Extension of simple type (2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType2">
- <simpleContent>
- <extension base="int">
- <attribute name="int" type="int"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="testType">
- <simpleContent>
- <extension base="tns:testType2">
- <attribute name="int2" type="int"/>
- </extension>
- </simpleContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>123.5,"int"=>123.5,"int2"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType" int="123" int2="123">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (3) {
- ["_"]=>
- int(123)
- ["int"]=>
- int(123)
- ["int2"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema044.phpt b/ext/soap/tests/schema/schema044.phpt
deleted file mode 100644
index 8fc0705518..0000000000
--- a/ext/soap/tests/schema/schema044.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP XML Schema 44: Restriction of simple type
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <simpleContent>
- <restriction base="int">
- <attribute name="int" type="int"/>
- </restriction>
- </simpleContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>123.5,"int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType" int="123">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["_"]=>
- int(123)
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema045.phpt b/ext/soap/tests/schema/schema045.phpt
deleted file mode 100644
index 346a929d85..0000000000
--- a/ext/soap/tests/schema/schema045.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-SOAP XML Schema 45: Restriction of simple type (2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType2">
- <simpleContent>
- <extension base="int">
- <attribute name="int" type="int"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="testType">
- <simpleContent>
- <restriction base="tns:testType2">
- <attribute name="int2" type="int"/>
- </restriction>
- </simpleContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>123.5,"int"=>123.5,"int2"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType" int2="123">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["_"]=>
- int(123)
- ["int2"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema046.phpt b/ext/soap/tests/schema/schema046.phpt
deleted file mode 100644
index 3f9d03afad..0000000000
--- a/ext/soap/tests/schema/schema046.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---TEST--
-SOAP XML Schema 46: Extension of complex type
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType2">
- <simpleContent>
- <extension base="int">
- <attribute name="int" type="int"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="testType">
- <complexContent>
- <extension base="tns:testType2">
- <attribute name="int2" type="int"/>
- </extension>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>123.5,"int"=>123.5,"int2"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType" int="123" int2="123">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (3) {
- ["_"]=>
- int(123)
- ["int"]=>
- int(123)
- ["int2"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema047.phpt b/ext/soap/tests/schema/schema047.phpt
deleted file mode 100644
index 1265cfd3a3..0000000000
--- a/ext/soap/tests/schema/schema047.phpt
+++ /dev/null
@@ -1,34 +0,0 @@
---TEST--
-SOAP XML Schema 47: Extension of complex type (2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType2">
- <sequence>
- <element name="int" type="int"/>
- </sequence>
- </complexType>
- <complexType name="testType">
- <complexContent>
- <extension base="tns:testType2">
- <attribute name="int2" type="int"/>
- </extension>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>123.5,"int"=>123.5,"int2"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType" int2="123"><int xsi:type="xsd:int">123</int></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["int2"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema048.phpt b/ext/soap/tests/schema/schema048.phpt
deleted file mode 100644
index 98d4d4be44..0000000000
--- a/ext/soap/tests/schema/schema048.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-SOAP XML Schema 48: Restriction of complex type
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType2">
- <simpleContent>
- <extension base="int">
- <attribute name="int" type="int"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="testType">
- <complexContent>
- <restriction base="tns:testType2">
- <attribute name="int2" type="int"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>123.5,"int"=>123.5,"int2"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType" int2="123">123</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["_"]=>
- int(123)
- ["int2"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema049.phpt b/ext/soap/tests/schema/schema049.phpt
deleted file mode 100644
index 78dc5681ea..0000000000
--- a/ext/soap/tests/schema/schema049.phpt
+++ /dev/null
@@ -1,34 +0,0 @@
---TEST--
-SOAP XML Schema 49: Restriction of complex type (2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType2">
- <sequence>
- <element name="int" type="int"/>
- </sequence>
- </complexType>
- <complexType name="testType">
- <complexContent>
- <restriction base="tns:testType2">
- <sequence>
- <element name="int2" type="int"/>
- </sequence>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>123.5,"int"=>123.5,"int2"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int2 xsi:type="xsd:int">123</int2></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (1) {
- ["int2"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema050.phpt b/ext/soap/tests/schema/schema050.phpt
deleted file mode 100644
index 6c735125b7..0000000000
--- a/ext/soap/tests/schema/schema050.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP XML Schema 50: Array in complex type (maxOccurs > 1, one value)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element name="int2" type="int" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5,"int2"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><int2 xsi:type="xsd:int">123</int2></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["int2"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema051.phpt b/ext/soap/tests/schema/schema051.phpt
deleted file mode 100644
index 9636399814..0000000000
--- a/ext/soap/tests/schema/schema051.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-SOAP XML Schema 51: Array in complex type (maxOccurs > 1, array)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element name="int2" type="int" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5,"int2"=>array(123.5,456.7)));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><int2 xsi:type="xsd:int">123</int2><int2 xsi:type="xsd:int">456</int2></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["int2"]=>
- array(2) {
- [0]=>
- int(123)
- [1]=>
- int(456)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema052.phpt b/ext/soap/tests/schema/schema052.phpt
deleted file mode 100644
index 8e7121ae2d..0000000000
--- a/ext/soap/tests/schema/schema052.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP XML Schema 52: Array in complex type (maxOccurs > 1, array with one value)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element name="int2" type="int" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5,"int2"=>array(123.5)));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int><int2 xsi:type="xsd:int">123</int2></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["int"]=>
- int(123)
- ["int2"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema053.phpt b/ext/soap/tests/schema/schema053.phpt
deleted file mode 100644
index 8893bf5df3..0000000000
--- a/ext/soap/tests/schema/schema053.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP XML Schema 52: Array in complex type (maxOccurs > 1, empty array)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int" type="int"/>
- <element name="int2" type="int" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("int"=>123.5,"int2"=>array()));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><int xsi:type="xsd:int">123</int></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (1) {
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema054.phpt b/ext/soap/tests/schema/schema054.phpt
deleted file mode 100644
index fc5cb05761..0000000000
--- a/ext/soap/tests/schema/schema054.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-SOAP XML Schema 54: Apache Map
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = '';
-test_schema($schema,'type="apache:Map" xmlns:apache="http://xml.apache.org/xml-soap"',array('a'=>123,'b'=>123.5));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/xml-soap" 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:test><testParam xsi:type="ns2:Map"><item><key xsi:type="xsd:string">a</key><value xsi:type="xsd:int">123</value></item><item><key xsi:type="xsd:string">b</key><value xsi:type="xsd:float">123.5</value></item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- ["a"]=>
- int(123)
- ["b"]=>
- float(123.5)
-}
-ok
diff --git a/ext/soap/tests/schema/schema055.phpt b/ext/soap/tests/schema/schema055.phpt
deleted file mode 100644
index 013cd92fd8..0000000000
--- a/ext/soap/tests/schema/schema055.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP XML Schema 55: Apache Map (extension)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <extension base="apache:Map" xmlns:apache="http://xml.apache.org/xml-soap">
- </extension>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="testType"',array('a'=>123,'b'=>123.5));
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/xml-soap" 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:test><testParam xsi:type="ns2:Map"><item><key xsi:type="xsd:string">a</key><value xsi:type="xsd:int">123</value></item><item><key xsi:type="xsd:string">b</key><value xsi:type="xsd:float">123.5</value></item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- ["a"]=>
- int(123)
- ["b"]=>
- float(123.5)
-}
-ok
diff --git a/ext/soap/tests/schema/schema056.phpt b/ext/soap/tests/schema/schema056.phpt
deleted file mode 100644
index 1ada78ea2a..0000000000
--- a/ext/soap/tests/schema/schema056.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP XML Schema 56: SOAP 1.1 Array (literal encoding)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5),'rpc','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:test><testParam><xsd:int>123</xsd:int><xsd:int>123</xsd:int></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- int(123)
- [1]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema057.phpt b/ext/soap/tests/schema/schema057.phpt
deleted file mode 100644
index 1848b9c24a..0000000000
--- a/ext/soap/tests/schema/schema057.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-SOAP XML Schema 57: SOAP 1.1 Array (second way, literal encoding)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <all>
- <element name="x_item" type="int" maxOccurs="unbounded"/>
- </all>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5),'rpc','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:test><testParam><x_item>123</x_item><x_item>123</x_item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- int(123)
- [1]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema058.phpt b/ext/soap/tests/schema/schema058.phpt
deleted file mode 100644
index b96fc9fcca..0000000000
--- a/ext/soap/tests/schema/schema058.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP XML Schema 58: SOAP 1.2 Array (literal encoding)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="enc12:Array" xmlns:enc12="http://www.w3.org/2003/05/soap-encoding">
- <attribute ref="enc12:itemType" wsdl:itemType="int"/>
- <attribute ref="enc12:arraySize" wsdl:arraySize="*"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5),'rpc','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:test><testParam><xsd:int>123</xsd:int><xsd:int>123</xsd:int></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- int(123)
- [1]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema059.phpt b/ext/soap/tests/schema/schema059.phpt
deleted file mode 100644
index 875bae9868..0000000000
--- a/ext/soap/tests/schema/schema059.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-SOAP XML Schema 59: SOAP 1.2 Array (second way, literal encoding)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="enc12:Array" xmlns:enc12="http://www.w3.org/2003/05/soap-encoding">
- <all>
- <element name="x_item" type="int" maxOccurs="unbounded"/>
- </all>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5),'rpc','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:test><testParam><x_item>123</x_item><x_item>123</x_item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- int(123)
- [1]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema060.phpt b/ext/soap/tests/schema/schema060.phpt
deleted file mode 100644
index 4daa83c191..0000000000
--- a/ext/soap/tests/schema/schema060.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-SOAP XML Schema 60: SOAP 1.2 Multidimensional array (literal encoding)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="enc12:Array" xmlns:enc12="http://www.w3.org/2003/05/soap-encoding">
- <attribute ref="enc12:itemType" wsdl:itemType="int"/>
- <attribute ref="enc12:arraySize" wsdl:arraySize="* 1"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(array(123),array(123.5)),'rpc','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:test><testParam><xsd:int>123</xsd:int><xsd:int>123</xsd:int></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- array(1) {
- [0]=>
- int(123)
- }
- [1]=>
- array(1) {
- [0]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema061.phpt b/ext/soap/tests/schema/schema061.phpt
deleted file mode 100644
index bbd2aa6579..0000000000
--- a/ext/soap/tests/schema/schema061.phpt
+++ /dev/null
@@ -1,38 +0,0 @@
---TEST--
-SOAP XML Schema 61: SOAP 1.2 Multidimensional array (second way, literal encoding)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="enc12:Array" xmlns:enc12="http://www.w3.org/2003/05/soap-encoding">
- <all>
- <element name="x_item" type="int" maxOccurs="unbounded"/>
- </all>
- <attribute ref="enc12:arraySize" wsdl:arraySize="* 1"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(array(123),array(123.5)),'rpc','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><ns1:test><testParam><x_item>123</x_item><x_item>123</x_item></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-array(2) {
- [0]=>
- array(1) {
- [0]=>
- int(123)
- }
- [1]=>
- array(1) {
- [0]=>
- int(123)
- }
-}
-ok
diff --git a/ext/soap/tests/schema/schema062.phpt b/ext/soap/tests/schema/schema062.phpt
deleted file mode 100644
index d4efc9a599..0000000000
--- a/ext/soap/tests/schema/schema062.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP XML Schema 62: NULL with attributes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <simpleContent>
- <restriction base="int">
- <attribute name="int" type="int"/>
- </restriction>
- </simpleContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("_"=>NULL,"int"=>123.5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:nil="1" int="123" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["_"]=>
- NULL
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema063.phpt b/ext/soap/tests/schema/schema063.phpt
deleted file mode 100644
index dd60422a27..0000000000
--- a/ext/soap/tests/schema/schema063.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
---TEST--
-SOAP XML Schema 63: standard unsignedLong type
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = '';
-test_schema($schema,'type="xsd:unsignedLong"',0xffffffff);
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="xsd:unsignedLong">4294967295</testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-%s(4294967295)
-ok
diff --git a/ext/soap/tests/schema/schema064.phpt b/ext/soap/tests/schema/schema064.phpt
deleted file mode 100644
index 53e1b257be..0000000000
--- a/ext/soap/tests/schema/schema064.phpt
+++ /dev/null
@@ -1,57 +0,0 @@
---TEST--
-SOAP XML Schema 64: standard date/time types
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="dateTime" type="dateTime"/>
- <element name="time" type="time"/>
- <element name="date" type="date"/>
- <element name="gYearMonth" type="gYearMonth"/>
- <element name="gYear" type="gYear"/>
- <element name="gMonthDay" type="gMonthDay"/>
- <element name="gDay" type="gDay"/>
- <element name="gMonth" type="gMonth"/>
- </sequence>
- </complexType>
-EOF;
-$date = gmmktime(1,2,3,4,5,1976);
-putenv('TZ=GMT');
-test_schema($schema,'type="tns:testType"',array(
- 'dateTime' => $date,
- 'time' => $date,
- 'date' => $date,
- 'gYearMonth' => $date,
- 'gYear' => $date,
- 'gMonthDay' => $date,
- 'gDay' => $date,
- 'gMonth' => $date
-));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam xsi:type="ns1:testType"><dateTime xsi:type="xsd:dateTime">1976-04-05T01:02:03Z</dateTime><time xsi:type="xsd:time">01:02:03Z</time><date xsi:type="xsd:date">1976-04-05Z</date><gYearMonth xsi:type="xsd:gYearMonth">1976-04Z</gYearMonth><gYear xsi:type="xsd:gYear">1976Z</gYear><gMonthDay xsi:type="xsd:gMonthDay">--04-05Z</gMonthDay><gDay xsi:type="xsd:gDay">---05Z</gDay><gMonth xsi:type="xsd:gMonth">--04--Z</gMonth></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (8) {
- ["dateTime"]=>
- string(20) "1976-04-05T01:02:03Z"
- ["time"]=>
- string(9) "01:02:03Z"
- ["date"]=>
- string(11) "1976-04-05Z"
- ["gYearMonth"]=>
- string(8) "1976-04Z"
- ["gYear"]=>
- string(5) "1976Z"
- ["gMonthDay"]=>
- string(8) "--04-05Z"
- ["gDay"]=>
- string(6) "---05Z"
- ["gMonth"]=>
- string(7) "--04--Z"
-}
-ok
diff --git a/ext/soap/tests/schema/schema065.phpt b/ext/soap/tests/schema/schema065.phpt
deleted file mode 100644
index e3f0d646dc..0000000000
--- a/ext/soap/tests/schema/schema065.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP XML Schema 65: Attribute with default value
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="str" type="string"/>
- <attribute name="int" type="int" default="5"/>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str"));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam str="str" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(5)
-}
-ok
diff --git a/ext/soap/tests/schema/schema066.phpt b/ext/soap/tests/schema/schema066.phpt
deleted file mode 100644
index b281271963..0000000000
--- a/ext/soap/tests/schema/schema066.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP XML Schema 66: Attribute with fixed value (1)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="str" type="string"/>
- <attribute name="int" type="int" fixed="5"/>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str"));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam str="str" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(5)
-}
-ok
diff --git a/ext/soap/tests/schema/schema067.phpt b/ext/soap/tests/schema/schema067.phpt
deleted file mode 100644
index 0e4000957a..0000000000
--- a/ext/soap/tests/schema/schema067.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP XML Schema 67: Attribute with fixed value (2)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="str" type="string"/>
- <attribute name="int" type="int" fixed="5"/>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>5));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam str="str" int="5" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(5)
-}
-ok
diff --git a/ext/soap/tests/schema/schema068.phpt b/ext/soap/tests/schema/schema068.phpt
deleted file mode 100644
index 88fdac334f..0000000000
--- a/ext/soap/tests/schema/schema068.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---TEST--
-SOAP XML Schema 68: Attribute with fixed value (3)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="str" type="string"/>
- <attribute name="int" type="int" fixed="5"/>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>4));
-echo "ok";
-?>
---EXPECTF--
-Fatal error: SOAP-ERROR: Encoding: Attribute 'int' has fixed value '5' (value '4' is not allowed) in %stest_schema.inc on line %d \ No newline at end of file
diff --git a/ext/soap/tests/schema/schema069.phpt b/ext/soap/tests/schema/schema069.phpt
deleted file mode 100644
index e4f733a1c0..0000000000
--- a/ext/soap/tests/schema/schema069.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP XML Schema 69: Attribute with default value (reference)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="str" type="string"/>
- <attribute ref="tns:int"/>
- </complexType>
- <attribute name="int" type="int" default="5"/>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str"));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam str="str" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(5)
-}
-ok
diff --git a/ext/soap/tests/schema/schema070.phpt b/ext/soap/tests/schema/schema070.phpt
deleted file mode 100644
index af9abdc10f..0000000000
--- a/ext/soap/tests/schema/schema070.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP XML Schema 70: Attribute with default value (attributeGroup)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="str" type="string"/>
- <attributeGroup ref="tns:int_group"/>
- </complexType>
- <attributeGroup name="int_group">
- <attribute name="int" type="int" default="5"/>
- </attributeGroup>
-EOF;
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str"));
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam str="str" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(5)
-}
-ok
diff --git a/ext/soap/tests/schema/schema071.phpt b/ext/soap/tests/schema/schema071.phpt
deleted file mode 100644
index 1991f7ad8e..0000000000
--- a/ext/soap/tests/schema/schema071.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP XML Schema 71: SOAP 1.1 Array (document style)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'type="tns:testType"',array(123,123.5),'document','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><testParam><xsd:int>123</xsd:int><xsd:int>123</xsd:int></testParam></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/schema/schema072.phpt b/ext/soap/tests/schema/schema072.phpt
deleted file mode 100644
index 89a0ed3597..0000000000
--- a/ext/soap/tests/schema/schema072.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP XML Schema 72: SOAP 1.1 Array (document style, element with inline type)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <element name="testElement">
- <complexType name="testType">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
- </restriction>
- </complexContent>
- </complexType>
- </element>
-EOF;
-test_schema($schema,'element="tns:testElement"',array(123,123.5),'document','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://test-uri/"><SOAP-ENV:Body><ns1:testElement><xsd:int>123</xsd:int><xsd:int>123</xsd:int></ns1:testElement></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/schema/schema073.phpt b/ext/soap/tests/schema/schema073.phpt
deleted file mode 100644
index 22dd9e2604..0000000000
--- a/ext/soap/tests/schema/schema073.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP XML Schema 73: SOAP 1.1 Array (document style, element with type ref)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <element name="testElement" type="tns:testType"/>
- <complexType name="testType">
- <complexContent>
- <restriction base="SOAP-ENC:Array">
- <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
- </restriction>
- </complexContent>
- </complexType>
-EOF;
-test_schema($schema,'element="tns:testElement"',array(123,123.5),'document','literal');
-echo "ok";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://test-uri/"><SOAP-ENV:Body><ns1:testElement><xsd:int>123</xsd:int><xsd:int>123</xsd:int></ns1:testElement></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/schema/schema074.phpt b/ext/soap/tests/schema/schema074.phpt
deleted file mode 100644
index 3dbba0cd25..0000000000
--- a/ext/soap/tests/schema/schema074.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP XML Schema 74: Structure with attributes and qualified elements
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="str" type="string"/>
- </sequence>
- <attribute name="int" type="int"/>
- </complexType>
-EOF;
-
-test_schema($schema,'type="tns:testType"',(object)array("str"=>"str","int"=>123.5), "rpc", "encoded", 'attributeFormDefault="qualified"');
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam ns1:int="123" xsi:type="ns1:testType"><str xsi:type="xsd:string">str</str></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#%d (2) {
- ["str"]=>
- string(3) "str"
- ["int"]=>
- int(123)
-}
-ok
diff --git a/ext/soap/tests/schema/schema075.phpt b/ext/soap/tests/schema/schema075.phpt
deleted file mode 100644
index 2a84be9ce9..0000000000
--- a/ext/soap/tests/schema/schema075.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP XML Schema 75: Attributes form qualified/unqualified (attributeFormDefault="qualified")
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="int1" type="int"/>
- <attribute name="int2" type="int" form="qualified"/>
- <attribute name="int3" type="int" form="unqualified"/>
- </complexType>
-EOF;
-
-test_schema($schema,'type="tns:testType"',(object)array("int1"=>1.1,"int2"=>2.2,"int3"=>3.3), "rpc", "encoded", 'attributeFormDefault="qualified"');
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam ns1:int1="1" ns1:int2="2" int3="3" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#5 (3) {
- ["int1"]=>
- int(1)
- ["int2"]=>
- int(2)
- ["int3"]=>
- int(3)
-}
-ok
diff --git a/ext/soap/tests/schema/schema076.phpt b/ext/soap/tests/schema/schema076.phpt
deleted file mode 100644
index dfa7791fed..0000000000
--- a/ext/soap/tests/schema/schema076.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP XML Schema 76: Attributes form qualified/unqualified (attributeFormDefault="unqualified")
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="int1" type="int"/>
- <attribute name="int2" type="int" form="qualified"/>
- <attribute name="int3" type="int" form="unqualified"/>
- </complexType>
-EOF;
-
-test_schema($schema,'type="tns:testType"',(object)array("int1"=>1.1,"int2"=>2.2,"int3"=>3.3), "rpc", "encoded", 'attributeFormDefault="unqualified"');
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam int1="1" ns1:int2="2" int3="3" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#5 (3) {
- ["int1"]=>
- int(1)
- ["int2"]=>
- int(2)
- ["int3"]=>
- int(3)
-}
-ok
diff --git a/ext/soap/tests/schema/schema077.phpt b/ext/soap/tests/schema/schema077.phpt
deleted file mode 100644
index baf10449d6..0000000000
--- a/ext/soap/tests/schema/schema077.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP XML Schema 77: Attributes form qualified/unqualified (attributeFormDefault - default)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <attribute name="int1" type="int"/>
- <attribute name="int2" type="int" form="qualified"/>
- <attribute name="int3" type="int" form="unqualified"/>
- </complexType>
-EOF;
-
-test_schema($schema,'type="tns:testType"',(object)array("int1"=>1.1,"int2"=>2.2,"int3"=>3.3), "rpc", "encoded");
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/" 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:test><testParam int1="1" ns1:int2="2" int3="3" xsi:type="ns1:testType"/></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#5 (3) {
- ["int1"]=>
- int(1)
- ["int2"]=>
- int(2)
- ["int3"]=>
- int(3)
-}
-ok
diff --git a/ext/soap/tests/schema/schema078.phpt b/ext/soap/tests/schema/schema078.phpt
deleted file mode 100644
index a674270dff..0000000000
--- a/ext/soap/tests/schema/schema078.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-SOAP XML Schema 78: Element form qualified/unqualified (elementFormDefault="qualified")
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int1" type="int"/>
- <element name="int2" type="int" form="qualified"/>
- <element name="int3" type="int" form="unqualified"/>
- </sequence>
- </complexType>
-EOF;
-
-test_schema($schema,'type="tns:testType"',(object)array("int1"=>1.1,"int2"=>2.2,"int3"=>3.3), "rpc", "literal", 'elementFormDefault="qualified"');
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/"><SOAP-ENV:Body><ns1:test><testParam><ns1:int1>1</ns1:int1><ns1:int2>2</ns1:int2><int3>3</int3></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#5 (3) {
- ["int1"]=>
- int(1)
- ["int2"]=>
- int(2)
- ["int3"]=>
- int(3)
-}
-ok
diff --git a/ext/soap/tests/schema/schema079.phpt b/ext/soap/tests/schema/schema079.phpt
deleted file mode 100644
index d7f2ab97c6..0000000000
--- a/ext/soap/tests/schema/schema079.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-SOAP XML Schema 79: Element form qualified/unqualified (elementFormDefault="unqualified")
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int1" type="int"/>
- <element name="int2" type="int" form="qualified"/>
- <element name="int3" type="int" form="unqualified"/>
- </sequence>
- </complexType>
-EOF;
-
-test_schema($schema,'type="tns:testType"',(object)array("int1"=>1.1,"int2"=>2.2,"int3"=>3.3), "rpc", "literal", 'elementFormDefault="unqualified"');
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/"><SOAP-ENV:Body><ns1:test><testParam><int1>1</int1><ns1:int2>2</ns1:int2><int3>3</int3></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#5 (3) {
- ["int1"]=>
- int(1)
- ["int2"]=>
- int(2)
- ["int3"]=>
- int(3)
-}
-ok
diff --git a/ext/soap/tests/schema/schema080.phpt b/ext/soap/tests/schema/schema080.phpt
deleted file mode 100644
index 4accf551f1..0000000000
--- a/ext/soap/tests/schema/schema080.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-SOAP XML Schema 80: Element form qualified/unqualified (elementFormDefault - default)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-include "test_schema.inc";
-$schema = <<<EOF
- <complexType name="testType">
- <sequence>
- <element name="int1" type="int"/>
- <element name="int2" type="int" form="qualified"/>
- <element name="int3" type="int" form="unqualified"/>
- </sequence>
- </complexType>
-EOF;
-
-test_schema($schema,'type="tns:testType"',(object)array("int1"=>1.1,"int2"=>2.2,"int3"=>3.3), "rpc", "literal");
-echo "ok";
-?>
---EXPECTF--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://test-uri/"><SOAP-ENV:Body><ns1:test><testParam><int1>1</int1><ns1:int2>2</ns1:int2><int3>3</int3></testParam></ns1:test></SOAP-ENV:Body></SOAP-ENV:Envelope>
-object(stdClass)#5 (3) {
- ["int1"]=>
- int(1)
- ["int2"]=>
- int(2)
- ["int3"]=>
- int(3)
-}
-ok
diff --git a/ext/soap/tests/schema/skipif.inc b/ext/soap/tests/schema/skipif.inc
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/schema/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
- if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
diff --git a/ext/soap/tests/schema/test_schema.inc b/ext/soap/tests/schema/test_schema.inc
deleted file mode 100644
index e1d4eeb508..0000000000
--- a/ext/soap/tests/schema/test_schema.inc
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-$val = null;
-
-function test($input) {
- global $val;
- $val = $input;
-}
-
-function test_schema($schema,$type,$param,$style="rpc",$use="encoded", $attributeFormDefault='') {
- global $HTTP_RAW_POST_DATA, $val;
-$wsdl = <<<EOF
-<definitions name="InteropTest"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:tns="http://test-uri/"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- targetNamespace="http://test-uri/"
- >
- <types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://test-uri/" $attributeFormDefault>
- <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
- $schema
- </schema>
- </types>
- <message name="testMessage">
- <part name="testParam" $type/>
- </message>
- <portType name="testPortType">
- <operation name="test">
- <input message="testMessage"/>
- </operation>
- </portType>
- <binding name="testBinding" type="testPortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
- <operation name="test">
- <soap:operation soapAction="#test" style="$style"/>
- <input>
- <soap:body use="$use" namespace="http://test-uri/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
- </input>
- </operation>
- </binding>
- <service name="testService">
- <port name="testPort" binding="tns:testBinding">
- <soap:address location="test://" />
- </port>
- </service>
-</definitions>
-EOF;
-
- $fname = tempnam ("./", "wsdl");
- $f = fopen($fname,"w");
- fwrite($f,$wsdl);
- fclose($f);
- ini_set("soap.wsdl_cache_enabled",0);
- $x = new SoapClient($fname, array("trace"=>1,"exceptions"=>0));
- $y = new SoapServer($fname);
- $y->addfunction("test");
- unlink($fname);
-
- $x->test($param);
- $xml = xml_parser_create();
- $req = $x->__getlastrequest();
- if ($style == "rpc") {
- $HTTP_RAW_POST_DATA = $req;
- ob_start();
- $y->handle();
- ob_end_clean();
- echo $req;
- var_dump($val);
- } else {
- echo $req;
- }
-}
-?>
diff --git a/ext/soap/tests/server001.phpt b/ext/soap/tests/server001.phpt
deleted file mode 100644
index 582759f06f..0000000000
--- a/ext/soap/tests/server001.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-SOAP Server 1: new/addfunction/handle
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test() {
- return "Hello World";
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("test");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org" />
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle();
-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://testuri.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:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server002.phpt b/ext/soap/tests/server002.phpt
deleted file mode 100644
index 8416f4fb08..0000000000
--- a/ext/soap/tests/server002.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-SOAP Server 2: function with parameters and result
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function Add($x,$y) {
- return $x+$y;
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("Add");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:Add xmlns:ns1="http://testuri.org">
- <x xsi:type="xsd:int">22</x>
- <y xsi:type="xsd:int">33</y>
- </ns1:Add>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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://testuri.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:AddResponse><return xsi:type="xsd:int">55</return></ns1:AddResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server003.phpt b/ext/soap/tests/server003.phpt
deleted file mode 100644
index d4a15e0d69..0000000000
--- a/ext/soap/tests/server003.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-SOAP Server 3: all functions
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction(SOAP_FUNCTIONS_ALL);
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:strlen xmlns:ns1="http://testuri.org">
- <x xsi:type="xsd:string">Hello World</x>
- </ns1:strlen>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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://testuri.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:strlenResponse><return xsi:type="xsd:int">11</return></ns1:strlenResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server004.phpt b/ext/soap/tests/server004.phpt
deleted file mode 100644
index 5bfef4fcd4..0000000000
--- a/ext/soap/tests/server004.phpt
+++ /dev/null
@@ -1,40 +0,0 @@
---TEST--
-SOAP Server 4: addfunctions
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function Add($x,$y) {
- return $x+$y;
-}
-function Sub($x,$y) {
- return $x-$y;
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction(array("Sub","Add"));
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:Add xmlns:ns1="http://testuri.org">
- <x xsi:type="xsd:int">22</x>
- <y xsi:type="xsd:int">33</y>
- </ns1:Add>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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://testuri.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:AddResponse><return xsi:type="xsd:int">55</return></ns1:AddResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server005.phpt b/ext/soap/tests/server005.phpt
deleted file mode 100644
index 4aae3b2d99..0000000000
--- a/ext/soap/tests/server005.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-SOAP Server 5: setclass
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class Foo {
- function test() {
- return "Hello World";
- }
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->setclass("Foo");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org" />
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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://testuri.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:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server006.phpt b/ext/soap/tests/server006.phpt
deleted file mode 100644
index f382d9f2f1..0000000000
--- a/ext/soap/tests/server006.phpt
+++ /dev/null
@@ -1,42 +0,0 @@
---TEST--
-SOAP Server 6: setclass with constructor
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class Foo {
- private $str = "";
-
- function Foo($str) {
- $this->str = $str . " World";
- }
-
- function test() {
- return $this->str;
- }
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->setclass("Foo","Hello");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org" />
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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://testuri.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:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server007.phpt b/ext/soap/tests/server007.phpt
deleted file mode 100644
index 676aa56c44..0000000000
--- a/ext/soap/tests/server007.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP Server 7: addfunction and getfunctions
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function Add($x,$y) {
- return $x+$y;
-}
-function Sub($x,$y) {
- return $x-$y;
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction(array("Sub","Add"));
-var_dump($server->getfunctions());
-echo "ok\n";
-?>
---EXPECT--
-array(2) {
- [0]=>
- string(3) "Sub"
- [1]=>
- string(3) "Add"
-}
-ok
diff --git a/ext/soap/tests/server008.phpt b/ext/soap/tests/server008.phpt
deleted file mode 100644
index 87fb69d25f..0000000000
--- a/ext/soap/tests/server008.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP Server 8: setclass and getfunctions
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class Foo {
-
- function Foo() {
- }
-
- function test() {
- return $this->str;
- }
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->setclass("Foo");
-var_dump($server->getfunctions());
-echo "ok\n";
-?>
---EXPECT--
-array(2) {
- [0]=>
- string(3) "Foo"
- [1]=>
- string(4) "test"
-}
-ok
diff --git a/ext/soap/tests/server009.phpt b/ext/soap/tests/server009.phpt
deleted file mode 100644
index 0a7b30f40c..0000000000
--- a/ext/soap/tests/server009.phpt
+++ /dev/null
@@ -1,66 +0,0 @@
---TEST--
-SOAP Server 9: setclass and setpersistence(SOAP_PERSISTENCE_SESSION)
---SKIPIF--
-<?php
- require_once('skipif.inc');
- if (!extension_loaded('session')) {
- die('skip this test needs session extension');
- }
-?>
---FILE--
-<?php
-class foo {
- private $sum = 0;
-
- function Sum($num) {
- return $this->sum += $num;
- }
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->setclass("foo");
-$server->setpersistence(SOAP_PERSISTENCE_SESSION);
-
-ob_start();
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:Sum xmlns:ns1="http://testuri.org">
- <num xsi:type="xsd:int">5</num>
- </ns1:Sum>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle();
-ob_clean();
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:Sum xmlns:ns1="http://testuri.org">
- <num xsi:type="xsd:int">3</num>
- </ns1:Sum>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle();
-ob_end_flush();
-
-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://testuri.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:SumResponse><return xsi:type="xsd:int">8</return></ns1:SumResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server010.phpt b/ext/soap/tests/server010.phpt
deleted file mode 100644
index 76cc1e6949..0000000000
--- a/ext/soap/tests/server010.phpt
+++ /dev/null
@@ -1,61 +0,0 @@
---TEST--
-SOAP Server 10: setclass and setpersistence(SOAP_PERSISTENCE_REQUEST)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class foo {
- private $sum = 0;
-
- function Sum($num) {
- return $this->sum += $num;
- }
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->setclass("foo");
-$server->setpersistence(SOAP_PERSISTENCE_REQUEST);
-
-
-ob_start();
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:Sum xmlns:ns1="http://testuri.org">
- <num xsi:type="xsd:int">5</num>
- </ns1:Sum>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle();
-ob_clean();
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:Sum xmlns:ns1="http://testuri.org">
- <num xsi:type="xsd:int">3</num>
- </ns1:Sum>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle();
-ob_end_flush();
-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://testuri.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:SumResponse><return xsi:type="xsd:int">3</return></ns1:SumResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server011.phpt b/ext/soap/tests/server011.phpt
deleted file mode 100644
index fb9aabe89c..0000000000
--- a/ext/soap/tests/server011.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP Server 11: bind
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---GET--
-wsdl
---FILE--
-<?php
-function Add($x,$y) {
- return $x+$y;
-}
-
-$server = new soapserver(dirname(__FILE__)."/test.wsdl");
-ob_start();
-$server->handle();
-$wsdl = ob_get_contents();
-ob_end_clean();
-if ($wsdl == file_get_contents(dirname(__FILE__)."/test.wsdl")) {
- echo "ok\n";
-} else {
- echo "fail\n";
-}
-?>
---EXPECT--
-ok
diff --git a/ext/soap/tests/server012.phpt b/ext/soap/tests/server012.phpt
deleted file mode 100644
index 9a41de9d50..0000000000
--- a/ext/soap/tests/server012.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP Server 12: WSDL generation
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---GET--
-WSDL
---FILE--
-<?php
-function Add($x,$y) {
- return $x+$y;
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("Add");
-$server->handle();
-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:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>WSDL generation is not supported yet</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/server013.phpt b/ext/soap/tests/server013.phpt
deleted file mode 100644
index 4bb94c79c4..0000000000
--- a/ext/soap/tests/server013.phpt
+++ /dev/null
@@ -1,44 +0,0 @@
---TEST--
-SOAP Server 13: array handling
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function Sum($a) {
- $sum = 0;
- if (is_array($a)) {
- foreach($a as $val) {
- $sum += $val;
- }
- }
- return $sum;
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("Sum");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- 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:Body xmlns:ns1="http://linuxsrv.home/~dmitry/soap/">
- <ns1:sum>
- <param0 SOAP-ENC:arrayType="xsd:int[2]" xsi:type="SOAP-ENC:Array">
- <val xsi:type="xsd:int">3</val>
- <val xsi:type="xsd:int">5</val>
- </param0>
- </ns1:sum>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle();
-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://testuri.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:sumResponse><return xsi:type="xsd:int">8</return></ns1:sumResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server014.phpt b/ext/soap/tests/server014.phpt
deleted file mode 100644
index 7375264872..0000000000
--- a/ext/soap/tests/server014.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-SOAP Server 14: fault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function Add($x,$y) {
- undefined_function_x();
- return $x+$y;
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("Add");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:Add xmlns:ns1="http://testuri.org">
- <x xsi:type="xsd:int">22</x>
- <y xsi:type="xsd:int">33</y>
- </ns1:Add>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Call to undefined function undefined_function_x()</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/server015.phpt b/ext/soap/tests/server015.phpt
deleted file mode 100644
index ea538e84eb..0000000000
--- a/ext/soap/tests/server015.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-SOAP Server 15: passing request to handle()
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test() {
- return "Hello World";
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("test");
-
-$envelope = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org" />
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-$server->handle($envelope);
-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://testuri.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:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server016.phpt b/ext/soap/tests/server016.phpt
deleted file mode 100644
index 77bce9fb38..0000000000
--- a/ext/soap/tests/server016.phpt
+++ /dev/null
@@ -1,34 +0,0 @@
---TEST--
-SOAP Server 16: user fault
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test() {
- global $server;
- $server->fault("MyFault","My fault string");
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("test");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org"/>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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:Fault><faultcode>MyFault</faultcode><faultstring>My fault string</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/server017.phpt b/ext/soap/tests/server017.phpt
deleted file mode 100644
index 2f5dd6b6e7..0000000000
--- a/ext/soap/tests/server017.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-SOAP Server 17: user fault (through return)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test() {
- return new SoapFault("MyFault","My fault string");
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("test");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org"/>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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:Fault><faultcode>MyFault</faultcode><faultstring>My fault string</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/server018.phpt b/ext/soap/tests/server018.phpt
deleted file mode 100644
index 724f0d8841..0000000000
--- a/ext/soap/tests/server018.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-SOAP Server 18: user fault (through throw)
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function test() {
- throw new SoapFault("MyFault","My fault string");
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("test");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org"/>
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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:Fault><faultcode>MyFault</faultcode><faultstring>My fault string</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
diff --git a/ext/soap/tests/server019.phpt b/ext/soap/tests/server019.phpt
deleted file mode 100644
index 4ad9c5ee85..0000000000
--- a/ext/soap/tests/server019.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-SOAP Server 19: compressed request (gzip)
---SKIPIF--
-<?php require_once('skipif.inc');
- if (!extension_loaded('zlib')) die('skip zlib extension not available');
-?>
---FILE--
-<?php
-function test() {
- return "Hello World";
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("test");
-
-$HTTP_RAW_POST_DATA = gzencode(<<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org" />
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF
-, 9, FORCE_GZIP);
-$_SERVER['HTTP_CONTENT_ENCODING'] = "gzip";
-$server->handle();
-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://testuri.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:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server020.phpt b/ext/soap/tests/server020.phpt
deleted file mode 100644
index bacbc57849..0000000000
--- a/ext/soap/tests/server020.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-SOAP Server 20: compressed request (deflate)
---SKIPIF--
-<?php require_once('skipif.inc');
- if (!extension_loaded('zlib')) die('skip zlib extension not available');
-?>
---FILE--
-<?php
-function test() {
- return "Hello World";
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->addfunction("test");
-
-$HTTP_RAW_POST_DATA = gzcompress(<<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org" />
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF
-, 9);
-$_SERVER['HTTP_CONTENT_ENCODING'] = "deflate";
-$server->handle();
-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://testuri.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:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/server021.phpt b/ext/soap/tests/server021.phpt
deleted file mode 100644
index 787e959fb3..0000000000
--- a/ext/soap/tests/server021.phpt
+++ /dev/null
@@ -1,40 +0,0 @@
---TEST--
-SOAP Server 21: SoapServer::setClass and __call()
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-class Foo {
- function __call($name, $args) {
- if ($name == "test") {
- return "Hello World";
- } else {
- return SoapFault("Server","Function $name doesn't exist");
- }
- }
-}
-
-$server = new soapserver(null,array('uri'=>"http://testuri.org"));
-$server->setclass("Foo");
-
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<SOAP-ENV:Envelope
- SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:si="http://soapinterop.org/xsd">
- <SOAP-ENV:Body>
- <ns1:test xmlns:ns1="http://testuri.org" />
- </SOAP-ENV:Body>
-</SOAP-ENV:Envelope>
-EOF;
-
-$server->handle();
-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://testuri.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:testResponse><return xsi:type="xsd:string">Hello World</return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/skipif.inc b/ext/soap/tests/skipif.inc
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
- if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
diff --git a/ext/soap/tests/soap12/T01.phpt b/ext/soap/tests/soap12/T01.phpt
deleted file mode 100644
index d584812d09..0000000000
--- a/ext/soap/tests/soap12/T01.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T01 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T02.phpt b/ext/soap/tests/soap12/T02.phpt
deleted file mode 100644
index db2c260684..0000000000
--- a/ext/soap/tests/soap12/T02.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T02 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://example.org/ts-tests/C">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T03.phpt b/ext/soap/tests/soap12/T03.phpt
deleted file mode 100644
index 19c29dd3dd..0000000000
--- a/ext/soap/tests/soap12/T03.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-SOAP 1.2: T03 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T04.phpt b/ext/soap/tests/soap12/T04.phpt
deleted file mode 100644
index 7445caedee..0000000000
--- a/ext/soap/tests/soap12/T04.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T04 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T05.phpt b/ext/soap/tests/soap12/T05.phpt
deleted file mode 100644
index 187eb2ee83..0000000000
--- a/ext/soap/tests/soap12/T05.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T05 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://example.org/ts-tests/B">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T10.phpt b/ext/soap/tests/soap12/T10.phpt
deleted file mode 100644
index 54186f6a0d..0000000000
--- a/ext/soap/tests/soap12/T10.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T10 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T11.phpt b/ext/soap/tests/soap12/T11.phpt
deleted file mode 100644
index 3423d54329..0000000000
--- a/ext/soap/tests/soap12/T11.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T11 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
- env:mustUnderstand="false">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T12.phpt b/ext/soap/tests/soap12/T12.phpt
deleted file mode 100644
index c67917f0e3..0000000000
--- a/ext/soap/tests/soap12/T12.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T12 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
- env:mustUnderstand="1">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T13.phpt b/ext/soap/tests/soap12/T13.phpt
deleted file mode 100644
index 95e1c8ad4e..0000000000
--- a/ext/soap/tests/soap12/T13.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T13 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
- env:mustUnderstand="true">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T14.phpt b/ext/soap/tests/soap12/T14.phpt
deleted file mode 100644
index dbf4e1bab5..0000000000
--- a/ext/soap/tests/soap12/T14.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T14 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
- env:mustUnderstand="wrong">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T15.phpt b/ext/soap/tests/soap12/T15.phpt
deleted file mode 100644
index 546f94237f..0000000000
--- a/ext/soap/tests/soap12/T15.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T15 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:role="http://example.org/ts-tests/B"
- env:mustUnderstand="1">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T19.phpt b/ext/soap/tests/soap12/T19.phpt
deleted file mode 100644
index 8ddb5b4f8b..0000000000
--- a/ext/soap/tests/soap12/T19.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T19 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/none"
- env:mustUnderstand="true">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T22.phpt b/ext/soap/tests/soap12/T22.phpt
deleted file mode 100644
index 5844550ced..0000000000
--- a/ext/soap/tests/soap12/T22.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T22 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand = "1">foo</test:echoOk>
- </env:Header>
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body><ns1:responseOk>foo</ns1:responseOk></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T23.phpt b/ext/soap/tests/soap12/T23.phpt
deleted file mode 100644
index c676fb176c..0000000000
--- a/ext/soap/tests/soap12/T23.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T23 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="1">foo</test:Unknown>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="wrong">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T24.phpt b/ext/soap/tests/soap12/T24.phpt
deleted file mode 100644
index ebee3b764a..0000000000
--- a/ext/soap/tests/soap12/T24.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-SOAP 1.2: T24 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://wrong-version/">
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests">
- foo
- </test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:VersionMismatch</env:Value></env:Code><env:Reason><env:Text>Wrong Version</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T25.phpt b/ext/soap/tests/soap12/T25.phpt
deleted file mode 100644
index ac45e9c52d..0000000000
--- a/ext/soap/tests/soap12/T25.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-SOAP 1.2: T25 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<!DOCTYPE env:Envelope SYSTEM "env.dtd"[]>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests">
- foo
- </test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T26.phpt b/ext/soap/tests/soap12/T26.phpt
deleted file mode 100644
index 53c8cec495..0000000000
--- a/ext/soap/tests/soap12/T26.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-SOAP 1.2: T26 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
-<?xml-stylesheet href="http://example.org/ts-tests/sub.xsl" type = "text/xsl"?>
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Body><ns1:responseOk>foo</ns1:responseOk></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T27.phpt b/ext/soap/tests/soap12/T27.phpt
deleted file mode 100644
index 6371113994..0000000000
--- a/ext/soap/tests/soap12/T27.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP 1.2: T27 echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <env:Body>
- <test:echoStringArray xmlns:test="http://example.org/ts-tests"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <test:array enc:itemType="xs:string" enc:arraySize="1">
- <a>
- <b>1</b>
- </a>
- </test:array>
- </test:echoStringArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of encoding rules</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-
diff --git a/ext/soap/tests/soap12/T28.phpt b/ext/soap/tests/soap12/T28.phpt
deleted file mode 100644
index 6118b478d8..0000000000
--- a/ext/soap/tests/soap12/T28.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-SOAP 1.2: T28 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Body env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <test:echoOk xmlns:test="http://example.org/ts-tests" >
- foo
- </test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>encodingStyle cannot be specified on the Body</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-
diff --git a/ext/soap/tests/soap12/T29.phpt b/ext/soap/tests/soap12/T29.phpt
deleted file mode 100644
index 3784da4030..0000000000
--- a/ext/soap/tests/soap12/T29.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T29 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://example.org/ts-tests/Czzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T30.phpt b/ext/soap/tests/soap12/T30.phpt
deleted file mode 100644
index c2e008ed4a..0000000000
--- a/ext/soap/tests/soap12/T30.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP 1.2: T30 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://example.org/ts-tests"><SOAP-ENV:Body><ns1:responseOk>foo</ns1:responseOk></SOAP-ENV:Body></SOAP-ENV:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T31.phpt b/ext/soap/tests/soap12/T31.phpt
deleted file mode 100644
index 56dc883a61..0000000000
--- a/ext/soap/tests/soap12/T31.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-SOAP 1.2: T31 returnVoid
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Body>
- <test:returnVoid xmlns:test="http://example.org/ts-tests">
- </test:returnVoid>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:returnVoidResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/></env:Body></env:Envelope>
-ok
-
diff --git a/ext/soap/tests/soap12/T32.phpt b/ext/soap/tests/soap12/T32.phpt
deleted file mode 100644
index 8f77873f4c..0000000000
--- a/ext/soap/tests/soap12/T32.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP 1.2: T32 echoHeader
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:requiredHeader xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="true">foo</test:requiredHeader>
- </env:Header>
- <env:Body>
- <test:echoHeader xmlns:test="http://example.org/ts-tests">
- </test:echoHeader>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Body><ns1:echoHeaderResponse>foo</ns1:echoHeaderResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T33.phpt b/ext/soap/tests/soap12/T33.phpt
deleted file mode 100644
index 00ded875b5..0000000000
--- a/ext/soap/tests/soap12/T33.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-SOAP 1.2: T33 nonexistentMethod
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Body>
- <test:DoesNotExist xmlns:test="http://example.org/ts-tests">
- </test:DoesNotExist>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>rpc:ProcedureNotPresent</env:Value></env:Code><env:Reason><env:Text>Procedure not present</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T34.phpt b/ext/soap/tests/soap12/T34.phpt
deleted file mode 100644
index 39e0095d43..0000000000
--- a/ext/soap/tests/soap12/T34.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T34 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- xmlns:env1="http://schemas.xmlsoap.org/soap/envelope/"
- env1:mustUnderstand="true">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T35.phpt b/ext/soap/tests/soap12/T35.phpt
deleted file mode 100644
index a736010ce0..0000000000
--- a/ext/soap/tests/soap12/T35.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T35 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="1">
- foo
- </test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T36.phpt b/ext/soap/tests/soap12/T36.phpt
deleted file mode 100644
index d625813942..0000000000
--- a/ext/soap/tests/soap12/T36.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T36 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="1"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:MustUnderstand</env:Value></env:Code><env:Reason><env:Text>Header not understood</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T37.phpt b/ext/soap/tests/soap12/T37.phpt
deleted file mode 100644
index cdce8a4429..0000000000
--- a/ext/soap/tests/soap12/T37.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T37 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T38_1.phpt b/ext/soap/tests/soap12/T38_1.phpt
deleted file mode 100644
index 30007e55ef..0000000000
--- a/ext/soap/tests/soap12/T38_1.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP 1.2: T38.1 doubleHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="false"
- env:role="http://example.org/ts-tests/C">foo</test:Unknown>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="0"
- env:role="http://example.org/ts-tests/C">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T38_2.phpt b/ext/soap/tests/soap12/T38_2.phpt
deleted file mode 100644
index efff2f4db3..0000000000
--- a/ext/soap/tests/soap12/T38_2.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP 1.2: T38.2 doubleHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="true"
- env:role="http://example.org/ts-tests/C">foo</test:echoOk>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="1"
- env:role="http://example.org/ts-tests/C">bar</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk><ns1:responseOk>bar</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T39.phpt b/ext/soap/tests/soap12/T39.phpt
deleted file mode 100644
index 2b29562aba..0000000000
--- a/ext/soap/tests/soap12/T39.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-SOAP 1.2: T39 unknownHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://example.org/ts-tests"
- env:mustUnderstand="9">foo</test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>mustUnderstand value is not boolean</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T40.phpt b/ext/soap/tests/soap12/T40.phpt
deleted file mode 100644
index 27b4a21c47..0000000000
--- a/ext/soap/tests/soap12/T40.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP 1.2: T40 echoOK
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:Unknown xmlns:test="http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
- env:mustUnderstand="false">
- foo
- </test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body/></env:Envelope>
-ok \ No newline at end of file
diff --git a/ext/soap/tests/soap12/T41.phpt b/ext/soap/tests/soap12/T41.phpt
deleted file mode 100644
index d57eead1e8..0000000000
--- a/ext/soap/tests/soap12/T41.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP 1.2: T41 echoStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoStruct xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStruct xsi:type="ns1:SOAPStruct"
- xmlns:ns1="http://example.org/ts-tests/xsd">
- <varInt xsi:type="xsd:int">42</varInt>
- <varFloat xsi:type="xsd:float">0.005</varFloat>
- <varString xsi:type="xsd:string">hello world</varString>
- </inputStruct>
- </test:echoStruct>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></return></ns1:echoStructResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T42.phpt b/ext/soap/tests/soap12/T42.phpt
deleted file mode 100644
index 7ce828135d..0000000000
--- a/ext/soap/tests/soap12/T42.phpt
+++ /dev/null
@@ -1,39 +0,0 @@
---TEST--
-SOAP 1.2: T42 echoStructArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoStructArray xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStructArray enc:itemType="ns1:SOAPStruct"
- enc:arraySize="2"
- xmlns:ns1="http://example.org/ts-tests/xsd"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <item xsi:type="ns1:SOAPStruct">
- <varInt xsi:type="xsd:int">42</varInt>
- <varFloat xsi:type="xsd:float">0.005</varFloat>
- <varString xsi:type="xsd:string">hello world</varString>
- </item>
- <item xsi:type="ns1:SOAPStruct">
- <varInt xsi:type="xsd:int">43</varInt>
- <varFloat xsi:type="xsd:float">0.123</varFloat>
- <varString xsi:type="xsd:string">bye world</varString>
- </item>
- </inputStructArray>
- </test:echoStructArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStructArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="ns2:SOAPStruct" enc:arraySize="2" xsi:type="ns2:ArrayOfSOAPStruct"><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></item><item xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">bye world</varString><varInt xsi:type="xsd:int">43</varInt><varFloat xsi:type="xsd:float">0.123</varFloat></item></return></ns1:echoStructArrayResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T43.phpt b/ext/soap/tests/soap12/T43.phpt
deleted file mode 100644
index 7dd6316144..0000000000
--- a/ext/soap/tests/soap12/T43.phpt
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-SOAP 1.2: T43 echoStructAsSimpleTypes
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoStructAsSimpleTypes xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStruct xsi:type="ns1:SOAPStruct"
- xmlns:ns1="http://example.org/ts-tests/xsd">
- <varInt xsi:type="xsd:int">42</varInt>
- <varFloat xsi:type="xsd:float">0.005</varFloat>
- <varString xsi:type="xsd:string">hello world</varString>
- </inputStruct>
- </test:echoStructAsSimpleTypes>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body><ns1:echoStructAsSimpleTypesResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><outputString xsi:type="xsd:string">hello world</outputString><outputInteger xsi:type="xsd:int">42</outputInteger><outputFloat xsi:type="xsd:float">0.005</outputFloat></ns1:echoStructAsSimpleTypesResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T44.phpt b/ext/soap/tests/soap12/T44.phpt
deleted file mode 100644
index 2264f105c8..0000000000
--- a/ext/soap/tests/soap12/T44.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP 1.2: T44 echoSimpleTypesAsStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoSimpleTypesAsStruct xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputInt xsi:type="xsd:int">42</inputInt>
- <inputFloat xsi:type="xsd:float">0.005</inputFloat>
- <inputString xsi:type="xsd:string">hello world</inputString>
- </test:echoSimpleTypesAsStruct>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoSimpleTypesAsStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat></return></ns1:echoSimpleTypesAsStructResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T45.phpt b/ext/soap/tests/soap12/T45.phpt
deleted file mode 100644
index 4bbcc818d4..0000000000
--- a/ext/soap/tests/soap12/T45.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---TEST--
-SOAP 1.2: T45 echoNestedStruct
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoNestedStruct xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStruct xsi:type="ns1:SOAPStructStruct"
- xmlns:ns1="http://example.org/ts-tests/xsd">
- <varInt xsi:type="xsd:int">42</varInt>
- <varFloat xsi:type="xsd:float">0.005</varFloat>
- <varString xsi:type="xsd:string">hello world</varString>
- <varStruct xsi:type="ns1:SOAPStruct">
- <varInt xsi:type="xsd:int">99</varInt>
- <varFloat xsi:type="xsd:float">5.5</varFloat>
- <varString xsi:type="xsd:string">nested struct</varString>
- </varStruct>
- </inputStruct>
- </test:echoNestedStruct>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoNestedStructResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPStructStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat><varStruct xsi:type="ns2:SOAPStruct"><varString xsi:type="xsd:string">nested struct</varString><varInt xsi:type="xsd:int">99</varInt><varFloat xsi:type="xsd:float">5.5</varFloat></varStruct></return></ns1:echoNestedStructResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T46.phpt b/ext/soap/tests/soap12/T46.phpt
deleted file mode 100644
index 9cbb4b16da..0000000000
--- a/ext/soap/tests/soap12/T46.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-SOAP 1.2: T46 echoNestedArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoNestedArray xmlns:test="http://exaple.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStruct xsi:type="ns1:SOAPArrayStruct"
- xmlns:ns1="http://example.org/ts-tests/xsd">
- <varInt xsi:type="xsd:int">42</varInt>
- <varFloat xsi:type="xsd:float">0.005</varFloat>
- <varString xsi:type="xsd:string">hello world</varString>
- <varArray enc:itemType="xsd:string" enc:arraySize="3"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <item xsi:type="xsd:string">red</item>
- <item xsi:type="xsd:string">blue</item>
- <item xsi:type="xsd:string">green</item>
- </varArray>
- </inputStruct>
- </test:echoNestedArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoNestedArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="ns2:SOAPArrayStruct"><varString xsi:type="xsd:string">hello world</varString><varInt xsi:type="xsd:int">42</varInt><varFloat xsi:type="xsd:float">0.005</varFloat><varArray enc:itemType="xsd:string" enc:arraySize="3" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">red</item><item xsi:type="xsd:string">blue</item><item xsi:type="xsd:string">green</item></varArray></return></ns1:echoNestedArrayResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T47.phpt b/ext/soap/tests/soap12/T47.phpt
deleted file mode 100644
index a9bb43e368..0000000000
--- a/ext/soap/tests/soap12/T47.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP 1.2: T47 echoFloatArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoFloatArray xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputFloatArray enc:itemType="xsd:float" enc:arraySize="2"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <item xsi:type="xsd:float">5.5</item>
- <item xsi:type="xsd:float">12999.9</item>
- </inputFloatArray>
- </test:echoFloatArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoFloatArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:float" enc:arraySize="2" xsi:type="ns2:ArrayOffloat"><item xsi:type="xsd:float">5.5</item><item xsi:type="xsd:float">12999.9</item></return></ns1:echoFloatArrayResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T48.phpt b/ext/soap/tests/soap12/T48.phpt
deleted file mode 100644
index 07ac4070ae..0000000000
--- a/ext/soap/tests/soap12/T48.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP 1.2: T48 echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoStringArray xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStringArray enc:itemType="xsd:string" enc:arraySize="2"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <item xsi:type="xsd:string">hello</item>
- <item xsi:type="xsd:string">world</item>
- </inputStringArray>
- </test:echoStringArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:string" enc:arraySize="2" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">hello</item><item xsi:type="xsd:string">world</item></return></ns1:echoStringArrayResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T49.phpt b/ext/soap/tests/soap12/T49.phpt
deleted file mode 100644
index c919e2b76a..0000000000
--- a/ext/soap/tests/soap12/T49.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP 1.2: T49 echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoStringArray xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStringArray enc:arraySize="2"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <item xsi:type="xsd:string">hello</item>
- <item xsi:type="xsd:string">world</item>
- </inputStringArray>
- </test:echoStringArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:string" enc:arraySize="2" xsi:type="ns2:ArrayOfstring"><item xsi:type="xsd:string">hello</item><item xsi:type="xsd:string">world</item></return></ns1:echoStringArrayResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T50.phpt b/ext/soap/tests/soap12/T50.phpt
deleted file mode 100644
index 8e431e5aec..0000000000
--- a/ext/soap/tests/soap12/T50.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP 1.2: T50 echoIntegerArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoIntegerArray xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="2"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <item xsi:type="xsd:int">100</item>
- <item xsi:type="xsd:int">200</item>
- </inputIntegerArray>
- </test:echoIntegerArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://example.org/ts-tests/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoIntegerArrayResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="xsd:int" enc:arraySize="2" xsi:type="ns2:ArrayOfint"><item xsi:type="xsd:int">100</item><item xsi:type="xsd:int">200</item></return></ns1:echoIntegerArrayResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T51.phpt b/ext/soap/tests/soap12/T51.phpt
deleted file mode 100644
index 97765763c1..0000000000
--- a/ext/soap/tests/soap12/T51.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP 1.2: T51 echoBase64
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <env:Body>
- <test:echoBase64 xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputBase64 xsi:type="xsd:base64Binary">
- YUdWc2JHOGdkMjl5YkdRPQ==
- </inputBase64>
- </test:echoBase64>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoBase64Response env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:base64Binary">YUdWc2JHOGdkMjl5YkdRPQ==</return></ns1:echoBase64Response></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T52.phpt b/ext/soap/tests/soap12/T52.phpt
deleted file mode 100644
index 9d75fb9823..0000000000
--- a/ext/soap/tests/soap12/T52.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP 1.2: T52 echoBoolean
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoBoolean xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputBoolean xsi:type="xsd:boolean">1</inputBoolean>
- </test:echoBoolean>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoBooleanResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:echoBooleanResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T53.phpt b/ext/soap/tests/soap12/T53.phpt
deleted file mode 100644
index c1c8fe63aa..0000000000
--- a/ext/soap/tests/soap12/T53.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP 1.2: T53 echoDate
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoDate xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputDate xsi:type="xsd:date">1956-10-18T22:20:00-07:00</inputDate>
- </test:echoDate>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoDateResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:dateTime">1956-10-18T22:20:00-07:00</return></ns1:echoDateResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T54.phpt b/ext/soap/tests/soap12/T54.phpt
deleted file mode 100644
index ba3ed35526..0000000000
--- a/ext/soap/tests/soap12/T54.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP 1.2: T54 echoDecimal
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoDecimal xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputDecimal xsi:type="xsd:decimal">123.45678901234567890</inputDecimal>
- </test:echoDecimal>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoDecimalResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:decimal">123.45678901234567890</return></ns1:echoDecimalResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T55.phpt b/ext/soap/tests/soap12/T55.phpt
deleted file mode 100644
index 1c12e504f2..0000000000
--- a/ext/soap/tests/soap12/T55.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP 1.2: T55 echoFloat
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoFloat xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputFloat xsi:type="xsd:float">0.005</inputFloat>
- </test:echoFloat>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoFloatResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:float">0.005</return></ns1:echoFloatResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T56.phpt b/ext/soap/tests/soap12/T56.phpt
deleted file mode 100644
index ca134270a3..0000000000
--- a/ext/soap/tests/soap12/T56.phpt
+++ /dev/null
@@ -1,34 +0,0 @@
---TEST--
-SOAP 1.2: T56 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <env:Header>
- <test:DataHolder xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <test:Data enc:id="data-1" xsi:type="xsd:string">
- hello world
- </test:Data>
- </test:DataHolder>
- </env:Header>
- <env:Body>
- <test:echoString xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputString enc:ref="#data-2" xsi:type="xsd:string" />
- </test:echoString>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Unresolved reference '#data-2'</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-
diff --git a/ext/soap/tests/soap12/T57.phpt b/ext/soap/tests/soap12/T57.phpt
deleted file mode 100644
index ad3e9ef50f..0000000000
--- a/ext/soap/tests/soap12/T57.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-SOAP 1.2: T57 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <env:Header>
- <test:DataHolder xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <test:Data enc:id="data" xsi:type="xsd:string">hello world</test:Data>
- </test:DataHolder>
- </env:Header>
- <env:Body>
- <test:echoString xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <test:inputString enc:ref="#data" xsi:type="xsd:string" />
- </test:echoString>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T58.phpt b/ext/soap/tests/soap12/T58.phpt
deleted file mode 100644
index 1c3e8ba7f5..0000000000
--- a/ext/soap/tests/soap12/T58.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP 1.2: T58 echoIntegerArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoIntegerArray xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputIntegerArray enc:itemType="xsd:int" enc:arraySize="1"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <a><b>1</b></a>
- </inputIntegerArray>
- </test:echoIntegerArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of encoding rules</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
-
diff --git a/ext/soap/tests/soap12/T59.phpt b/ext/soap/tests/soap12/T59.phpt
deleted file mode 100644
index 2ceef325bb..0000000000
--- a/ext/soap/tests/soap12/T59.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP 1.2: T59 echoStringArray
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoStringArray xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStringArray enc:itemType="xsd:string"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <item enc:id="data" xsi:type="xsd:string" enc:ref="#data">hello</item>
- <item>world</item>
- </inputStringArray>
- </test:echoStringArray>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: Violation of id and ref information items '#data'</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T60.phpt b/ext/soap/tests/soap12/T60.phpt
deleted file mode 100644
index 234ef4ccd4..0000000000
--- a/ext/soap/tests/soap12/T60.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-SOAP 1.2: T60 countItems
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:countItems xmlns:test="http://example.org/ts-tests"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStringArray enc:itemType="xsd:string" enc:arraySize="*">
- <item xsi:type="xsd:string">hello</item>
- <item xsi:type="xsd:string">world</item>
- </inputStringArray>
- </test:countItems>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:countItemsResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:int">2</return></ns1:countItemsResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T61.phpt b/ext/soap/tests/soap12/T61.phpt
deleted file mode 100644
index b688a794ff..0000000000
--- a/ext/soap/tests/soap12/T61.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP 1.2: T61 countItems
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:countItems xmlns:test="http://example.org/ts-tests"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputStringArray enc:itemType="xsd:string" enc:arraySize="2 *">
- <item xsi:type="xsd:string">hello</item>
- <item xsi:type="xsd:string">world</item>
- </inputStringArray>
- </test:countItems>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>SOAP-ERROR: Encoding: '*' may only be first arraySize value in list</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T63.phpt b/ext/soap/tests/soap12/T63.phpt
deleted file mode 100644
index 8b7aa291a6..0000000000
--- a/ext/soap/tests/soap12/T63.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T63 validateCountryCode
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:validateCountryCode xmlns:test="http://example.org/ts-tests"
- env:role="http://example.org/ts-tests/C"
- env:mustUnderstand="1">ABCD</test:validateCountryCode>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:validateCountryCodeFault>Country code must be 2 letters.</ns1:validateCountryCodeFault></env:Header><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>Not a valid country code</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T64.phpt b/ext/soap/tests/soap12/T64.phpt
deleted file mode 100644
index 24e62ecb6b..0000000000
--- a/ext/soap/tests/soap12/T64.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T64 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<!DOCTYPE DOC [
-<!NOTATION application_xml SYSTEM 'http://www.isi.edu/in-notes/iana/assignments/media-types/application/xml'>
-]>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests">
- foo
- </test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T65.phpt b/ext/soap/tests/soap12/T65.phpt
deleted file mode 100644
index cd96d4a82f..0000000000
--- a/ext/soap/tests/soap12/T65.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP 1.2: T65 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<!DOCTYPE DOC [
-<!ELEMENT Envelope (Body) >
-<!ELEMENT Body (echoOk) >
-<!ELEMENT echoOk (#PCDATA) >
-]>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests">
- foo
- </test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text>DTD are not supported by SOAP</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T66.phpt b/ext/soap/tests/soap12/T66.phpt
deleted file mode 100644
index cc7cc2e3e3..0000000000
--- a/ext/soap/tests/soap12/T66.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T66 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' encoding='UTF8'?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T67.phpt b/ext/soap/tests/soap12/T67.phpt
deleted file mode 100644
index ddc527a6ec..0000000000
--- a/ext/soap/tests/soap12/T67.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T67 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' standalone='yes'?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T68.phpt b/ext/soap/tests/soap12/T68.phpt
deleted file mode 100644
index a7915196cb..0000000000
--- a/ext/soap/tests/soap12/T68.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-SOAP 1.2: T68 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
-
-
- <env:Header >
-
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/next" >foo</test:echoOk>
-
-
- </env:Header>
- <env:Body>
-
-
- </env:Body>
-
-
-
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T69.phpt b/ext/soap/tests/soap12/T69.phpt
deleted file mode 100644
index 0fb02dec06..0000000000
--- a/ext/soap/tests/soap12/T69.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-SOAP 1.2: T69 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
- </env:Header>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>Body must be present in a SOAP envelope</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T70.phpt b/ext/soap/tests/soap12/T70.phpt
deleted file mode 100644
index 3622c320e7..0000000000
--- a/ext/soap/tests/soap12/T70.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T70 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
- <Trailer>
- </Trailer>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>A SOAP 1.2 envelope can contain only Header and Body</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T71.phpt b/ext/soap/tests/soap12/T71.phpt
deleted file mode 100644
index fdb5b8d460..0000000000
--- a/ext/soap/tests/soap12/T71.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T71 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- attr1="a-value">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests">
- foo
- </test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>A SOAP Envelope element cannot have non Namespace qualified attributes</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T72.phpt b/ext/soap/tests/soap12/T72.phpt
deleted file mode 100644
index b8f5060c6b..0000000000
--- a/ext/soap/tests/soap12/T72.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-SOAP 1.2: T72 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests">
- foo
- </test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text>encodingStyle cannot be specified on the Envelope</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/T73.phpt b/ext/soap/tests/soap12/T73.phpt
deleted file mode 100644
index 9143e58179..0000000000
--- a/ext/soap/tests/soap12/T73.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-SOAP 1.2: T73 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoString xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <test:inputString xsi:type="xsd:string"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">hello world</test:inputString>
- </test:echoString>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T74.phpt b/ext/soap/tests/soap12/T74.phpt
deleted file mode 100644
index 703e1870a6..0000000000
--- a/ext/soap/tests/soap12/T74.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP 1.2: T74 doubleHdr
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/next">foo</test:echoOk>
- <test:Unknown xmlns:test="http://example.org/ts-tests">
- <test:raiseFault env:mustUnderstand="1"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
- </test:raiseFault>
- </test:Unknown>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T75.phpt b/ext/soap/tests/soap12/T75.phpt
deleted file mode 100644
index 3e2166d957..0000000000
--- a/ext/soap/tests/soap12/T75.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-SOAP 1.2: T75 echoResolvedRef
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoResolvedRef xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
- env:mustUnderstand="1">
- <test:RelativeReference xml:base="http://example.org/today/"
- xlink:href="new.xml"
- xmlns:xlink="http://www.w3.org/1999/xlink" />
- </test:echoResolvedRef>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseResolvedRef>http://example.org/today/new.xml</ns1:responseResolvedRef></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T76_1.phpt b/ext/soap/tests/soap12/T76_1.phpt
deleted file mode 100644
index e97c179768..0000000000
--- a/ext/soap/tests/soap12/T76_1.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP 1.2: T76.1 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:echoString xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputString xsi:type="xsd:string">hello world</inputString>
- </test:echoString>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T76_2.phpt b/ext/soap/tests/soap12/T76_2.phpt
deleted file mode 100644
index cc6ea0df95..0000000000
--- a/ext/soap/tests/soap12/T76_2.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-SOAP 1.2: T76.2 echoString
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
- <env:Header>
- <test:DataHolder xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <test:Data enc:id="data" xsi:type="xsd:string">hello world</test:Data>
- </test:DataHolder>
- </env:Header>
- <env:Body>
- <test:echoString xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputString enc:ref="data" xsi:type="xsd:string" />
- </test:echoString>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:echoStringResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:string">hello world</return></ns1:echoStringResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T77_1.phpt b/ext/soap/tests/soap12/T77_1.phpt
deleted file mode 100644
index d847b6cfd8..0000000000
--- a/ext/soap/tests/soap12/T77_1.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-SOAP 1.2: T77.1 isNil
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:isNil xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputString xsi:nil="1" />
- </test:isNil>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:isNilResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T77_2.phpt b/ext/soap/tests/soap12/T77_2.phpt
deleted file mode 100644
index c829b57892..0000000000
--- a/ext/soap/tests/soap12/T77_2.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-SOAP 1.2: T77.2 isNil
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:isNil xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- </test:isNil>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">true</return></ns1:isNilResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T77_3.phpt b/ext/soap/tests/soap12/T77_3.phpt
deleted file mode 100644
index 0e1355a5a2..0000000000
--- a/ext/soap/tests/soap12/T77_3.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-SOAP 1.2: T77.3 isNul
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <env:Body>
- <test:isNil xmlns:test="http://example.org/ts-tests"
- env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
- <inputString xsi:type="xsd:string">
- This is a string
- </inputString>
- </test:isNil>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:enc="http://www.w3.org/2003/05/soap-encoding"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:isNilResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return xsi:type="xsd:boolean">false</return></ns1:isNilResponse></env:Body></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T78.phpt b/ext/soap/tests/soap12/T78.phpt
deleted file mode 100644
index 63d13c7cae..0000000000
--- a/ext/soap/tests/soap12/T78.phpt
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-SOAP 1.2: T78 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version='1.0' ?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Header>
- <test:echoOk xmlns:test="http://example.org/ts-tests"
- env:role="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver">foo</test:echoOk>
- </env:Header>
- <env:Body>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://example.org/ts-tests"><env:Header><ns1:responseOk>foo</ns1:responseOk></env:Header><env:Body/></env:Envelope>
-ok
diff --git a/ext/soap/tests/soap12/T80.phpt b/ext/soap/tests/soap12/T80.phpt
deleted file mode 100644
index 1ac114ba32..0000000000
--- a/ext/soap/tests/soap12/T80.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-SOAP 1.2: T80 echoOk
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-$HTTP_RAW_POST_DATA = <<<EOF
-<?xml version="1.0"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
- <env:Body>
- <test:echoOk xmlns:test="http://example.org/ts-tests" env:encodingStyle="http://example.org/PoisonEncoding">foo</test:echoOk>
- </env:Body>
-</env:Envelope>
-EOF;
-include "soap12-test.inc";
-?>
---EXPECT--
-<?xml version="1.0" encoding="UTF-8"?>
-<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>env:DataEncodingUnknown</env:Value></env:Code><env:Reason><env:Text>Unknown Data Encoding Style</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>
diff --git a/ext/soap/tests/soap12/skipif.inc b/ext/soap/tests/soap12/skipif.inc
deleted file mode 100644
index fa8574e6a2..0000000000
--- a/ext/soap/tests/soap12/skipif.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
- if (!extension_loaded('soap')) die('skip soap extension not available');
-?>
diff --git a/ext/soap/tests/soap12/soap12-test.inc b/ext/soap/tests/soap12/soap12-test.inc
deleted file mode 100644
index 9774729d29..0000000000
--- a/ext/soap/tests/soap12/soap12-test.inc
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-class Soap12test {
- public $header;
-
- function echoOk($x) {
- return $x;
- }
-
- function echoString($inputString) {
- return $inputString;
- }
-
- function echoStringArray($inputStringArray) {
- return $inputStringArray;
- }
-
- function echoInteger($inputInteger) {
- return $inputInteger;
- }
-
- function echoIntegerArray($inputIntegerArray) {
- return $inputIntegerArray;
- }
-
- function echoFloat($inputFloat) {
- return $inputFloat;
- }
-
- function echoFloatArray($inputFloatArray) {
- return $inputFloatArray;
- }
-
- function echoStruct($x) {
- return $x;
- }
-
- function echoStructArray($x) {
- return $x;
- }
-
- function echoVoid() {
- return NULL;
- }
-
- function echoBase64($b_encoded) {
- return $b_encoded;
- }
-
- function echoDate($timeInstant) {
- return $timeInstant;
- }
-
- function echoHexBinary($hb) {
- return $hb;
- }
-
- function echoDecimal($dec) {
- return $dec;
- }
-
- function echoBoolean($boolean) {
- return $boolean;
- }
-
- function echoStructAsSimpleTypes ($struct) {
- return array('outputString' => $struct->varString,
- 'outputInteger' => $struct->varInt,
- 'outputFloat' => $struct->varFloat);
- }
-
- function echoSimpleTypesAsStruct($string, $int, $float) {
- return (object)array("varString" => $string,
- "varInt" => $int,
- "varFloat" => $float);
- }
-
- function echoNestedStruct($struct) {
- return $struct;
- }
-
- function echo2DStringArray($ary) {
- return $ary;
- }
-
- function echoNestedArray($ary) {
- return $ary;
- }
-
- function countItems($input) {
- return count($input);
- }
-
- function isNil($input) {
- return is_null($input);
- }
-
- function returnVoid() {
- }
-
- function emptyBody() {
- }
-
- function requiredHeader($x) {
- $this->header = $x;
- }
-
- function echoHeader() {
- return $this->header;
- }
-
- function echoResolvedRef($ref) {
- return $ref->RelativeReference->base.$ref->RelativeReference->href;
- }
-
- function validateCountryCode($code) {
- if (strlen($code) != 2) {
- return new SoapFault("Client", "Not a valid country code", NULL, NULL, NULL, new SoapHeader("http://example.org/ts-tests", "validateCountryCodeFault", "Country code must be 2 letters."));
- } else {
- return "OK";
- }
- }
-
-}
-
-$server = new soapserver(dirname(__FILE__)."/soap12-test.wsdl", array('soap_version'=>SOAP_1_2,'actor'=>"http://example.org/ts-tests/C"));
-$server->setClass("Soap12test");
-
-$server->handle();
-echo "ok\n";
-?>
diff --git a/ext/soap/tests/soap12/soap12-test.wsdl b/ext/soap/tests/soap12/soap12-test.wsdl
deleted file mode 100644
index d1679b475d..0000000000
--- a/ext/soap/tests/soap12/soap12-test.wsdl
+++ /dev/null
@@ -1,771 +0,0 @@
-<?xml version="1.0"?>
-
-<definitions name="SOAP-12-TestDefinitions"
- targetNamespace="http://whitemesa.net/wsdl/soap12-test"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:enc="http://www.w3.org/2003/05/soap-encoding"
- xmlns:tns="http://whitemesa.net/wsdl/soap12-test"
- xmlns:types="http://example.org/ts-tests/xsd"
- xmlns:test="http://example.org/ts-tests"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:enc11="http://schemas.xmlsoap.org/soap/encoding/">
- <types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.org/ts-tests/xsd">
-
- <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
-
- <complexType name="ArrayOfstring">
- <complexContent>
- <restriction base="enc11:Array">
- <attribute ref="enc11:arrayType" wsdl:arrayType="xsd:string[]"/>
- </restriction>
- </complexContent>
- </complexType>
-
- <complexType name="ArrayOfint">
- <complexContent>
- <restriction base="enc11:Array">
- <attribute ref="enc11:arrayType" wsdl:arrayType="xsd:int[]"/>
- </restriction>
- </complexContent>
- </complexType>
-
- <complexType name="ArrayOffloat">
- <complexContent>
- <restriction base="enc11:Array">
- <attribute ref="enc11:arrayType" wsdl:arrayType="xsd:float[]"/>
- </restriction>
- </complexContent>
- </complexType>
-
- <complexType name="ArrayOfSOAPStruct">
- <complexContent>
- <restriction base="enc11:Array">
- <attribute ref="enc11:arrayType" wsdl:arrayType="types:SOAPStruct[]"/>
- </restriction>
- </complexContent>
- </complexType>
-
- <complexType name="SOAPStruct">
- <all>
- <element name="varString" type="xsd:string"/>
- <element name="varInt" type="xsd:int"/>
- <element name="varFloat" type="xsd:float"/>
- </all>
- </complexType>
- <complexType name="SOAPStructStruct">
- <all>
- <element name="varString" type="xsd:string"/>
- <element name="varInt" type="xsd:int"/>
- <element name="varFloat" type="xsd:float"/>
- <element name="varStruct" type="types:SOAPStruct"/>
- </all>
- </complexType>
-
- <complexType name="SOAPArrayStruct">
- <all>
- <element name="varString" type="xsd:string"/>
- <element name="varInt" type="xsd:int"/>
- <element name="varFloat" type="xsd:float"/>
- <element name="varArray" type="types:ArrayOfstring"/>
- </all>
- </complexType>
-
- <!-- unknown header block type -->
- <complexType name="UnknownType">
- <sequence>
- <element minOccurs="0" maxOccurs="1" name="stringValue" type="xsd:string" />
- </sequence>
- </complexType>
-
- </schema>
-
- <schema xmlns="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- targetNamespace="http://example.org/ts-tests">
-
- <import namespace="http://www.w3.org/1999/xlink" />
- <import namespace="http://example.org/ts-tests/xsd" />
-
- <!-- 3.2.1 echoOk -->
- <element name="echoOk" type="xsd:string"/>
-
- <!-- 3.2.2 responseOk -->
- <element name="responseOk" type="xsd:string"/>
-
- <!-- 3.2.3 Ignore -->
- <element name="Ignore" type="xsd:string"/>
-
- <!-- 3.2.4 requiredHeader -->
- <element name="requiredHeader" type="xsd:string"/>
-
- <element name="echoHeader" type="xsd:string"/>
- <element name="echoHeaderResponse" type="xsd:string"/>
-
- <!-- 3.2.5 DataHolder -->
- <element name="DataHolder" type="test:DataHolder_t"/>
- <complexType name="DataHolder_t">
- <sequence>
- <element name="Data" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
-
- <!-- 3.2.6 concatAndForwardEchoOk -->
- <element name="concatAndForwardEchoOk"/>
-
- <!-- 3.2.7 concatAndForwardEchoOkArg1 -->
- <element name="concatAndForwardEchoOkArg1" type="xsd:string"/>
-
- <!-- 3.2.8 concatAndForwardEchoOkArg2 -->
- <element name="concatAndForwardEchoOkArg2" type="xsd:string"/>
-
- <!-- 3.2.9 validateCountryCode -->
- <element name="validateCountryCode" type="xsd:string"/>
-
- <element name="validateCountryCodeResponse" type="xsd:string"/>
-
- <!-- 3.2.10 validateCountryCodeFault -->
- <element name="validateCountryCodeFault" type="xsd:string"/>
-
- <!-- 3.2.11 echoResolvedRef -->
- <element name="RelativeReference" type="test:RelativeReference_t"/>
- <complexType name="RelativeReference_t">
- <attribute ref="xml:base"/>
- <attribute ref="xlink:href"/>
- </complexType>
-
- <element name="echoResolvedRef" type="test:echoResolvedRef_t"/>
- <complexType name="echoResolvedRef_t">
- <sequence>
- <element ref="test:RelativeReference" minOccurs="1" maxOccurs="1"/>
- </sequence>
- </complexType>
-
- <!-- 3.2.12 responseResolvedRef -->
- <element name="responseResolvedRef" type="xsd:string"/>
-
- <!-- echoOkUltimateReceiver added to support testing of "relay" -->
- <element name="echoOkUltimateReceiver" type="xsd:string"/>
-
- <!-- responseOkUltimateReceiver added to support testing of "relay" -->
- <element name="responseOkUltimateReceiver" type="xsd:string"/>
-
- <element name="Unknown" type="types:UnknownType" />
-
- </schema>
-
- </types>
-
- <!-- 3.4.1 returnVoid rpc operation -->
- <message name="returnVoidRequest"/>
- <message name="returnVoidResponse"/>
-
- <!-- 3.4.2 echoStruct rpc operation -->
- <message name="echoStructRequest">
- <part name="inputStruct" type="types:SOAPStruct"/>
- </message>
- <message name="echoStructResponse">
- <part name="return" type="types:SOAPStruct"/>
- </message>
-
- <!-- 3.4.3 echoStructArray rpc operation -->
- <message name="echoStructArrayRequest">
- <part name="inputStructArray" type="types:ArrayOfSOAPStruct"/>
- </message>
- <message name="echoStructArrayResponse">
- <part name="return" type="types:ArrayOfSOAPStruct"/>
- </message>
-
- <!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
- <message name="echoStructAsSimpleTypesRequest">
- <part name="inputStruct" type="types:SOAPStruct"/>
- </message>
- <message name="echoStructAsSimpleTypesResponse">
- <part name="outputString" type="xsd:string"/>
- <part name="outputInteger" type="xsd:int"/>
- <part name="outputFloat" type="xsd:float"/>
- </message>
-
- <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
- <message name="echoSimpleTypesAsStructRequest">
- <part name="inputString" type="xsd:string"/>
- <part name="inputInt" type="xsd:int"/>
- <part name="inputFloat" type="xsd:float"/>
- </message>
- <message name="echoSimpleTypesAsStructResponse">
- <part name="return" type="types:SOAPStruct"/>
- </message>
-
- <!-- 3.4.6 echoNestedStruct rpc operation -->
- <message name="echoNestedStructRequest">
- <part name="inputStruct" type="types:SOAPStructStruct"/>
- </message>
- <message name="echoNestedStructResponse">
- <part name="return" type="types:SOAPStructStruct"/>
- </message>
-
- <!-- 3.4.7 echoNestedArray rpc operation -->
- <message name="echoNestedArrayRequest">
- <part name="inputStruct" type="types:SOAPArrayStruct"/>
- </message>
- <message name="echoNestedArrayResponse">
- <part name="return" type="types:SOAPArrayStruct"/>
- </message>
-
- <!-- 3.4.8 echoFloatArray rpc operation -->
- <message name="echoFloatArrayRequest">
- <part name="inputFloatArray" type="types:ArrayOffloat"/>
- </message>
- <message name="echoFloatArrayResponse">
- <part name="return" type="types:ArrayOffloat"/>
- </message>
-
- <!-- 3.4.9 echoStringArray rpc operation -->
- <message name="echoStringArrayRequest">
- <part name="inputStringArray" type="types:ArrayOfstring"/>
- </message>
- <message name="echoStringArrayResponse">
- <part name="return" type="types:ArrayOfstring"/>
- </message>
-
- <!-- 3.4.10 echoIntegerArray rpc operation -->
- <message name="echoIntegerArrayRequest">
- <part name="inputIntegerArray" type="types:ArrayOfint"/>
- </message>
- <message name="echoIntegerArrayResponse">
- <part name="return" type="types:ArrayOfint"/>
- </message>
-
- <!-- 3.4.11 echoBase64 rpc operation -->
- <message name="echoBase64Request">
- <part name="inputBase64" type="xsd:base64Binary"/>
- </message>
- <message name="echoBase64Response">
- <part name="return" type="xsd:base64Binary"/>
- </message>
-
- <!-- 3.4.12 echoBoolean rpc operation -->
- <message name="echoBooleanRequest">
- <part name="inputBoolean" type="xsd:boolean"/>
- </message>
- <message name="echoBooleanResponse">
- <part name="return" type="xsd:boolean"/>
- </message>
-
- <!-- 3.4.13 echoDate rpc operation -->
- <message name="echoDateRequest">
- <part name="inputDate" type="xsd:dateTime"/>
- </message>
- <message name="echoDateResponse">
- <part name="return" type="xsd:dateTime"/>
- </message>
-
- <!-- 3.4.14 echoDecimal rpc operation -->
- <message name="echoDecimalRequest">
- <part name="inputDecimal" type="xsd:decimal"/>
- </message>
- <message name="echoDecimalResponse">
- <part name="return" type="xsd:decimal"/>
- </message>
-
- <!-- 3.4.15 echoFloat rpc operation -->
- <message name="echoFloatRequest">
- <part name="inputFloat" type="xsd:float"/>
- </message>
- <message name="echoFloatResponse">
- <part name="return" type="xsd:float"/>
- </message>
-
- <!-- 3.4.16 echoString rpc operation -->
- <message name="echoStringRequest">
- <part name="inputString" type="xsd:string"/>
- </message>
- <message name="echoStringResponse">
- <part name="return" type="xsd:string"/>
- </message>
-
- <!-- 3.4.17 countItems rpc operation -->
- <message name="countItemsRequest">
- <part name="inputStringArray" type="types:ArrayOfstring"/>
- </message>
- <message name="countItemsResponse">
- <part name="return" type="xsd:int"/>
- </message>
-
- <!-- 3.4.18 isNil rpc operation -->
- <message name="isNilRequest">
- <part name="inputString" type="xsd:string"/>
- </message>
- <message name="isNilResponse">
- <part name="return" type="xsd:boolean"/>
- </message>
-
- <!-- DataHolder header block -->
- <message name="DataHolderRequest">
- <part name="DataHolder" type="test:DataHolder_t"/>
- </message>
- <message name="DataHolderResponse">
- <part name="DataHolder" type="test:DataHolder_t"/>
- </message>
-
- <!-- empty message for doc/literal testing -->
- <message name="emptyBodyRequest"/>
- <message name="emptyBodyResponse"/>
-
- <!-- echoOk body/header block -->
- <message name="echoOkRequest">
- <part name="echoOk" element="test:echoOk"/>
- </message>
- <message name="echoOkResponse">
- <part name="responseOk" element="test:responseOk"/>
- </message>
-
- <message name="requiredHeaderRequest">
- <part name="requiredHeader" element="test:requiredHeader"/>
- </message>
- <message name="echoHeaderRequest">
- <part name="responseHeader" element="test:echoHeader"/>
- </message>
- <message name="echoHeaderResponse">
- <part name="responseHeader" element="test:echoHeaderResponse"/>
- </message>
-
- <message name="echoResolvedRefRequest">
- <part name="responseHeader" element="test:echoResolvedRef"/>
- </message>
- <message name="echoResolvedRefResponse">
- <part name="responseHeader" element="test:responseResolvedRef"/>
- </message>
-
- <!-- "unknown" header block -->
- <message name="UnknownHdrBlockLit">
- <part name="Unknown" element="test:Unknown" />
- </message>
- <message name="UnknownHdrBlockEnc">
- <part name="Unknown" type="types:UnknownType" />
- </message>
-
- <message name="validateCountryCodeRequest">
- <part name="validateCountryCode" element="test:validateCountryCode" />
- </message>
- <message name="validateCountryCodeFault">
- <part name="validateCountryCodeFault" element="test:validateCountryCodeFault" />
- </message>
- <message name="validateCountryCodeResponse">
- <part name="validateCountryCodeResponse" element="test:validateCountryCodeResponse" />
- </message>
-
-
- <portType name="Soap12TestPortTypeDoc">
- <operation name="emptyBody">
- <input message="tns:emptyBodyRequest" />
- <output message="tns:emptyBodyResponse" />
- </operation>
- <operation name="echoOk">
- <input message="tns:echoOkRequest" />
- <output message="tns:echoOkResponse" />
- </operation>
- <operation name="requiredHeader">
- <input message="tns:requiredHeaderRequest" />
- </operation>
- <operation name="echoHeader">
- <input message="tns:echoHeaderRequest" />
- <output message="tns:echoHeaderResponse" />
- </operation>
- <operation name="echoResolvedRef">
- <input message="tns:echoResolvedRefRequest" />
- <output message="tns:echoResolvedRefResponse" />
- </operation>
- </portType>
-
- <portType name="Soap12TestPortTypeRpc">
-
- <!-- 3.4.1 returnVoid rpc operation -->
- <operation name="returnVoid">
- <input message="tns:returnVoidRequest"/>
- <output message="tns:returnVoidResponse"/>
- </operation>
-
- <!-- 3.4.2 echoStruct rpc operation -->
- <operation name="echoStruct" parameterOrder="inputStruct">
- <input message="tns:echoStructRequest"/>
- <output message="tns:echoStructResponse"/>
- </operation>
-
- <!-- 3.4.3 echoStructArray rpc operation -->
- <operation name="echoStructArray" parameterOrder="inputStructArray">
- <input message="tns:echoStructArrayRequest"/>
- <output message="tns:echoStructArrayResponse"/>
- </operation>
-
- <!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
- <operation name="echoStructAsSimpleTypes" parameterOrder="inputStruct outputString outputInteger outputFloat">
- <input message="tns:echoStructAsSimpleTypesRequest"/>
- <output message="tns:echoStructAsSimpleTypesResponse"/>
- </operation>
-
- <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
- <operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat">
- <input message="tns:echoSimpleTypesAsStructRequest"/>
- <output message="tns:echoSimpleTypesAsStructResponse"/>
- </operation>
-
- <!-- 3.4.6 echoNestedStruct rpc operation -->
- <operation name="echoNestedStruct" parameterOrder="inputStruct">
- <input message="tns:echoNestedStructRequest"/>
- <output message="tns:echoNestedStructResponse"/>
- </operation>
-
- <!-- 3.4.7 echoNestedArray rpc operation -->
- <operation name="echoNestedArray" parameterOrder="inputStruct">
- <input message="tns:echoNestedArrayRequest"/>
- <output message="tns:echoNestedArrayResponse"/>
- </operation>
-
- <!-- 3.4.8 echoFloatArray rpc operation -->
- <operation name="echoFloatArray" parameterOrder="inputFloatArray">
- <input message="tns:echoFloatArrayRequest"/>
- <output message="tns:echoFloatArrayResponse"/>
- </operation>
-
- <!-- 3.4.9 echoStringArray rpc operation -->
- <operation name="echoStringArray" parameterOrder="inputStringArray">
- <input message="tns:echoStringArrayRequest"/>
- <output message="tns:echoStringArrayResponse"/>
- </operation>
-
- <!-- 3.4.10 echoIntegerArray rpc operation -->
- <operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
- <input message="tns:echoIntegerArrayRequest"/>
- <output message="tns:echoIntegerArrayResponse"/>
- </operation>
-
- <!-- 3.4.11 echoBase64 rpc operation -->
- <operation name="echoBase64" parameterOrder="inputBase64">
- <input message="tns:echoBase64Request"/>
- <output message="tns:echoBase64Response"/>
- </operation>
-
- <!-- 3.4.12 echoBoolean rpc operation -->
- <operation name="echoBoolean" parameterOrder="inputBoolean">
- <input message="tns:echoBooleanRequest"/>
- <output message="tns:echoBooleanResponse"/>
- </operation>
-
- <!-- 3.4.13 echoDate rpc operation -->
- <operation name="echoDate" parameterOrder="inputDate">
- <input message="tns:echoDateRequest"/>
- <output message="tns:echoDateResponse"/>
- </operation>
-
- <!-- 3.4.14 echoDecimal rpc operation -->
- <operation name="echoDecimal" parameterOrder="inputDecimal">
- <input message="tns:echoDecimalRequest"/>
- <output message="tns:echoDecimalResponse"/>
- </operation>
-
- <!-- 3.4.15 echoFloat rpc operation -->
- <operation name="echoFloat" parameterOrder="inputFloat">
- <input message="tns:echoFloatRequest"/>
- <output message="tns:echoFloatResponse"/>
- </operation>
-
- <!-- 3.4.16 echoString rpc operation -->
- <operation name="echoString" parameterOrder="inputString">
- <input message="tns:echoStringRequest"/>
- <output message="tns:echoStringResponse"/>
- </operation>
-
- <!-- 3.4.17 countItems rpc operation -->
- <operation name="countItems" parameterOrder="inputStringArray">
- <input message="tns:countItemsRequest"/>
- <output message="tns:countItemsResponse"/>
- </operation>
-
- <!-- 3.4.18 isNil rpc operation -->
- <operation name="isNil" parameterOrder="inputString">
- <input message="tns:isNilRequest"/>
- <output message="tns:isNilResponse"/>
- </operation>
-
- </portType>
-
- <binding name="Soap12TestDocBinding" type="tns:Soap12TestPortTypeDoc">
- <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="emptyBody">
- <soap12:operation/>
- <input>
- <soap12:body use="literal" />
- <soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" />
- <soap12:header message="tns:UnknownHdrBlockLit" part="Unknown" use="literal" />
- <soap12:header message="tns:validateCountryCodeRequest" part="validateCountryCode" use="literal">
- <soap12:headerfault message="tns:validateCountryCodeFault" part="validateCountryCodeFault" use="literal"/>
- </soap12:header>
- </input>
- <output>
- <soap12:body use="literal" />
- <soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
- <soap12:header message="tns:validateCountryCodeResponse" part="validateCountryCodeResponse" use="literal"/>
- </output>
- </operation>
- <operation name="echoOk">
- <soap12:operation/>
- <input>
- <soap12:body use="literal" />
- <soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" />
- <soap12:header message="tns:UnknownHdrBlockLit" part="Unknown" use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- <soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
- </output>
- </operation>
- <operation name="requiredHeader">
- <soap12:operation/>
- <input>
- <soap12:body use="literal" />
- </input>
- </operation>
- <operation name="echoHeader">
- <soap12:operation/>
- <input>
- <soap12:body use="literal" />
- <soap12:header message="tns:echoOkRequest" part="echoOk" use="literal" />
- <soap12:header message="tns:UnknownHdrBlockLit" part="Unknown" use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- <soap12:header message="tns:echoOkResponse" part="responseOk" use="literal" />
- </output>
- </operation>
- <operation name="echoResolvedRef">
- <soap12:operation/>
- <input>
- <soap12:body use="literal" />
- </input>
- <output>
- <soap12:body use="literal" />
- </output>
- </operation>
- </binding>
-
- <binding name="Soap12TestRpcBinding" type="tns:Soap12TestPortTypeRpc">
- <soap12:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
-
- <!-- 3.4.1 returnVoid rpc operation -->
- <operation name="returnVoid">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.2 echoStruct rpc operation -->
- <operation name="echoStruct">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.3 echoStructArray rpc operation -->
- <operation name="echoStructArray">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->
- <operation name="echoStructAsSimpleTypes">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->
- <operation name="echoSimpleTypesAsStruct">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.6 echoNestedStruct rpc operation -->
- <operation name="echoNestedStruct">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.7 echoNestedArray rpc operation -->
- <operation name="echoNestedArray">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.8 echoFloatArray rpc operation -->
- <operation name="echoFloatArray">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.9 echoStringArray rpc operation -->
- <operation name="echoStringArray">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.10 echoIntegerArray rpc operation -->
- <operation name="echoIntegerArray">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.11 echoBase64 rpc operation -->
- <operation name="echoBase64">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.12 echoBoolean rpc operation -->
- <operation name="echoBoolean">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.13 echoDate rpc operation -->
- <operation name="echoDate">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.14 echoDecimal rpc operation -->
- <operation name="echoDecimal">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.15 echoFloat rpc operation -->
- <operation name="echoFloat">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.16 echoString rpc operation -->
- <operation name="echoString">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- <soap12:header use="encoded" message="tns:DataHolderRequest" part="DataHolder" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- <soap12:header use="encoded" message="tns:DataHolderResponse" part="DataHolder" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.17 countItems rpc operation -->
- <operation name="countItems">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- <!-- 3.4.18 isNil rpc operation -->
- <operation name="isNil">
- <soap12:operation/>
- <input>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </input>
- <output>
- <soap12:body use="encoded" namespace="http://example.org/ts-tests" encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
- </output>
- </operation>
-
- </binding>
-
-
- <service name="WhiteMesaSoap12TestSvc">
- <port name="Soap12TestDocPort" binding="tns:Soap12TestDocBinding">
- <soap12:address location="http://localhost/soap12/test-doc"/>
- </port>
- <port name="Soap12TestRpcPort" binding="tns:Soap12TestRpcBinding">
- <soap12:address location="http://localhost/soap12/test-rpc"/>
- </port>
-
- </service>
-
-</definitions>
diff --git a/ext/soap/tests/test.wsdl b/ext/soap/tests/test.wsdl
deleted file mode 100644
index 0740b7db62..0000000000
--- a/ext/soap/tests/test.wsdl
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" ?>
-<definitions
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:si="http://soapinterop.org/xsd"
- xmlns:tns="http://linuxsrv.home/~dmitry/soap/test.wsdl"
- xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns="http://schemas.xmlsoap.org/wsdl/"
- targetNamespace="http://linuxsrv.home/~dmitry/soap/test.wsdl">
-
- <types>
- <xsd:schema targetNamespace="http://linuxsrv.home/~dmitry/soap/test.wsdl">
- <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
- </xsd:schema>
- </types>
-
- <message name="AddRequest">
- <part name="x" type="xsd:double" />
- <part name="y" type="xsd:double" />
- </message>
- <message name="AddResponse">
- <part name="result" type="xsd:double" />
- </message>
-
- <portType name="TestServicePortType">
- <operation name="Add">
- <input message="tns:AddRequest" />
- <output message="tns:AddResponse" />
- </operation>
- </portType>
-
- <binding name="TestServiceBinding" type="tns:TestServicePortType">
- <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <operation name="Add">
- <soap:operation soapAction="Add" style="rpc" />
- <input>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </input>
- <output>
- <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
- </output>
- </operation>
- </binding>
-
- <service name="TestService">
- <port name="TestServicePort" binding="tns:TestServiceBinding">
- <soap:address location="http://linuxsrv.home/~dmitry/soap/soap_server.php" />
- </port>
- </service>
-
-</definitions>
diff --git a/ext/soap/tests/transport001.phpt b/ext/soap/tests/transport001.phpt
deleted file mode 100644
index 9134d3d7fb..0000000000
--- a/ext/soap/tests/transport001.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-SOAP Transport 1: Local transport using SoapClient::__doRequest
---SKIPIF--
-<?php require_once('skipif.inc'); ?>
---FILE--
-<?php
-function Add($x,$y) {
- return $x+$y;
-}
-
-class LocalSoapClient extends SoapClient {
-
- function __construct($wsdl, $options) {
- parent::__construct($wsdl, $options);
- $this->server = new SoapServer($wsdl, $options);
- $this->server->addFunction('Add');
- }
-
- function __doRequest($request, $location, $action, $version) {
- ob_start();
- $this->server->handle($request);
- $response = ob_get_contents();
- ob_end_clean();
- return $response;
- }
-
-}
-
-$x = new LocalSoapClient(NULL,array('location'=>'test://',
- 'uri'=>'http://testuri.org'));
-var_dump($x->Add(3,4));
-echo "ok\n";
-?>
---EXPECT--
-int(7)
-ok