2010-12-07 12 views
1

ich folgendes Problem habe, auf die ich keine Antwort scheinen, zu finden ... Ich habe ein CRM 4.0-System und ich mag folgendes erreichen:
Wenn Ich habe einen Kontakt/ein Konto, das nicht aktiv ist, um es aus einer anderen Liste zu entfernen, z. B. die Marketing-Liste.MS CRM 4.0 entfernen inaktives Konto aus einer anderen Liste

So habe ich schon alles, bis auf das Entfernen Teil. Ich habe eine Sammlung mit den inaktiven Accounts/Kontakten (Die ID's (GUID)), ich muss nur irgendwie das Mitglied aus der Liste entfernen. Also gibt es eine Klasse RemoveMemberListRequest, die wie die richtige aussieht, das einzige Problem ist, irgendwie kann ich es nicht zum Laufen bringen.

Wenn es versucht, auszuführen, schlägt die Anforderung mit sehr allgemeinem Fehler fehl, dass es die Anforderung nicht ausführen konnte. Ich bin auch nicht sicher, ob das der richtige Weg, es zu tun ...

Es gibt eine andere Klasse, die eine Eigenschaft zu haben scheint, die nützlich sein könnten: QualifyMemberListRequest

Mit Eigenschaft: OverrideorRemove Aber ich don‘ Ich verstehe wirklich, wie das funktioniert, und ich konnte nicht genug Informationen finden.

Jeder?

Antwort

1

RemoveMemberListRequest ist die richtige Anfrage.

So gut wie alle Ausnahmen von CRM Webservice-Anfragen geworfen sind tatsächlich vom Typ SoapException, und in diesem Fall werden sie immer sagen: „Server konnte die Anforderung verarbeiten“ in der Message Eigenschaft, die natürlich nicht sehr hilfreich .

Um mehr über den Fehler herauszufinden, können Sie die Ausnahme als SoapException behandeln müssen und einen Blick auf die Detail.InnerText Eigenschaft haben, die in den meisten Fällen über nützliche Informationen liefert, was schief gelaufen ist:

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 
} 

I Ich nehme an, Sie haben irgendwo eine "falsche" ID gefunden oder es ist ein Problem mit Rollen/Privilegien.

+0

Es sieht so aus, als ob du Recht hast (Nochmals ...) Da stimmt etwas nicht mit den IDs, die ich weitergeben will .. – Ekaterina

+0

Fixed ... das war es tatsächlich ... Danke für die Hilfe! – Ekaterina