From: steckovic at aarongroup dot cz
Operating system: FEDORA
PHP version: 5.0.4
PHP Bug Type: SOAP related
Bug description: Sending structured exception kills a php
Description:
------------
Hello,
I have problem with returing structured exception.
I wrote simple echoString service in Java (Axis) with following
functionality:
if argument is not equal to string "exception" same value
is returned. If argument is equal to "exception" exception is thrown.
Exception has two data fields integer and string.
If client is java program everything is working. If client is PHP
code and argument is "exception", php (last snapshot) goes down
by signal segv, for other arguments it is working.
See following files:
service/* - service implementation in Java
client.php - client implementation in PHP
request.xml - soap request
response.xml - response which sends PHP down by sig segv
If it is user error, I apologize to you.
Thank you
Petr Steckovic
<?php
define('WSDL_LOCATION',
'http://212.24.157.117:8080/axis/services/echo?wsdl');
if(!extension_loaded('soap')) dl('soap.so');
$client =& new SoapClient(WSDL_LOCATION, array("trace" => 1, 'exceptions'
=> 0));
$ahoj = $client->echoString('exception');
echo "Echo".$ahoj."\n";
var_dump($ahoj);
?>
Reproduce code:
---------------
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<m:echoString xmlns:m="urn:service.EchoService"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<e xsi:type="xsd:string">exception</e>
</m:echoString>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
---- Response ----
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>service.EchoServiceException</faultstring>
<detail>
<service.EchoServiceException
xsi:type="ns1:EchoServiceException"
xmlns:ns1="urn:service.EchoService">
<intParameter
xsi:type="xsd:int">105</intParameter>
<parameter xsi:type="soapenc:string"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">string
param</parameter>
</service.EchoServiceException>
<ns2:hostname
xmlns:ns2="http://xml.apache.org/axis/">steckovic</ns2:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Expected result:
----------------
Correctly working with response. No SIGSEGV.
--
Edit bug report at http://bugs.php.net/?id=32941&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=32941&r=trysnapshot4
Try a CVS snapshot (php5.0):
http://bugs.php.net/fix.php?id=32941&r=trysnapshot50
Try a CVS snapshot (php5.1):
http://bugs.php.net/fix.php?id=32941&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=32941&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=32941&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=32941&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=32941&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=32941&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=32941&r=support
Expected behavior: http://bugs.php.net/fix.php?id=32941&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=32941&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=32941&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=32941&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=32941&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=32941&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=32941&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=32941&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=32941&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=32941&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=32941&r=mysqlcfg