2

最近、CRM 4.0に対してプログラミングを開始し、CrmServiceを使用してこれらの要求を発行しています。リクエストを送信するときに使用している動的エンティティの一部のプロパティで、間違った値を取得することがよくあります。もちろん、リクエストは失敗し、例外をインターセプトしてログに記録します。問題は、これが私が得るものであるということです:

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

これはあまり関係ありません。

これまで、私はいくつかのプロパティを勘違いして削除し、もう一度テストしてから、プロパティの値のどこが間違っているのかを推測しようとしました。エラーの原因に関するより詳細な情報を取得して、実際の原因をより迅速に特定できるようにする別の方法はありますか。

4

1 に答える 1

2

catchブロックをキャッチする必要があります。SoapExceptionその後、必要に応じて詳細プロパティまたはメッセージプロパティを表示できます。Detailsプロパティには、探しているヒントが含まれている可能性があります...

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

CRMサーバーでトレースを有効にし、ログファイルも確認することも検討してください。

于 2012-05-17T11:41:35.687 に答える