#31695 [Asn->Csd]: Cannot redefine endpoint when using WSDL
| From: | dmitry@php.net | Date: | Wed, 23 Mar 2005 07:14:27 +0000 |
| Subject: | #31695 [Asn->Csd]: Cannot redefine endpoint when using WSDL | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-75738@lists.php.net to get a copy of this message | ||
ID: 31695
Updated by: dmitry@php.net
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