From: Dmitry Stogov Date: Sun, 9 Oct 2005 11:06:09 +0000 (+0000) Subject: Fixed bug #34787 (SOAP Client not handling boolean types correctly) X-Git-Tag: RELEASE_0_9_1~188 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f60b38290644e907b2a893ceae06f05c98b463f8;p=php Fixed bug #34787 (SOAP Client not handling boolean types correctly) --- diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 7fc61f7b6a..58adab43b5 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -113,7 +113,7 @@ static void set_ns_and_type(xmlNodePtr node, encodeTypePtr type); { \ if (!zval || Z_TYPE_P(zval) == IS_NULL) { \ if (style == SOAP_ENCODED) {\ - xmlSetProp(xml, "xsi:nil", "1"); \ + xmlSetProp(xml, "xsi:nil", "true"); \ } \ return xml; \ } \ @@ -962,7 +962,7 @@ static xmlNodePtr to_xml_null(encodeTypePtr type, zval *data, int style, xmlNode ret = xmlNewNode(NULL,"BOGUS"); xmlAddChild(parent, ret); if (style == SOAP_ENCODED) { - xmlSetProp(ret, "xsi:nil", "1"); + xmlSetProp(ret, "xsi:nil", "true"); } return ret; } @@ -1334,10 +1334,10 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * property = xmlNewNode(NULL,"BOGUS"); xmlAddChild(node, property); if (style == SOAP_ENCODED) { - xmlSetProp(property, "xsi:nil", "1"); + xmlSetProp(property, "xsi:nil", "true"); } else { xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE); - xmlSetNsProp(property, xsi, "nil", "1"); + xmlSetNsProp(property, xsi, "nil", "true"); } } else { property = master_to_xml(enc, *val, style, node); @@ -1360,10 +1360,10 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * property = xmlNewNode(NULL,"BOGUS"); xmlAddChild(node, property); if (style == SOAP_ENCODED) { - xmlSetProp(property, "xsi:nil", "1"); + xmlSetProp(property, "xsi:nil", "true"); } else { xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE); - xmlSetNsProp(property, xsi, "nil", "1"); + xmlSetNsProp(property, xsi, "nil", "true"); } } else { property = master_to_xml(enc, data, style, node); @@ -1385,10 +1385,10 @@ static int model_to_xml_object(xmlNodePtr node, sdlContentModelPtr model, zval * property = xmlNewNode(NULL,model->u.element->name); xmlAddChild(node, property); if (style == SOAP_ENCODED) { - xmlSetProp(property, "xsi:nil", "1"); + xmlSetProp(property, "xsi:nil", "true"); } else { xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE); - xmlSetNsProp(property, xsi, "nil", "1"); + xmlSetNsProp(property, xsi, "nil", "true"); } return 1; } else if (model->min_occurs == 0) { @@ -1518,7 +1518,7 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo xmlParam = xmlNewNode(NULL,"BOGUS"); xmlAddChild(parent, xmlParam); if (style == SOAP_ENCODED) { - xmlSetProp(xmlParam, "xsi:nil", "1"); + xmlSetProp(xmlParam, "xsi:nil", "true"); } return xmlParam; } @@ -1597,10 +1597,10 @@ static xmlNodePtr to_xml_object(encodeTypePtr type, zval *data, int style, xmlNo property = xmlNewNode(NULL,"BOGUS"); xmlAddChild(xmlParam, property); if (style == SOAP_ENCODED) { - xmlSetProp(property, "xsi:nil", "1"); + xmlSetProp(property, "xsi:nil", "true"); } else { xmlNsPtr xsi = encode_add_ns(property,XSI_NAMESPACE); - xmlSetNsProp(property, xsi, "nil", "1"); + xmlSetNsProp(property, xsi, "nil", "true"); } } else { property = master_to_xml(array_el->encode, *val, style, xmlParam); diff --git a/ext/soap/tests/bugs/bug30928.phpt b/ext/soap/tests/bugs/bug30928.phpt index c7b497c0ed..45916f4a9f 100644 --- a/ext/soap/tests/bugs/bug30928.phpt +++ b/ext/soap/tests/bugs/bug30928.phpt @@ -44,7 +44,7 @@ var_dump($x->test(new foo())); echo "ok\n"; ?> --EXPECTF-- -object(stdClass)#%d (3) { +object(stdClass)#4 (3) { ["a"]=> string(1) "a" ["b"]=> @@ -52,12 +52,12 @@ object(stdClass)#%d (3) { ["c"]=> string(1) "c" } -object(foo)#%d (3) { +object(foo)#2 (3) { ["a"]=> string(1) "a" - ["b:private"]=> + ["b":"foo":private]=> string(1) "b" - ["c:protected"]=> + ["c":protected]=> string(1) "c" } 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 index 353c547757..66bc63113f 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_003p.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- - + - + 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 index ef5211e249..e2f4c790a6 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_003s.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- - + - + 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 index 88489bb410..d76c28abfe 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_003w.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- - + - + ok \ No newline at end of file diff --git a/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt b/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt index 77f89af351..94a0983e56 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_009p.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- - + - + 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 index e8478e19b5..d2d9734fc0 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_009s.phpt @@ -14,7 +14,7 @@ echo "ok\n"; ?> --EXPECT-- - + - + 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 index 34cb728065..daa8f5615e 100644 --- a/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt +++ b/ext/soap/tests/interop/Round2/Base/r2_base_009w.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- - + - + ok 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 index 523f0e1c2f..1221e05b5c 100644 --- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt +++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_001w.phpt @@ -21,9 +21,9 @@ echo "ok\n"; ?> --EXPECT-- -1arg1 +1arg1 -1arg1 +1arg1 object(stdClass)#5 (3) { ["varInt"]=> int(1) 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 index e14bb4aad1..a56b3fb62d 100644 --- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt +++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_002w.phpt @@ -21,9 +21,9 @@ echo "ok\n"; ?> --EXPECT-- -1arg12arg2 +1arg12arg2 -1arg12arg2 +1arg12arg2 object(stdClass)#6 (3) { ["varInt"]=> int(1) 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 index 09d3bef433..ce86f0f66e 100644 --- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt +++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_003w.phpt @@ -21,9 +21,9 @@ echo "ok\n"; ?> --EXPECT-- -1arg12arg23arg3 +1arg12arg23arg3 -1arg12arg23arg3 +1arg12arg23arg3 object(stdClass)#7 (3) { ["varInt"]=> int(1) 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 index 212cf76d04..3fa8da4cd5 100644 --- a/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt +++ b/ext/soap/tests/interop/Round3/GroupE/r3_groupE_list_004w.phpt @@ -21,8 +21,8 @@ echo "ok\n"; ?> --EXPECT-- - + - + NULL ok 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 index f4e1b570ae..6818838747 100644 --- 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 @@ -15,4 +15,4 @@ echo "ok\n"; -SOAP-ENV:ServerFault in response to 'echoEmptyFault'. +SOAP-ENV:ServerFault in response to 'echoEmptyFault'. 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 index 7bf250f6b9..c095b486d1 100644 --- 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 @@ -15,4 +15,4 @@ echo "ok\n"; 1Hello world12.34545678 -SOAP-ENV:ServerFault in response to 'echoMultipleFaults1'. +SOAP-ENV:ServerFault in response to 'echoMultipleFaults1'. 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 index 92700c5741..b879fe3a3d 100644 --- 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 @@ -15,4 +15,4 @@ echo "ok\n"; 4Hello world12.34545678 -SOAP-ENV:ServerFault in response to 'echoMultipleFaults1'. +SOAP-ENV:ServerFault in response to 'echoMultipleFaults1'. 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 index 5c2f6ec4e9..a42f79f867 100644 --- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt +++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_013w.phpt @@ -13,7 +13,7 @@ echo "ok\n"; ?> --EXPECT-- -arg1arg3 +arg1arg3 arg1arg3 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 index 52b08c62ef..63f551448e 100644 --- a/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt +++ b/ext/soap/tests/interop/Round4/GroupI/r4_groupI_xsd_015w.phpt @@ -21,7 +21,7 @@ echo "ok\n"; ?> --EXPECT-- -34arg325.32534arg325.325 +34arg325.32534arg325.325 34arg325.32534arg325.325 ok diff --git a/ext/soap/tests/schema/schema062.phpt b/ext/soap/tests/schema/schema062.phpt index d4efc9a599..1dc51ef765 100644 --- a/ext/soap/tests/schema/schema062.phpt +++ b/ext/soap/tests/schema/schema062.phpt @@ -19,7 +19,7 @@ echo "ok"; ?> --EXPECTF-- - + object(stdClass)#%d (2) { ["_"]=> NULL