From: jdespatis at yahoo dot fr Operating system: Linux 2.6.18 Debian PHP version: 5.2.1 PHP Bug Type: SOAP related Bug description: Void Soap function can't return SegFault
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 bug report at http://bugs.php.net/?id=40649&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=40649&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=40649&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=40649&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=40649&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=40649&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=40649&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=40649&r=needscript Try newer version: http://bugs.php.net/fix.php?id=40649&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=40649&r=support Expected behavior: http://bugs.php.net/fix.php?id=40649&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=40649&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=40649&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=40649&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=40649&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=40649&r=dst IIS Stability: http://bugs.php.net/fix.php?id=40649&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=40649&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=40649&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=40649&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=40649&r=mysqlcfg