dmitry Wed Nov 8 10:05:20 2006 UTC
Added files: (Branch: PHP_5_2)
/php-src/ext/soap/tests/bugs bug38536.phpt bug38536.wsdl
Modified files:
/php-src NEWS
/php-src/ext/soap php_encoding.c
Log:
Fixed bug #38536 (SOAP returns an array of values instead of an object)
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.337&r2=1.2027.2.547.2.338&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.337 php-src/NEWS:1.2027.2.547.2.338
--- php-src/NEWS:1.2027.2.547.2.337 Tue Nov 7 20:24:04 2006
+++ php-src/NEWS Wed Nov 8 10:05:19 2006
@@ -40,6 +40,8 @@
read valid db). (Marcus)
- Fixed bug #38680 (Added missing handling of basic types in json_decode).
(Ilia)
+- Fixed bug #38536 (SOAP returns an array of values instead of an object).
+ (Dmitry)
- Fixed bug #33282 (Re-assignment by reference does not clear the is_ref flag)
(Ilia,Dmitry, Matt Wilmas)
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_encoding.c?r1=1.103.2.21.2.14&r2=1.103.2.21.2.15&diff_format=u
Index: php-src/ext/soap/php_encoding.c
diff -u php-src/ext/soap/php_encoding.c:1.103.2.21.2.14
php-src/ext/soap/php_encoding.c:1.103.2.21.2.15
--- php-src/ext/soap/php_encoding.c:1.103.2.21.2.14 Mon Nov 6 13:22:49 2006
+++ php-src/ext/soap/php_encoding.c Wed Nov 8 10:05:19 2006
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_encoding.c,v 1.103.2.21.2.14 2006/11/06 13:22:49 dmitry Exp $ */
+/* $Id: php_encoding.c,v 1.103.2.21.2.15 2006/11/08 10:05:19 dmitry Exp $ */
#include <time.h>
@@ -1137,13 +1137,14 @@
if (node) {
zval *val;
+ xmlNodePtr r_node;
- node = check_and_resolve_href(node);
- if (node && node->children &&
node->children->content) {
- if (model->u.element->fixed &&
strcmp(model->u.element->fixed, (char*)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);
+ r_node = check_and_resolve_href(node);
+ if (r_node && r_node->children &&
r_node->children->content) {
+ if (model->u.element->fixed &&
strcmp(model->u.element->fixed, (char*)r_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, r_node->children->content);
}
- val =
master_to_zval(model->u.element->encode, node);
+ val =
master_to_zval(model->u.element->encode, r_node);
} else if (model->u.element->fixed) {
xmlNodePtr dummy =
xmlNewNode(NULL, BAD_CAST("BOGUS"));
xmlNodeSetContent(dummy,
BAD_CAST(model->u.element->fixed));
@@ -1155,7 +1156,7 @@
val =
master_to_zval(model->u.element->encode, dummy);
xmlFreeNode(dummy);
} else {
- val =
master_to_zval(model->u.element->encode, node);
+ val =
master_to_zval(model->u.element->encode, r_node);
}
if ((node = get_node(node->next,
model->u.element->name)) != NULL) {
zval *array;
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug38536.phpt?view=markup&rev=1.1
Index: php-src/ext/soap/tests/bugs/bug38536.phpt
+++ php-src/ext/soap/tests/bugs/bug38536.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug38536.wsdl?view=markup&rev=1.1
Index: php-src/ext/soap/tests/bugs/bug38536.wsdl
+++ php-src/ext/soap/tests/bugs/bug38536.wsdl
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php