Quantcast
Channel: Microsoft Dynamics CRM Forum - Recent Threads
Viewing all articles
Browse latest Browse all 79901

How to call ExecuteAction using API in MS Dynamics CRM?

$
0
0

Hi,

I have following code which is working properly for ExecuteAction. I want to call following call using API. 

Can anybody please suggest me with return parameter?

function ExecuteAction(entityId, entityName, requestName) {
	try {
		var response = "";
		var requestXML = "";
		requestXML += "<s:Envelope xmlns:s=\"schemas.xmlsoap.org/.../envelope\">";
		requestXML += "  <s:Body>";
		requestXML += "    <Execute xmlns=\"schemas.microsoft.com/.../Services\" xmlns:i=\"www.w3.org/.../XMLSchema-instance\">";
		requestXML += "      <request xmlns:a=\"schemas.microsoft.com/.../Contracts\">";
		requestXML += "        <a:Parameters xmlns:b=\"schemas.datacontract.org/.../System.Collections.Generic\">";
		requestXML += "          <a:KeyValuePairOfstringanyType>";
		requestXML += "            <b:key>Target</b:key>";
		requestXML += "            <b:value i:type=\"a:EntityReference\">";
		requestXML += "              <a:Id>" + entityId + "</a:Id>";
		requestXML += "              <a:LogicalName>" + entityName + "</a:LogicalName>";
		requestXML += "              <a:Name i:nil=\"true\" />";
		requestXML += "            </b:value>";
		requestXML += "          </a:KeyValuePairOfstringanyType>";
		requestXML += "        </a:Parameters>";
		requestXML += "        <a:RequestId i:nil=\"true\" />";
		requestXML += "        <a:RequestName>" + requestName + "</a:RequestName>";
		requestXML += "      </request>";
		requestXML += "    </Execute>";
		requestXML += "  </s:Body>";
		requestXML += "</s:Envelope>";

		$.ajax({
			type: "POST",
			contentType: "text/xml; charset=utf-8",
			datatype: "xml",
			url: serverUrl + "/XRMServices/2011/Organization.svc/web",
			data: requestXML,
			async: false,
			beforeSend: function (XMLHttpRequest) {
				XMLHttpRequest.setRequestHeader("Accept", "application/xml, text/xml, */*");
				XMLHttpRequest.setRequestHeader("SOAPAction", "schemas.microsoft.com/.../Execute");
			},
			success: function (data, textStatus, XmlHttpRequest) {
				if (XmlHttpRequest.status === 200) {
					response = $(XmlHttpRequest.responseText).find('b\\:value').text();
				}
				return response;
			},
			error: function (XMLHttpRequest, textStatus, errorThrown) {
				alert(errorThrown);
				return XMLHttpRequest.ResponseText;
			}
		});
	}
	catch (e) {
		return "";
	}
}

API call should return when it gets response.

Please suggest.


Viewing all articles
Browse latest Browse all 79901

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>