dmitry Thu May 10 14:58:17 2007 UTC
Added files: (Branch: PHP_5_2)
/php-src/ext/soap/tests/bugs bug41337.phpt bug41337.wsdl
Modified files:
/php-src NEWS
/php-src/ext/soap php_sdl.c
Log:
Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings)
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.692&r2=1.2027.2.547.2.693&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.692 php-src/NEWS:1.2027.2.547.2.693
--- php-src/NEWS:1.2027.2.547.2.692 Thu May 10 13:16:51 2007
+++ php-src/NEWS Thu May 10 14:58:17 2007
@@ -8,6 +8,7 @@
- Fixed altering $this via argument named "this". (Dmitry)
- Fixed PHP CLI to use the php.ini from the binary location. (Hannes)
- Fixed bug #41347 (checkdnsrr() segfaults on empty hostname). (Scott)
+- Fixed bug #41337 (WSDL parsing doesn't ignore non soap bindings). (Dmitry)
- Fixed bug #41326 (Writing empty tags with Xmlwriter::WriteElement[ns])
(Pierre)
- Fixed bug #41321 (downgrade read errors in getimagesize() to E_NOTICE).
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/php_sdl.c?r1=1.88.2.12.2.7&r2=1.88.2.12.2.8&diff_format=u
Index: php-src/ext/soap/php_sdl.c
diff -u php-src/ext/soap/php_sdl.c:1.88.2.12.2.7
php-src/ext/soap/php_sdl.c:1.88.2.12.2.8
--- php-src/ext/soap/php_sdl.c:1.88.2.12.2.7 Fri Feb 23 20:40:55 2007
+++ php-src/ext/soap/php_sdl.c Thu May 10 14:58:17 2007
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_sdl.c,v 1.88.2.12.2.7 2007/02/23 20:40:55 stas Exp $ */
+/* $Id: php_sdl.c,v 1.88.2.12.2.8 2007/05/10 14:58:17 dmitry Exp $ */
#include "php_soap.h"
#include "ext/libxml/php_libxml.h"
@@ -654,6 +654,7 @@
for (i = 0; i < n; i++) {
xmlNodePtr *tmp, service;
xmlNodePtr trav, port;
+ int has_soap_port = 0;
zend_hash_get_current_data(&ctx.services, (void
**)&tmp);
service = *tmp;
@@ -716,8 +717,15 @@
trav2 = trav2->next;
}
if (!address) {
- soap_error0(E_ERROR, "Parsing WSDL: No
address associated with <port>");
+ if (has_soap_port || trav->next) {
+ efree(tmpbinding);
+ trav = trav->next;
+ continue;
+ } else {
+ soap_error0(E_ERROR, "Parsing
WSDL: No address associated with <port>");
+ }
}
+ has_soap_port = 1;
location = get_attribute(address->properties,
"location");
if (!location) {
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug41337.phpt?view=markup&rev=1.1
Index: php-src/ext/soap/tests/bugs/bug41337.phpt
+++ php-src/ext/soap/tests/bugs/bug41337.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/bugs/bug41337.wsdl?view=markup&rev=1.1
Index: php-src/ext/soap/tests/bugs/bug41337.wsdl
+++ php-src/ext/soap/tests/bugs/bug41337.wsdl
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php