dmitry          Fri Aug 31 09:36:02 2007 UTC

  Added files:                 (Branch: PHP_5_2)
    /php-src/ext/soap/tests/bugs        bug42086.phpt bug42086.wsdl 

  Modified files:              
    /php-src    NEWS 
    /php-src/ext/soap   soap.c 
  Log:
  Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic 
compliant wsdl)
  
  
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.918&r2=1.2027.2.547.2.919&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.918 php-src/NEWS:1.2027.2.547.2.919
--- php-src/NEWS:1.2027.2.547.2.918     Fri Aug 31 08:07:27 2007
+++ php-src/NEWS        Fri Aug 31 09:36:01 2007
@@ -8,6 +8,8 @@
 - Fixed bug #42452 (PDO classes do not expose Reflection API information).
   (Hannes)
 - Fixed bug #42326 (SoapServer crash). (Dmitry)
+- Fixed bug #42086 (SoapServer return Procedure '' not present for WSIBasic
+  compliant wsdl). (Dmitry)
 
 30 Aug 2007, PHP 5.2.4
 - Removed --enable-versioning configure option. (Jani)
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/soap.c?r1=1.156.2.28.2.27&r2=1.156.2.28.2.28&diff_format=u
Index: php-src/ext/soap/soap.c
diff -u php-src/ext/soap/soap.c:1.156.2.28.2.27 
php-src/ext/soap/soap.c:1.156.2.28.2.28
--- php-src/ext/soap/soap.c:1.156.2.28.2.27     Wed Aug  1 10:39:33 2007
+++ php-src/ext/soap/soap.c     Fri Aug 31 09:36:02 2007
@@ -17,7 +17,7 @@
   |          Dmitry Stogov <[EMAIL PROTECTED]>                             |
   +----------------------------------------------------------------------+
 */
-/* $Id: soap.c,v 1.156.2.28.2.27 2007/08/01 10:39:33 dmitry Exp $ */
+/* $Id: soap.c,v 1.156.2.28.2.28 2007/08/31 09:36:02 dmitry Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -3248,7 +3248,17 @@
                        }
                        trav = trav->next;
                }
-               if (num_of_params > 0) {
+
+               if (num_of_params == 1 &&
+                   function &&
+                   function->binding &&
+                   function->binding->bindingType == BINDING_SOAP &&
+                   
((sdlSoapBindingFunctionPtr)function->bindingAttributes)->style == 
SOAP_DOCUMENT &&
+                   (function->requestParameters == NULL ||
+                    zend_hash_num_elements(function->requestParameters) == 0) 
&&
+                   strcmp(params->name, function->functionName) == 0) {
+                       num_of_params = 0;
+               } else if (num_of_params > 0) {
                        tmp_parameters = safe_emalloc(num_of_params, 
sizeof(zval *), 0);
 
                        trav = params;
@@ -3289,7 +3299,11 @@
        if (function && function->binding && function->binding->bindingType == 
BINDING_SOAP) {
                sdlSoapBindingFunctionPtr fnb = 
(sdlSoapBindingFunctionPtr)function->bindingAttributes;
                if (fnb->style == SOAP_DOCUMENT) {
-                       function = NULL;
+                       if (func->children != NULL ||
+                           (function->requestParameters != NULL &&
+                            
zend_hash_num_elements(function->requestParameters) > 0)) {
+                               function = NULL;
+                       }
                }
        }
        if (sdl != NULL && function == NULL) {

http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug42086.phpt?view=markup&rev=1.1
Index: php-src/ext/soap/tests/bugs/bug42086.phpt
+++ php-src/ext/soap/tests/bugs/bug42086.phpt

http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug42086.wsdl?view=markup&rev=1.1
Index: php-src/ext/soap/tests/bugs/bug42086.wsdl
+++ php-src/ext/soap/tests/bugs/bug42086.wsdl

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to