This is currently a limitation in the Flash Player ( all versions ).  SOAP faults require HTTP 500 to returned. When the FP sees a 500, it stops reading data from the socket.  The current workaround is to use the proxy or to use some other mechanism to change the HTTP status code to 200 before the FP receives it. Yes I realize that this is pretty poor and has serious limitations.
 
One last note, Adobe is evidently working on something akin to the proxy that does this for you on your server. Clearly, this won't help you when accessing web services one machines over which you have no control.
 

Carson
 
 


From: flexcoders@yahoogroups.com on behalf of m88e24
Sent: Tue 6/20/2006 3:58 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Access SOAP fault code

Scenario:

Flash players talks directly to a SOAP web service, no proxy is used.
The proxy attribute of the WebService element is set to "false". A
specific web service operation generates an application level user
exception and the faultcode and faultstring is returned in the SOAP
body. The FaultEvent object received by the fault handler function
does not contain the faultcode and the faultstring from the SOAP
message. The faultDetail in the FaultEvent object is of type "ioError"
and the error text is "Error #2032: Stream error …….." . Whilst the
actual SOAP faultcode is "soapenv:Server.userException" and the SOAP
faultstring is "coldfusion.xml.rpc.CFCInvocationException:
[coldfusion.runtime.UndefinedElementException : Element SPELER.ID is
undefined in SESSION."

This is custom exception thrown by a remote function in a ColdFusion
CFC. This is not an ioError.

A TCPmonitor shows the correct message request and response with the
faultstring and faultcode as expected.

How can the actual SOAP faultcode and faultstring be retrieved from
the FaultEvent or in any other way. Why is the fault description in
the FaultEvent object totally different from the actual SOAP fault
message. It is not a transport error so why does the FaultEvent shows
an ioError. It is an application level exception and as such returned
to the Flash application encapsulated in the SOAP body.

Any suggestions, thank you

__._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





SPONSORED LINKS
Web site design development Computer software development Software design and development
Macromedia flex Software development best practice


YAHOO! GROUPS LINKS




__,_._,___

Reply via email to