Ticket #199 (closed defect: fixed)
Enhance SOAP Implementation
| Reported by: | rist | Owned by: | rist |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Web-Services | Version: | SVN-trunk |
| Keywords: | Cc: |
Description
Currently the endpoint parameter of the constructor method of the class stubSoapClientConfiguration is used as SOAP-Service-URL (stubNativeSoapClient - line 104) xor WSDL-URL (stubNativeSoapClient - line 101-102). This becomes problematic when the service endpoint in the WSDL-File isn't reliable (it could e.g. contain the 'localhost' keyword) cause it will be used as default from the native PHP SOAP Client.
There are two possible fixes for that I can think of at the moment:
1) Line 102 should be preceded with (to cut of '?wsdl'): $options['location'] = substr($endPoint->get(true), 0, -5);
2) There has to be a method of the stubSoapClientConfiguration to set the Endpoint location seperately (via using the native PHP function SoapClient::__setLocation http://de.php.net/manual/de/soapclient.setlocation.php).
Method two is definitely more generic and isn't based on the assumption, that WSDL-File and SOAP-Service share the same URL (though this is a commonly used pattern).
