1 Reply Latest reply on Jan 30, 2008 2:11 PM by TOdd_23523523

    What's your strategy for WebService errors that aren't raised through fault handler?

    TOdd_23523523
      Is there a way to underride the default functionality of WebService.as? I can't find the source code in the SDK, so I'm assuming this part of Flex isn't Open Source.

      I find that using WebServices that there are a lot of errors that potentially occur that I can't capture in the UI. Or, let me rephrase that, that I haven't been able to figure out how to capture in the UI.

      For example, the following "Could not load WSDL" error occurs. Now, I could probably devise a strategy around checking that the connection is alive and such, but then I've seen other errors that occur in the WebService base classes that are all fired asyncronously.

      Is there a way to add a default handler that capures these types of errors? (They're not captures by FaultHandlers).

      I can't have a UI that displays the big white box to end users with a stack trace. Thanks.

      [RPC Fault faultString="Could not load WSDL" faultCode="Server.NoServicesInWSDL" faultDetail="No <wsdl:service> elements found in WSDL at ."]
      at mx.rpc.wsdl::WSDL/getService()[E:\dev\flex_3_beta3\sdk\frameworks\projects\rpc\src\mx\rpc \wsdl\WSDL.as:256]
      at mx.rpc.wsdl::WSDL/getPort()[E:\dev\flex_3_beta3\sdk\frameworks\projects\rpc\src\mx\rpc\ws dl\WSDL.as:182]
      at mx.rpc.soap::WebService/ http://www.adobe.com/2006/flex/mx/internal::wsdlHandler()[E:\dev\flex_3_beta3\sdk\framewor ks\projects\rpc\src\mx\rpc\soap\WebService.as:267
      at flash.events::EventDispatcher/dispatchEventFunction()
      at flash.events::EventDispatcher/dispatchEvent()
      at mx.rpc.wsdl::WSDLLoader/checkLoadsOutstanding()[E:\dev\flex_3_beta3\sdk\frameworks\projec ts\rpc\src\mx\rpc\wsdl\WSDLLoader.as:195]
      at mx.rpc.wsdl::WSDLLoader/resultHandler()[E:\dev\flex_3_beta3\sdk\frameworks\projects\rpc\s rc\mx\rpc\wsdl\WSDLLoader.as:173]
      at flash.events::EventDispatcher/dispatchEventFunction()
      at flash.events::EventDispatcher/dispatchEvent()
      at mx.rpc::AbstractInvoker/ http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E:\dev\flex_3_beta3\sdk\fra meworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:175
      at mx.rpc::AbstractInvoker/ http://www.adobe.com/2006/flex/mx/internal::resultHandler()[E:\dev\flex_3_beta3\sdk\framew orks\projects\rpc\src\mx\rpc\AbstractInvoker.as:198
      at mx.rpc::Responder/result()[E:\dev\flex_3_beta3\sdk\frameworks\projects\rpc\src\mx\rpc\Res ponder.as:48]
      at mx.rpc::AsyncRequest/acknowledge()[E:\dev\flex_3_beta3\sdk\frameworks\projects\rpc\src\mx \rpc\AsyncRequest.as:81]
      at DirectHTTPMessageResponder/completeHandler()[E:\dev\flex_3_beta3\sdk\frameworks\projects\ rpc\src\mx\messaging\channels\DirectHTTPChannel.as:387]
      at flash.events::EventDispatcher/dispatchEventFunction()
      at flash.events::EventDispatcher/dispatchEvent()
      at flash.net::URLLoader/onComplete()