Code snippet for custom wcf service calling from mscrm 2011 form java script:
Call the Custom WCF request in Java
Script:
Var xmlhttp = new XMLHttpRequest ();
Retrieve the WCF URL
from from “ApplicationConfig” Entity using following method.
Var WcfServiceUrlValue= GetConfigValueByKey (Key Name);
WcfServiceUrlValue=WcfServiceUrlValue.avd_ConfigValue;
xmlhttp.open('POST', WcfServiceUrlValue , false);
//Get the request XML
from WCF Test Client or Using Feddler Tool
//Place the Inteface
name and Method Name following highlighted text.
xmlhttp.setRequestHeader('SOAPAction', 'http://tempuri.org/IDynamicsPaymentService/UpdateExpiredCheque
');
xmlhttp.setRequestHeader('Content-Type', 'text/xml');
var data = '';
data+='<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">';
data+='<s:Body>';
data+='UpdateExpiredCheque xmlns="http://tempuri.org/">';
data+='<data
xmlns:d4p1="http://schemas.datacontract.org/2004/07/ UU.Crm.WCFService.DataContracts"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">';
data+='<d4p1:CaseNumber>12345</d4p1:CaseNumber>';
data+='<d4p1:ChequeAmount>200</d4p1:ChequeAmount>';
data+='<d4p1:ChequeNumber>23421213</d4p1:ChequeNumber>';
data+='<d4p1:OriginalPaymentDate>1/10/2012</d4p1:OriginalPaymentDate>';
data+='<d4p1:OriginalPaymentReference>1234</d4p1:OriginalPaymentReference>';
data+='</data>';
data+='</UpdateExpiredCheque>';
data+='</s:Body>';
data +=
'</s:Envelope>';
xmlhttp.send(data);
xmlDoc =
new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(xmlhttp.responseXML.xml);
//Check the Response
Object and Retrieve the tag values
following way.
if (xmlDoc.xml != "") {
var
Msg;
var
ResponseCollection =
xmlDoc.getElementsByTagName("a:ResponseCollection");
if
(ResponseCollection.length > 0) {
if
(ResponseCollection[0].firstChild != null) {
Msg = "Message Severity :" +
ResponseCollection[0].firstChild.childNodes[0].nodeTypedValue + '\n';
Msg += "Warning :" +
ResponseCollection[0].firstChild.childNodes[1].nodeTypedValue;
alert(Msg);
}
}
}