我最近开始针对 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
这没什么可搭配的。
到目前为止,我凭直觉消除了一些属性并再次测试它,然后尝试猜测该属性的值可能有什么问题。 有没有其他方法可以获取导致错误的更详细信息,以便我可以更快地查明真正的罪魁祸首。
最佳答案
您需要使用 catch
block 来捕获 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 服务器上启用跟踪并查看日志文件。
关于dynamics-crm-4 - 当您从 MS-CRM 4.0 收到通用 SoapException : Server was unable to process request. 时,如何缩小实际问题的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340591/