|
Posted by Marcus Bointon on 10/12/05 19:24
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.
I can't use an absolute path as it's deployed in multiple
configurations on multiple servers, and config is bad enough already.
Now before I report this as a bug/feature request, does anyone have
any better ideas?
Marcus
--
Marcus Bointon
Synchromedia Limited: Putting you in the picture
marcus@synchromedia.co.uk | http://www.synchromedia.co.uk
[Back to original message]
|