#34854 [Opn->Fbk]: Extend SOAPClient WSDL param to take literal string or local path
| From: | tony2001@php.net | Date: | Thu, 13 Oct 2005 11:03:29 +0000 |
| Subject: | #34854 [Opn->Fbk]: Extend SOAPClient WSDL param to take literal string or local path | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-86519@lists.php.net to get a copy of this message | ||
ID: 34854
Updated by: tony2001@php.net
Reported By: marcus at synchromedia dot co dot uk
-Status: Open
+Status: Feedback
Bug Type: Feature/Change Request
Operating System: *
PHP Version: 5CVS-2005-10-13 (snap)
New Comment:
>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.
Why not to use absolute path then?
Previous Comments:
------------------------------------------------------------------------
[2005-10-13 12:58:10] marcus at synchromedia dot co dot uk
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 this bug report at http://bugs.php.net/?id=34854&edit=1