From: jgillis at optaros dot com
Operating system: debian 3.1/Linux 2.6.16.5
PHP version: 5.1.3
PHP Bug Type: SOAP related
Bug description: SOAP not respecting uri in __soapCall
Description:
------------
I am trying to connect PHP to Bricolage (a CMS) using SOAP.
Bricolage doesn't seem to have a WSDL, but they do have a
SOAP interface.
In order to make a request, I must first authenticate them
make my request. This requires changing namespaces.
Unfortunately, using a uri parameter when calling
__soapCall doesn't seem to change the namespace, as I would
expect.
The code I've included is simplified to show just the
error, so you don't see me using the default namespace.
Reproduce code:
---------------
$opts = Array("location" => "http://localhost:8080/soap", "uri" =>
"http://bricolage.sourceforge.net/Bric/SOAP/Auth", "trace" => 1);
$client = new SoapClient(null, $options);
$newNS = "http://bricolage.sourceforge.net/Bric/SOAP/Story";
try {
$ret = $this->__soapCall("list_ids",Array(),Array("uri" => $newNS));
} catch (Exception $e) {
print $client->__getLastRequest();
}
Expected result:
----------------
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://bricolage.sourceforge.net/Bric/SOAP/Story"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:list_ids/></SOAP-ENV:Body></SOAP-ENV:Envelope>
Actual result:
--------------
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://bricolage.sourceforge.net/Bric/SOAP/Auth"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:list_ids/></SOAP-ENV:Body></SOAP-ENV:Envelope>
--
Edit bug report at http://bugs.php.net/?id=37278&edit=1
--
Try a CVS snapshot (PHP 4.4):
http://bugs.php.net/fix.php?id=37278&r=trysnapshot44
Try a CVS snapshot (PHP 5.1):
http://bugs.php.net/fix.php?id=37278&r=trysnapshot51
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=37278&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=37278&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=37278&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=37278&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=37278&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=37278&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=37278&r=support
Expected behavior: http://bugs.php.net/fix.php?id=37278&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=37278&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=37278&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=37278&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=37278&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=37278&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=37278&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=37278&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=37278&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=37278&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=37278&r=mysqlcfg