Hi,

Sorry for cross posting, but I think this is the more appropriate list. Let
me know if it is not.

So basically something is silently catching php_error() calls with a
severity below E_ERROR in the function load_wsdl in ext/soap/php_sdl..c.
I've verified that warning and notices are not being repressed at runtime by
php.ini through calls to trigger_error(). I've attempted to use the
preprocessor macro EG(error_reporting) to unhide it, but to be honest I was
just taking a wild guess there.

I managed to get visual studio 2008 configured to launch php and stop at
breakpoints in the code. However, if someone could give me some insight into
what in the php code could repress calls to php_error() below the E_ERROR
severity it would be helpful.

Regards,

Justin Dearing

---------- Forwarded message ----------
From: Justin Dearing <zippy1...@gmail.com>
Date: Sun, Jan 17, 2010 at 11:03 AM
Subject: Adding warnings and notices to load_wsdl()
To: soap <s...@lists.php.net>


I have begun hacking at the 5.3 branch of the code in an attempt to create a
patch for 50698. I'd like to employ the "debug by printf()" method of
development. However, it seems that all the warning/notices I generate
inside the load_wsdl() function do not get displayed. I know its not a
config error because a call to trigger_error() will display a notice.

So how do I either get php notices/warning to display inside of that
function, or get debug into via some other method?

Example of how I am trying to add debug info:

Index: php_sdl.c
===================================================================
--- php_sdl.c    (revision 293642)
+++ php_sdl.c    (working copy)
@@ -699,6 +699,9 @@
     sdlCtx ctx;
     int i,n;

+    /* Debug information */
+    soap_error1(E_NOTICE, "PHP-SOAP Using uri of '%s'", struri);
+
     memset(&ctx,0,sizeof(ctx));
     ctx.sdl = emalloc(sizeof(sdl));
     memset(ctx.sdl, 0, sizeof(sdl));
@@ -834,9 +837,9 @@
                             } else {
                                 soap_error1(E_ERROR, "Parsing WSDL:
PHP-SOAP doesn't support transport '%s'", tmp->children->content);
                             }
+                            tmpbinding->bindingAttributes = (void
*)soapBinding;
                         }
                     }
-                    tmpbinding->bindingAttributes = (void *)soapBinding;
                 }

                 name = get_attribute(binding->properties, "name");

Reply via email to