#42773 [Csd]: WSDL error causes HTTP 500 Response

From: Date: Thu, 01 Nov 2007 14:12:35 +0000
Subject: #42773 [Csd]: WSDL error causes HTTP 500 Response
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-119209@lists.php.net to get a copy of this message
 ID:               42773
 Updated by:       dmitry@php.net
 Reported By:      tjerk dot meesters at muvee dot com
 Status:           Closed
 Bug Type:         SOAP related
 Operating System: Linux 2.6
 PHP Version:      5.2.4
 Assigned To:      dmitry
 New Comment:

Committed into PHP_5_2 too.


Previous Comments:
------------------------------------------------------------------------

[2007-11-01 12:27:04] dmitry@php.net

Fixed in CVS HEAD and PHP_5_3 (not in PHP_5_2).

------------------------------------------------------------------------

[2007-10-12 10:15:29] tjerk dot meesters at muvee dot com

The proposed solution in bug #42722 to make the status 500 depend on
whether display errors is enabled doesn't help my problem.

In my case, no errors should be displayed at all because this would
interfere with the otherwise clean output of json_encode().

------------------------------------------------------------------------

[2007-09-27 09:48:02] jani@php.net

See also bug #42722

------------------------------------------------------------------------

[2007-09-27 09:47:16] jani@php.net

Dmitry, this is propably related to the change with errors causing 500
error change you did.

------------------------------------------------------------------------

[2007-09-27 03:40:42] tjerk dot meesters at muvee dot com

Description:
------------
Failure to load a WSDL file using the SoapClient class causes more than
just an exception. The error is also caught by the error handler and a
500 status code is sent back.

This error is classified as a PHP Fatal error and can't be caught by
any custom error handlers.

This error shouldn't be triggered at all, that's what we have
exceptions for ;-)

Reproduce code:
---------------
<?php

try {
  $s = new SoapClient('http://localhost/invalid_wsdl');
} catch (Exception $e) {
  echo $e->getMessage();
}

?>


Expected result:
----------------
SOAP-ERROR: Parsing WSDL: Couldn't load from
'http://localhost/invalid_wsdl'

Actual result:
--------------
[HTTP/1.x 500 Internal Server Error]
PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from
'http://localhost/invalid_wsdl' in
/var/www/html/test.php on line 4
SOAP-ERROR: Parsing WSDL: Couldn't load from
'http://localhost/invalid_wsdl'


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=42773&edit=1


Thread (6 messages)

« previous php.bugs (#119209) next »