2011-05-10 191 views
1

我有一個基於JAVA的SOAP Web服務,我正在使用WP7(Silverlight客戶端)。我能夠調用它並檢索迴應,但不能找到任何方式來處理服務器端SOAP異常產生的場景,如Web服務離線,服務器關閉等WP7 - 處理基於異步JAVA的SOAP服務異常處理

我已經把嘗試Catch塊,但似乎他們從來沒有達到...異常出去References.cs文件(當Service被添加引用時自動生成的代理類文件)。在此應用程序崩潰後,我知道所有UI級別的異常最終都會在應用程序級別捕獲,如果在UI級別未處理。但是在這種情況下,我無法找出解決這個問題的出路。

任何幫助將是很大的幫助......下面是簡單的代碼...

try 
{ 
DownloadPartsService.DownloadNewClient downloadData = new DownloadNewClient(); 
      downloadData.downLoadDataCompleted += new EventHandler<downLoadDataCompletedEventArgs>(AsyncCallback); 
      downloadData.downLoadDataAsync("FULL"); 
} 
catch (exception) 
{ 
    throw myException // this block is never reached even if exception occurs.. 
} 

回答

0

通常建議不使用Web客戶端,但由於的WebRequest黨的WebClient的UIThread運行。您應該能夠在EndGetResponse級別捕獲任何異常。

+0

對不起,我忘記提及..我用SOAP作爲交換模式使用JSON ..你可以請。詳細說明你的意思.. – SillyCode 2011-05-10 12:32:56

+0

'DownloadNewClient'將是一個自動生成的服務客戶端,而不是'WebClient'。另外我不確定WebClient不應該被普遍使用。對於IMO的許多操作來說,這是可取的只有在收到響應後才能執行重要的非UI處理時__OR__如果您有更復雜的WebClient不支持的情況,那麼您將下降到WebRequest級別。 – AnthonyWJones 2011-05-10 12:49:23