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

Reply via email to