ID: 40649
Updated by: [EMAIL PROTECTED]
Reported By: jdespatis at yahoo dot fr
-Status: Assigned
+Status: Bogus
Bug Type: SOAP related
Operating System: Linux 2.6.18 Debian
PHP Version: 5.2.1
Assigned To: dmitry
New Comment:
This is not a bug. SOAP client must not wait for response from one-way
operation. BTW ext/soap has an option to change this behavior.
The following code works as you expected.
<?php
ini_set('soap.wsdl_cache_enabled', false);
$client = new SoapClient(dirname(__FILE__).'/bug40649.wsdl',array(
"trace" => 1,
"exceptions" => 0,
"features" => SOAP_WAIT_ONE_WAY_CALLS
));
$ret = $client->setSerial("pif", "puf");
print "<pre>\n";
print "Request :\n".$client->__getLastRequest() ."\n";
print "Response:\n".$client->__getLastResponse()."\n";
print "</pre>";
?>
Previous Comments:
------------------------------------------------------------------------
[2007-02-26 19:49:26] jdespatis at yahoo dot fr
Exactly the same problem with the last last php snapshot you provide.
But this bug is quite old, i've detected in php 5.1.3 and upper
(i sticked to php5.1.2 to avoid this bug, but now i need to use php5.2)
------------------------------------------------------------------------
[2007-02-26 19:24:39] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
------------------------------------------------------------------------
[2007-02-26 19:19:25] jdespatis at yahoo dot fr
Description:
------------
I have a client and server soap which worked with php 5.1.2, but
whenever i upgrade to php > 5.1.2, this code doesn't work anymore.
It's a simple client and server soap.
After debugging, the problem comes from the fact that if no <message
name="funcResponse"> is provided to a function to explain the output,
then this function always sends null
Even if the function throws an exception
It seems that php <= 5.1.2 was adding a default output function so that
exceptions could be throwed
Reproduce code:
---------------
When using the simple client :
http://www.despatis.com/client.phps
with the simple soap server:
http://www.despatis.com/soap_server.phps
and with the wsdl:
http://www.despatis.com/Webservices.wsdl
(to make the code work, the good wsdl to use
is:http://www.despatis.com/Webservices2.wsdl, however this code should
work with a minimal Webservices.wsdl, that doesn't provide information
on output function as the function is a void function !)
Expected result:
----------------
client.php should print:
Request :
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:xmethods" 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:setSerial><serial
xsi:type="xsd:string">pif</serial><version
xsi:type="xsd:string">puf</version></ns1:setSerial></SOAP-ENV:Body></SOAP-ENV:Envelope>
Response:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Exception
throwed</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
Actual result:
--------------
Actual result is:
Request :
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:xmethods" 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:setSerial><serial
xsi:type="xsd:string">pif</serial><version
xsi:type="xsd:string">puf</version></ns1:setSerial></SOAP-ENV:Body></SOAP-ENV:Envelope>
Response:
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=40649&edit=1