Highlighted

Error handling in generated stubs

wabisabi2004

09-12-2008

Hello,



I've been playing around with Flex Builder 3 and WS and I am
puzzled by how one can handle generic SOAP error messages (i.e. not
the service faults, but connection errors, message parsing related
errors, etc.).



Here is what I try:



1 Generate service stubs out of an existing WSDL using Flex
Builder

2 Create a dead simple Flex app that makes a WS call via
stubs

3 Trying to call an unreliable WS, and I get Flash popup
with the stack trace:


quote:





TypeError: Error #1090: XML parser failure: element is
malformed.

at
mx.rpc.soap::SOAPDecoder/decodeResponse()[E:\dev\3.1.0\frameworks\projects\rpc\src\mx\rpc\soap\SOAPDecoder.as:234]

at com.ws::BaseLookupService/processResult()[C:\Documents
and Settings\ws\My Documents\Flex Builder
3\FlexClient\services\lookup\com\ws\BaseLookupService.as:237]

at
mx.rpc::AsyncResponder/result()[E:\dev\3.1.0\frameworks\projects\rpc\src\mx\rpc\AsyncResponder.as:84]

at
mx.rpc::AsyncRequest/acknowledge()[E:\dev\3.1.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:74]

at
DirectHTTPMessageResponder/completeHandler()[E:\dev\3.1.0\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:381]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at flash.net::URLLoader/onComplete()







It looks like neither registering fault handler nor adding
event listener to the AsyncToken catches this error.



Does anyone know if I should I be modifying the generated
stubs to catch this kind of errors or there is a more elegant
approach to fix this? Thanks.