2010-12-07 26 views
1

我有以下問題,我似乎無法找到答案... 我有一個CRM 4.0系統,我想要實現以下功能:
我有一個聯繫人/帳戶處於非活動狀態,可將其從另一個列表中刪除,例如Marketing列表。MS 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 但我不我真的不明白這個是如何工作的,我也找不到足夠的信息。

有人嗎?

回答

1

RemoveMemberListRequest是正確的請求。

差不多通過CRM Web服務請求引發的所有異常實際上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,或者是角色/權限問題。

+0

看起來你是對的(再次...) 我想通過的ID的錯誤.. – Ekaterina 2010-12-09 07:59:34

相關問題