#43507 [Asn->Csd]: SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status
| From: | dmitry@php.net | Date: | Fri, 15 Feb 2008 06:53:33 +0000 |
| Subject: | #43507 [Asn->Csd]: SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-122302@lists.php.net to get a copy of this message | ||
ID: 43507
Updated by: dmitry@php.net
Reported By: ianils at gmail dot com
-Status: Assigned
+Status: Closed
Bug Type: SOAP related
PHP Version: 5.2.5
Assigned To: dmitry
Previous Comments:
------------------------------------------------------------------------
[2008-02-15 06:53:21] dmitry@php.net
It makes no sense to setup status code manually (for all clients),
because HTTP 500 is legal response.
I've committed the fix based on User-Agent header.
------------------------------------------------------------------------
[2008-02-15 05:49:55] ianils at gmail dot com
The user agent is the same for Flex and AIR ie. "Shockwave Flash"
However it is possible to change the userAgent from with in side
the Flash/Flex/Air app .
Is it possible to set the status via the SOAP call itself ?
eg:
SoapServer->setFaultStatusCode($status=500)
perhaps ??
------------------------------------------------------------------------
[2008-02-14 16:30:34] dmitry@php.net
I am able to disable HTTP 500 status code for some user agents, but I
don't know the exactly user agent strings.
Flash - "Shockwave Flash"
Flex - ?
AIR - ?
------------------------------------------------------------------------
[2007-12-05 19:05:11] ianils at gmail dot com
Description:
------------
When using php web services with Adobe Flex/Flash/AIR , error handling
is a major pain.
If I have a simple web service that throws a SOAPFault , the http
status code that is returned with the message is 500 . This is a
problem because the Flash Player ignores any message that has a status
code > 200. ( Which is understandable , status code 500 could mean the
server is really in trouble ) .
I would very much like to be able to set the 'status code' that is
returned when a SOAP Fault is thrown .
The flash player is clever enough to recognize a SOAP Error and
therefore able to run the correct code from with the flash app , however
this is only possible when it gets a HTTP Status code that is not >
200.
Reproduce code:
---------------
This is a feature request to be able to set the HTTP Error code that is
returned from a SOAP Fault .
Its not necessarily a bug with a PHP , other languages offer similar
workarounds.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43507&edit=1