0

Ich habe eine benutzerdefinierte Aktion in meinem CRM online V9 mit 2 Parametern, einer Entitätsreferenz auf Kontakt und einer Zeichenfolge erstellt.Ungültiger Anforderungsfehler beim Aufrufen einer benutzerdefinierten Aktion von JS in CRM V9

Ich überprüft, dass der Schemaname korrekt ist (Groß- und Kleinschreibung) und habe sogar versucht, Rest Builder zu verwenden, um den Code zu generieren, aber ich erhalte immer einen "Bad Request" -Fehler.

Hier ist mein Code:

var parameters = {}; 
var contact = {}; 
contact.primarykeyid = "49A0E5B9-88DF-E311-B8E5-6C3BE5A8B200";//I added an hard coded value for testing 
contact["@odata.type"] = "Microsoft.Dynamics.CRM.contact"; 
parameters.Contact = contact; 
parameters.Text = "Some Text"; 

var req = new XMLHttpRequest(); 
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/new_CreateSMSrecord", false); 
req.setRequestHeader("OData-MaxVersion", "4.0"); 
req.setRequestHeader("OData-Version", "4.0"); 
req.setRequestHeader("Accept", "application/json"); 
req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); 
req.onreadystatechange = function() { 
    if (this.readyState === 4) { 
     req.onreadystatechange = null; 
     if (this.status === 200) { 
      var results = JSON.parse(this.response); 
     } else { 
      Xrm.Utility.alertDialog(this.statusText); 
     } 
    } 
}; 
req.send(JSON.stringify(parameters)); 
+0

können Sie herausfinden, ob das Problem mit Aktion selbst oder Params ist? versuchen, params eins nach dem anderen zu entfernen .. auch das 'false' flag in req.open zu 'true' ändern und sehen, ob im async-modus funktioniert .. –

+0

Hey Arun, Das Problem ist mit dem Kontaktparameter, aber ich don ' Ich weiß, was ich falsch mache –

Antwort

0

OK, ich es geschafft, das Problem Ich änderte den Code des Kontakt Parameter und das löste das Problem zu finden, ist hier meine aktualisierten Code:

var parameters = {}; 
parameters.Contact = { "contactid": "49A0E5B9-88DF-E311-B8E5-6C3BE5A8B200", "@odata.type": "Microsoft.Dynamics.CRM.contact" } 
parameters.Text = "I'm from JS"; 

$.ajax({ 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    datatype: "json", 
    url: Xrm.Page.context.getClientUrl() + "/api/data/v9.0/new_CreateSMSrecord", 
    data: JSON.stringify(parameters), 
    beforeSend: function (XMLHttpRequest) { 
     XMLHttpRequest.setRequestHeader("OData-MaxVersion", "4.0"); 
     XMLHttpRequest.setRequestHeader("OData-Version", "4.0"); 
     XMLHttpRequest.setRequestHeader("Accept", "application/json"); 
    }, 
    async: false, 
    success: function (data, textStatus, xhr) { 
     var results = data; 
    }, 
    error: function (xhr, textStatus, errorThrown) { 
     Xrm.Utility.alertDialog(textStatus + " " + errorThrown); 
    } 
}); 
Verwandte Themen