2016-10-07 2 views
5

Ich habe eine Angular App, die die integrierten DYNAMIC CRM-Endpunkte verwendet, hauptsächlich die "/XRMServices/2011/OrganizationData.svc", aber auch die "/ api/data/v8.0 "für einige Funktionen, einschließlich des Aufrufs zum Hinzufügen von Mitgliedern zu einer Marketing-Liste.Wie verwende ich dynamische CRM-Endpunkte, um einen Kontakt aus einer Liste zu entfernen

Dieser Code funktioniert perfekt ein Mitglied zu einer Liste hinzuzufügen:

function attachContactToList(memberGuid, listGuid) { 
    var data = { 
     "EntityId": memberGuid 
    }; 
    var req = new XMLHttpRequest(); 
    req.open("POST", "<<path to CRM Service>>/api/data/v8.0/lists("+ listGuid + ")/Microsoft.Dynamics.CRM.AddMemberList", true); 
    req.setRequestHeader("Accept", "application/json"); 
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 
    req.setRequestHeader("OData-MaxVersion", "4.0"); 
    req.setRequestHeader("OData-Version", "4.0"); 
    req.onreadystatechange = function() { 
     if (this.readyState == 4 /* complete */) { 
      req.onreadystatechange = null; 
      if (this.status == 200) { 
       notifier.alert("Added to List."); 
      } else { 
       raiseError(JSON.parse(this.response).error); 
      } 
     } 
    }; 
    req.send(JSON.stringify(data)); 
} 

Jedoch, wenn ich ein Mitglied aus einer Liste mit dem RemoveMemberList Aufruf zu entfernen versuchen, es funktioniert nicht. Hier ist der Code für das Entfernen:

function deleteListFromContact(memberGuid, listGuid) { 
    var data = { 
     "EntityId": memberGuid 
    }; 
    var req = new XMLHttpRequest(); 
    req.open("POST", "<<path to CRM Service>>/api/data/v8.0/lists(" + listGuid + ")/Microsoft.Dynamics.CRM.RemoveMemberList", true); 
    req.setRequestHeader("Accept", "application/json"); 
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 
    req.setRequestHeader("OData-MaxVersion", "4.0"); 
    req.setRequestHeader("OData-Version", "4.0"); 
    req.onreadystatechange = function() { 
     if (this.readyState == 4 /* complete */) { 
      req.onreadystatechange = null; 
      if (this.status == 200) { 
       notifier.alert("Removed from List."); 
      } else { 
       raiseError(JSON.parse(this.response).error); 
      } 
     } 
    }; 
    req.send(JSON.stringify(data)); 
} 

Der Fehler Ich erhalte ist:

{ 
    "error":{ 
    "code":"","message":"Request message has unresolved parameters.","innererror":{ 
     "message":"Request message has unresolved parameters.","type":"Microsoft.Crm.CrmHttpException","stacktrace":" at Microsoft.Crm.Extensibility.OData.CrmODataRoutingConvention.SelectAction(ODataPath odataPath, HttpControllerContext controllerContext, ILookup`2 actionMap)\r\n at System.Web.OData.Routing.ODataActionSelector.SelectAction(HttpControllerContext controllerContext)\r\n at System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()" 
    } 
    } 
} 

Jede Hilfe wäre sehr geschätzt. Dies ist der einzige Stolperstein in meiner gesamten Bewerbung, sobald das korrigiert ist .... Ich bin gut zu gehen.

Dank

Antwort

1

Die Remove-Benutzerliste Anfrage derzeit nicht implementiert ist:

https://msdn.microsoft.com/en-us/library/mt628816.aspx

Fehlende Funktionen und Aktionen für einige Organisation Dienstnachrichten der folgenden Tabelle sind die Nachrichten, die nicht tun eine entsprechende Funktion oder Aktion haben, nachdem Microsoft Dynamics CRM Online 2016 Update 1 und Microsoft Dynamics CRM 2016 Service Pack 1 angewendet werden .

+------------------------------+-----------------------------------+----------------------------------+ 
| GrantAccessRequest   | GrantAccessRequest    | ModifyAccessRequest    | 
+------------------------------+-----------------------------------+----------------------------------+ 
| QualifyLeadRequest   | ReactivateEntityKeyRequest  | RemoveMemberListRequest   | 
+------------------------------+-----------------------------------+----------------------------------+ 
| RemoveItemCampaignRequest | RemoveItemCampaignActivityRequest | RetrieveByResourcesServiceReques | 
+------------------------------+-----------------------------------+----------------------------------+ 
| RetrieveFilteredFormsRequest |         |         | 
+------------------------------+-----------------------------------+----------------------------------+ 

Sie finden das „/XRMServices/2011/OrganizationData.svc“ oder warten, bis die nächste Version verwenden.

Verwandte Themen