From: Operating system: Linux (Debian/Ubuntu) PHP version: 5.3.2 Package: SOAP related Bug Type: Bug Bug description:SOAPClient makes calls, throws weird Exception anyway
Description: ------------ I'm trying to get a SOAPClient call to work which HAS worked (about half a year ago), but which now throws weird Exceptions, even though the call is made. Unzip http://jayvee.nl/soaptest.zip and open soaptest.php. (Note that the WSDL specifies a URL for the service which is on our development environment. You can use this URL if you want.) The script tries to call the same operation four times. The different scenarios are: a) WSDL specifies output, SOAPClient uses SOAP_WAIT_ONE_WAY_CALLS feature b) WSDL specifies output, SOAPClient does NOT use SOAP_WAIT_ONE_WAY_CALLS feature c) WSDL specifies NO output, SOAPClient uses SOAP_WAIT_ONE_WAY_CALLS feature d) WSDL specifies NO output, SOAPClient does NOT use SOAP_WAIT_ONE_WAY_CALLS feature In each case, a call IS MADE. However, in cases a-c, I get an Exception: "SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'implementations/nsure/interface/WizBizzInterface.wsdl' : failed to load external entity "implementations/nsure/interface/WizBizzInterface.wsdl" I have no idea where this path comes from. I _have_ used this in the past, but the test case does not use it. It seems this fault description has gotten stuck somewhere. I have disabled APC, checked for cached WSDLs in /tmp and rebooted the (virtual) machine, to no avail. Case d returns NULL, which is correct (WSDL operation specifies NO output). Note that although the SOAPClient uses the same WSDL as in case c, now it is not complaining about an unfindable path. I have tested this on PHP 5.2.13 (Ubuntu) and 5.3.2 (Debian), both using Suhosin patch, on Apache 2.2.x. -- I really hope this gets fixed soon, because I need to take this into production in a month or two. However, since three other SOAP bug reports (49155, 49169, 49278) haven't been addressed for almost a year, I'm left wondering whether I should have spent time creating a fourth bug report instead of looking for an alternative (nuSOAP or something). Test script: --------------- Download http://jayvee.nl/soaptest.zip and run the php script. Expected result: ---------------- Web service return parameter Actual result: -------------- SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'implementations/nsure/interface/WizBizzInterface.wsdl' : failed to load external entity "implementations/nsure/interface/WizBizzInterface.wsdl -- Edit bug report at http://bugs.php.net/bug.php?id=52081&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=52081&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=52081&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=52081&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=52081&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=52081&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=52081&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=52081&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=52081&r=needscript Try newer version: http://bugs.php.net/fix.php?id=52081&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=52081&r=support Expected behavior: http://bugs.php.net/fix.php?id=52081&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=52081&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=52081&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=52081&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=52081&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=52081&r=dst IIS Stability: http://bugs.php.net/fix.php?id=52081&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=52081&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=52081&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=52081&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=52081&r=mysqlcfg