2012-04-26 45 views
2

我最近開始針對CRM 4.0進行編程,並使用CrmService發佈這些請求。通常我在發送請求時使用的動態實體的某些屬性中出現錯誤的值。當然,請求失敗,我會攔截異常並記錄下來。問題是,這是我得到:當您收到通用SoapException時,如何縮小實際問題的範圍:服務器無法處理請求。來自MS-CRM 4.0

System.Web.Services.Protocols.SoapException: Server was unable to process request. 
    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) 
    at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) 
    at Microsoft.Crm.SdkTypeProxy.CrmService.Execute(Request Request) 
    at MyEntity.Employee.ExecuteCreateRequest(CrmService service, DynamicEntity entity) in c:\Workspaces\One\...\Employee.vb:line 351\nSystem.Xml.XmlElement 

這是不是很多的東西。

到現在爲止,我通過hunch消除了一些屬性並再次測試,然後嘗試猜測屬性值可能有什麼問題。 有沒有另外一種方法可以獲得更多關於錯誤原因的更詳細信息,以便更快地找到真正的罪魁禍首。

回答

2

您需要您的catch塊才能捕獲SoapException,然後您可以根據需要繪製Detail或Message屬性。該Details屬性有可能包含你正在尋找...

... 
catch(SoapExcetion soapEx){ 
    console.writeLine("SoapException: " + soapEx.Detail); 
// console.writeLine("SoapException: " + soapEx.Message); 
} 
catch(Exception ex){ 
    console.writeLine("Exception: " + ex.Detail); 
} 

的提示你也可以考慮啓用跟蹤CRM服務器上,並在日誌文件中找了。

相關問題