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);
                    }
                }
            }
No comments:
Post a Comment