2015-02-10 38 views
0

我试图检索与机会,这statecode不等于1试过QueryByAttribute,QueryExpression和RetrieveMultipleRequest,但仍没有解决方案的所有电话。
这里是一些代码,我写的。检索CRM 4个实体与自定义工作流活动的C#自定义字段

 IContextService contextService = (IContextService)executionContext.GetService(typeof(IContextService)); 
     IWorkflowContext context = contextService.Context; 
     ICrmService crmService = context.CreateCrmService(true); 
     if (crmService != null) 
     { 
      QueryByAttribute query = new Microsoft.Crm.Sdk.Query.QueryByAttribute(); 
      query.ColumnSet = new Microsoft.Crm.Sdk.Query.AllColumns(); 
      query.EntityName = EntityName.phonecall.ToString(); 
      query.Attributes = new string[] { "regardingobjectid" }; 
      query.Values = new string[] { context.PrimaryEntityId.ToString() }; 
      RetrieveMultipleRequest retrieve = new RetrieveMultipleRequest(); 
      retrieve.Query = query; 
      retrieve.ReturnDynamicEntities = true; 
      RetrieveMultipleResponse retrieved = (RetrieveMultipleResponse)crmService.Execute(retrieve); 
     } 
     return ActivityExecutionStatus.Closed; 
    } 

而对于QueryExpression

QueryExpression phCallsQuery = new QueryExpression(); 
ColumnSet cols = new ColumnSet(new string[] { "activityid", "regardingobjectid" }); 
phCallsQuery.EntityName = EntityName.phonecall.ToString(); 
phCallsQuery.ColumnSet = cols; 
phCallsQuery.Criteria = new FilterExpression(); 
phCallsQuery.Criteria.FilterOperator = LogicalOperator.And; 
phCallsQuery.Criteria.AddCondition("statuscode", ConditionOperator.NotEqual, "1"); 
phCallsQuery.Criteria.AddCondition("regardingobjectid", ConditionOperator.Equal, context.PrimaryEntityId.ToString(); 

几乎相同,我总是得到这样的SOAP异常或“服务器无法继续请求”调试时。

回答

0

为了得到异常的详细尝试使用下面的代码:

RetrieveMultipleResponse检索= NULL;

try 
{ 
    retrieved = (RetrieveMultipleResponse)crmService.Execute(retrieve); 
} 
catch(SoapException se) 
{ 
    throw new Exception(se.Detail.InnerXml); 
} 
相关问题