dmitry Tue Jun 21 02:24:55 2005 EDT Modified files: /php-src/ext/soap php_encoding.c Log: ext/soap should use type defined in SoapVar(), if wsdl defines another type http://cvs.php.net/diff.php/php-src/ext/soap/php_encoding.c?r1=1.96&r2=1.97&ty=u Index: php-src/ext/soap/php_encoding.c diff -u php-src/ext/soap/php_encoding.c:1.96 php-src/ext/soap/php_encoding.c:1.97 --- php-src/ext/soap/php_encoding.c:1.96 Thu Jun 9 04:17:36 2005 +++ php-src/ext/soap/php_encoding.c Tue Jun 21 02:24:55 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_encoding.c,v 1.96 2005/06/09 08:17:36 dmitry Exp $ */ +/* $Id: php_encoding.c,v 1.97 2005/06/21 06:24:55 dmitry Exp $ */ #include <time.h> @@ -260,7 +260,7 @@ soap_error0(E_ERROR, "Encoding: SoapVar hasn't 'enc_type' propery"); } - if (SOAP_GLOBAL(sdl) && encode == NULL) { + 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)); @@ -272,6 +272,9 @@ 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); @@ -279,7 +282,7 @@ node = master_to_xml(enc, *zdata, style, parent); } - if (style == SOAP_ENCODED || (SOAP_GLOBAL(sdl) && encode == NULL)) { + 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);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php