【问题标题】:MS CRM 4.0 Remove inactive account from another listMS CRM 4.0 从另一个列表中删除非活动帐户
【发布时间】:2010-12-07 15:20:05
【问题描述】:

我有以下问题,我似乎无法找到答案... 我有一个 CRM 4.0 系统,我想实现以下目标:
当我有一个不活跃的联系人/帐户将其从另一个列表(例如营销列表)中删除时。

所以我已经拥有了一切,直到删除部分。我有一个包含非活动帐户/联系人(ID(GUID))的集合,我只需要以某种方式从列表中删除该成员。所以有一个类 RemoveMemberListRequest 看起来是正确的,唯一的问题是,我无法让它工作。

 foreach (Guid currentMember in inactiveMembers)
            {
                RemoveMemberListRequest req = new RemoveMemberListRequest();
                req.ListId = context.PrimaryEntityId;
                req.EntityId = currentMember ;
                RemoveMemberListResponse rmlResp = (RemoveMemberListResponse)crmService.Execute(req);
            }

当它尝试执行时,请求失败,并出现非常一般的错误,即无法执行请求。我也不确定这是否是正确的做法......

还有另一个类似乎有一个可能有用的属性: QualifyMemberListRequest

有属性:OverrideorRemove 但我不太明白这个是如何工作的,也找不到足够的信息。

有人吗?

【问题讨论】:

    标签: c# dynamics-crm dynamics-crm-4


    【解决方案1】:

    RemoveMemberListRequest 是正确的请求。

    CRM 网络服务请求引发的几乎所有异常实际上都是 SoapException 类型,在这种情况下,它们会总是Message 属性中显示“服务器无法处理请求”,这当然不是很有帮助。

    要了解有关错误的更多信息,您必须将异常视为 SoapException 并查看 Detail.InnerText 属性,在大多数情况下,该属性会提供有关错误原因的有用信息:

    try
    {
        foreach (Guid currentMember in inactiveMembers)
        {
            RemoveMemberListRequest req = new RemoveMemberListRequest();
            req.ListId = context.PrimaryEntityId;
            req.EntityId = currentMember ;
            RemoveMemberListResponse rmlResp = (RemoveMemberListResponse)crmService.Execute(req);
        }
    }
    catch (SoapException ex)
    {
        string sExceptionDetail = ex.Detail.InnerText;
    
        // write sExceptionDetail somewhere you can look at it
    }
    catch (Exception ex)
    {
        // do your normal error handling here
    }
    

    我猜你要么在某个地方找到了一些“错误”的 ID,要么是角色/权限问题。

    【讨论】:

    • 看来你是对的(再一次......)我试图传递的 ID 有问题......
    • 已修复...确实如此...感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多