ID: 31695 Updated by: [EMAIL PROTECTED] Reported By: adam at trachtenberg dot com -Status: Assigned +Status: Closed Bug Type: Feature/Change Request Operating System: n/a PHP Version: 5.0.3 Assigned To: dmitry New Comment:
Fixed in CVS HEAD and PHP_5_0. It is possible to redefine endpoint through: 1. "location" option in SoapClient constructor 2. "location" option in SoapClient::__soapCall() method 3. SoapClient::__setLocation() method Previous Comments: ------------------------------------------------------------------------ [2005-01-25 23:16:07] adam at trachtenberg dot com Description: ------------ The SOAP extension does not allow you to both use a WSDL file and specify a custom endpoint. Some SOAP servers, including eBay, set a generic endpoint in their WSDL, and require the developer to override it with custom data. By endpoint, I mean the location field as described here: http://www.w3.org/TR/wsdl#_soap:address Reproduce code: --------------- $client = new SoapClient('some.wsdl', array('location' => 'http://localhost/soap.php')); It is also necessary to have a setLocation() method, because it's common to need to modify the endpoint/location from request to request. Without this, the developer would need to create a second instance of SoapClient with the same WSDL. $client->__setLocation('http://localhost/soap2.php'); Expected result: ---------------- The location from the WSDL is set to http://localhost/soap.php instead of what's in the file. Actual result: -------------- The location parameter is ignored. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31695&edit=1