Bug #43507 [Com]: SOAPFault HTTP Status 500 - would like to be able to set the HTTP Status
| From: | hasanmuhdlor at yahoo dot com | Date: | Sat, 13 Feb 2016 05:39:13 +0000 |
| Subject: | Bug #43507 [Com]: 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-199183@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=43507&edit=1
ID: 43507
Comment by: hasanmuhdlor at yahoo dot com
Reported by: ianils at gmail dot com
Summary: SOAPFault HTTP Status 500 - would like to be able to
set the HTTP Status
Status: Closed
Type: Bug
Package: SOAP related
PHP Version: 5.2.5
Assigned To: dmitry
Block user comment: N
Private report: N
New Comment:
https://free.facebook.com/hasan.muhdlor?v=feed&_rdr
Previous Comments:
------------------------------------------------------------------------
[2010-12-15 15:11:27] wpoi at ya dot ru
Problem do still exist. While PHP sends 200 HTTP code for SOAP Fault with User-agent = Shockwave
Flash, Flash objects integrated into HTML page sends it's requests with User-agent = browser
and NOT Shockwave Flash.
Thus Flash object still receive 500 Error.
------------------------------------------------------------------------
[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 https://bugs.php.net/bug.php?id=43507&edit=1