locked
Triggering Workflow from HTML Web Ressource failed: Error Code 415 RRS feed

  • Question

  • Hello there

    Im working in a CRM 2015 Online enivronment. I'm trying to trigger a CRM workflow from an HTML Webressource. The HTML Webressource is opened by a JavaScript Webressource. 

    Anyway, thats the code I'm using right now in my HTML Webressource to trigger the workflow

    function runWorkflow()
    {
        var entityId = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; //Guid of record that workflow is to run on.
        var workflowId = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; //Workflow Guid.
        var url = window.parent.Xrm.Page.context.getClientUrl();
    
        var OrgServicePath = "/XRMServices/2011/Organization.svc";
        url = url + OrgServicePath;
        var request;
        request = "<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">" +
        "<s:Body>" +
        "<Execute xmlns=\"http://schemas.microsoft.com/xrm/2011/Contracts/Services\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">" +
          "<request i:type=\"b:ExecuteWorkflowRequest\" xmlns:a=\"http://schemas.microsoft.com/xrm/2011/Contracts\" xmlns:b=\"http://schemas.microsoft.com/crm/2011/Contracts\">" +
            "<a:Parameters xmlns:c=\"http://schemas.datacontract.org/2004/07/System.Collections.Generic\">" +
              "<a:KeyValuePairOfstringanyType>" +
                "<c:key>EntityId</c:key>" +
                "<c:value i:type=\"d:guid\" xmlns:d=\"http://schemas.microsoft.com/2003/10/Serialization/\">" + entityId + "</c:value>" +
              "</a:KeyValuePairOfstringanyType>" +
              "<a:KeyValuePairOfstringanyType>" +
                "<c:key>WorkflowId</c:key>" +
                "<c:value i:type=\"d:guid\" xmlns:d=\"http://schemas.microsoft.com/2003/10/Serialization/\">" + workflowId + "</c:value>" +
              "</a:KeyValuePairOfstringanyType>" +
            "</a:Parameters>" +
            "<a:RequestId i:nil=\"true\" />" +
            "<a:RequestName>ExecuteWorkflow</a:RequestName>" +
          "</request>" +
        "</Execute>" +
        "</s:Body>" +
        "</s:Envelope>";
    
        var req = new XMLHttpRequest();
        req.open("POST", url, true)
        // Responses will return XML. It isn't possible to return JSON.
        req.setRequestHeader("Accept", "application/xml, text/xml, */*");
        req.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
        req.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/xrm/2011/Contracts/Services/IOrganizationService/Execute");
        req.onreadystatechange = function () { assignResponse(req); };
        req.send(request);
    }
    
    function assignResponse(req) {
        if (req.readyState == 4) {
            if (req.status == 200) {
                alert('successfully executed the workflow');
            }
        }
    } 

    Im getting the following error: Failed to load resource: the server responded with a status of 415 (Cannot process the message because the content type 'text/xml; charset=UTF-8' was not the expected type 'application/soap+xml; charset=utf-8'.)

    Anyone got a solution to my problem?


    • Edited by MrSiffert Monday, March 7, 2016 1:10 PM
    Monday, March 7, 2016 1:10 PM

All replies