Accessibility

TechNote

PendingCall.onFault cannot capture SOAP:FAULT responses

Issue


The Flash PendingCall.onFault class cannot correctly respond to SOAPfault object responses. Macromedia Flash may throw an error noting that the endpoint was unreachable.

Reason


The SOAP 1.1 specification states that all SOAPfault messages must reurn an HTTP 500 header when throwing an exception, explaining that the endpoint was unreachable for whatever reason.

However, when the PendingCall.onFault receives the faultcode, is unable to correctly parse the status code 500.

By design, if Flash Player gets a status code of anything other than 200 (OK) it disregards the contents of the response. So when the PendingCall.onFault faultcode is 500 Flash Player does not know what to do.

Ref. (129135)

Solution


One possible solution is to modify the service engine so that if SOAP:FAULT presented in SOAP:Envelope throws an error, it returns a value of 200. This will allow Flash Player to let the messages through and the PendingCall.fault should function as expected. However, this can introduce problems if your webservice is consumed by solutions -other- than Flash, so test carefully.

Another possible solution is to switch to Flash Remoting. Flash Remoting has more sophisticated SOAPfault handling built into its APIs.

AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of the Adobe Flash Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

Search Support


Document Details

ID:3c6784bc

Products Affected:

flash