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