diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index f5535a5e67f..b53cf989378 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -931,9 +931,9 @@ static xmlNodePtr to_xml_bool(encodeTypePtr type, zval *data, int style, xmlNode } if (data->value.lval == 1) { - xmlNodeSetContent(ret, "1"); + xmlNodeSetContent(ret, "true"); } else { - xmlNodeSetContent(ret, "0"); + xmlNodeSetContent(ret, "false"); } if (data == &tmp) { @@ -1376,6 +1376,16 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * } } 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 { diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt index 132cd0bcb46..69edf346d91 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_021p.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -1 +true -1 +true 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 index fce28ed86e1..8f2a66fc50b 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_021s.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -1 +true -1 +true 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 index e2ed9979911..1e4cb4ee259 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_021w.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -1 +true -1 +true 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 index 1aeb21d90bf..07322b9876e 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_022p.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -0 +false -0 +false 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 index 8c43f420a44..9f4309cc31b 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_022s.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -0 +false -0 +false 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 index 62b32c45bdf..5add7e5e83f 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_022w.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -0 +false -0 +false 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 index 885205e4d5a..65dcad2733e 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_023p.phpt @@ -15,5 +15,5 @@ echo "ok\n"; 1 -1 +true 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 index f52184a78a2..8985f38f4ac 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_023s.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -1 +true -1 +true 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 index 6603e1e312b..ca4eff0fcbc 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_023w.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -1 +true -1 +true 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 index 543486df8a0..f55f095019d 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_024p.phpt @@ -15,5 +15,5 @@ echo "ok\n"; 0 -0 +false 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 index dd3a3520b8a..f10e7629abf 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_024s.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -0 +false -0 +false 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 index 359e6208491..96187fbb030 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_024w.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -0 +false -0 +false ok 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 index 3a047a93c5f..4b37558d1c3 100644 --- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt +++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound1_001w.phpt @@ -22,7 +22,7 @@ echo "ok\n"; ?> --EXPECT-- -3212345 +3212345 -3212345 +3212345 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 index ee74a962f63..9aa448ce9e0 100644 --- a/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt +++ b/ext/soap/tests/interop/Round3/GroupD/r3_groupD_compound2_001w.phpt @@ -31,7 +31,7 @@ echo "ok\n"; ?> --EXPECT-- -Shane1100000012345 +Shanetrue100000012345 -Shane1100000012345 +Shanetrue100000012345 ok 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 index 2b5de618e46..77f3b24d538 100644 --- 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 @@ -46,6 +46,6 @@ echo "ok\n"; ?> --EXPECT-- -1s111.11s222.22arg-35s333.33arg-351 +1s111.11s222.22arg-35s333.33arg-35true SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.s111.11 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 index 1e4a1a2a2d2..aebb9e9ef5b 100644 --- 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 @@ -46,6 +46,6 @@ echo "ok\n"; ?> --EXPECT-- -2s111.11s222.22arg-35s333.33arg-351 +2s111.11s222.22arg-35s333.33arg-35true SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.s222.22arg-35 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 index 5993012b039..a27c2ad0125 100644 --- 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 @@ -46,6 +46,6 @@ echo "ok\n"; ?> --EXPECT-- -3s111.11s222.22arg-35s333.33arg-351 +3s111.11s222.22arg-35s333.33arg-35true -SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.s333.33arg-351 +SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.s333.33arg-35true 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 index b97f397ec65..adf98fc2596 100644 --- 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 @@ -46,6 +46,6 @@ echo "ok\n"; ?> --EXPECT-- -4s111.11s222.22arg-35s333.33arg-351 +4s111.11s222.22arg-35s333.33arg-35true SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.s111.11 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 index 5bfe6637604..1184b41e46f 100644 --- 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 @@ -36,6 +36,6 @@ echo "ok\n"; ?> --EXPECT-- -112.345112.3452arg-3512.3453arg-351 +112.345112.3452arg-3512.3453arg-35true SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.12.3451 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 index a9424cb8a35..0d0a800fa19 100644 --- 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 @@ -36,6 +36,6 @@ echo "ok\n"; ?> --EXPECT-- -212.345112.3452arg-3512.3453arg-351 +212.345112.3452arg-3512.3453arg-35true SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.12.3452arg-35 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 index c2c4038da12..21f643a5690 100644 --- 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 @@ -36,6 +36,6 @@ echo "ok\n"; ?> --EXPECT-- -312.345112.3452arg-3512.3453arg-351 +312.345112.3452arg-3512.3453arg-35true -SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.12.3453arg-351 +SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.12.3453arg-35true 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 index 7099391bd8b..7cf18fb366e 100644 --- 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 @@ -36,6 +36,6 @@ echo "ok\n"; ?> --EXPECT-- -412.345112.3452arg-3512.3453arg-351 +412.345112.3452arg-3512.3453arg-35true SOAP-ENV:ServerFault in response to 'echoMultipleFaults2'.12.3451 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 index 7661a60eb4f..08900ac5e59 100644 --- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt +++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_017w.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -1 +true -1 +true ok diff --git a/ext/soap/tests/soap12/T52.phpt b/ext/soap/tests/soap12/T52.phpt index 3034f0a2977..9d75fb98235 100644 --- a/ext/soap/tests/soap12/T52.phpt +++ b/ext/soap/tests/soap12/T52.phpt @@ -21,5 +21,5 @@ include "soap12-test.inc"; ?> --EXPECT-- -return1 +returntrue ok diff --git a/ext/soap/tests/soap12/T77_1.phpt b/ext/soap/tests/soap12/T77_1.phpt index fea616a9be9..d847b6cfd88 100644 --- a/ext/soap/tests/soap12/T77_1.phpt +++ b/ext/soap/tests/soap12/T77_1.phpt @@ -21,5 +21,5 @@ include "soap12-test.inc"; ?> --EXPECT-- -return1 +returntrue ok diff --git a/ext/soap/tests/soap12/T77_2.phpt b/ext/soap/tests/soap12/T77_2.phpt index 1e49e8a35e0..c829b57892a 100644 --- a/ext/soap/tests/soap12/T77_2.phpt +++ b/ext/soap/tests/soap12/T77_2.phpt @@ -20,5 +20,5 @@ include "soap12-test.inc"; ?> --EXPECT-- -return1 +returntrue ok diff --git a/ext/soap/tests/soap12/T77_3.phpt b/ext/soap/tests/soap12/T77_3.phpt index f404dd0befd..0e1355a5a28 100644 --- a/ext/soap/tests/soap12/T77_3.phpt +++ b/ext/soap/tests/soap12/T77_3.phpt @@ -23,5 +23,5 @@ include "soap12-test.inc"; ?> --EXPECT-- -return0 +returnfalse ok