From: marcus at synchromedia dot co dot uk Operating system: * PHP version: 5CVS-2005-10-13 (snap) PHP Bug Type: Feature/Change Request Bug description: Extend SOAPClient WSDL param to take literal string or local path
Description: ------------ This is a minor thing that's been troubling me, making it difficult to deploy a salesforce.com SOAP client across multiple projects. Salesforce is a particular interest because its WSDL files are not available directly online - you have to download and save local copies manually. When constructing a SOAPClient object, the WSDL parameter provided is treated like a URL (because it will usually BE a URL). For 'local' URLs, it searches the current directory, including any relative path that it uses. However, because it is fundamentally a URL and not a file request like an include, it does not search the include path. The net result of this is that I'm having to copy my WSDL files into every place that my class library is called from because the URL resolution will only ever look in the calling directory and not in the include path that allowed it to find my classes. An alternative would be to allow providing the WSDL as a literal string, probably read using file_get_contents() which does support using the include path. A worse solution is to provide the WSDL contents as the response to a separate HTTP call (i.e. act like the WSDL is online after all). This would work, but it's way less efficient. It's also hard to configure across multiple installations. I can't use an absolute path as it's deployed in multiple configurations on multiple servers, and config is bad enough already. So, please can you either extend the WSDL parameter to accept a literal string or a local path that's not handled as a URL. -- Edit bug report at http://bugs.php.net/?id=34854&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=34854&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=34854&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=34854&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=34854&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=34854&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=34854&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=34854&r=needscript Try newer version: http://bugs.php.net/fix.php?id=34854&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=34854&r=support Expected behavior: http://bugs.php.net/fix.php?id=34854&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=34854&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=34854&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=34854&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=34854&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=34854&r=dst IIS Stability: http://bugs.php.net/fix.php?id=34854&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=34854&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=34854&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=34854&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=34854&r=mysqlcfg