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

 ID:                 43507
 Comment by:         wpoi at ya dot ru
 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:

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.


Previous Comments:
------------------------------------------------------------------------
[2008-02-15 06:53:21] [email protected]

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] [email protected]

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/bug.php?id=43507&edit=1

Reply via email to