使用Soap在Dynamics crm 2013中创建新记录?

时间:2014-05-08 04:32:20

标签: dynamics-crm dynamics-crm-2013

我试图使用soap调用创建一个新记录,但是它在GenerateAuthenticattionHeader上的获取错误是未定义的。任何参考文献都会被赞赏。

function new_record()
{
debugger;
var firstname = "srini";
var lastname = "hsk";
var donotbulkemail = "true";
var address1_stateorprovince = "CHD";
var address1_postalcode = "160036";
var address1_line1 = "#1429/2";
var address1_city = "Chandigarh";
var authenticationHeader = GenerateAuthenticationHeader();

// Prepare the SOAP message.
var xml = "<?xml version='1.0' encoding='utf-8'?>" +
"<soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'" +
" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'" +
" xmlns:xsd='http://www.w3.org/2001/XMLSchema'>" +
authenticationHeader +
"<soap:Body>" +
"<Create xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>" +
"<entity xsi:type='contact'>" +
"<address1_city>" + address1_city + "</address1_city>" +
"<address1_line1>" + address1_line1 + "</address1_line1>" +
"<address1_postalcode>" + address1_postalcode + "</address1_postalcode>" +
"<address1_stateorprovince>" + address1_stateorprovince + "</address1_stateorprovince>" +
"<donotbulkemail>" + donotbulkemail + "</donotbulkemail>" +
"<firstname>" + firstname + "</firstname>" +
"<lastname>" + lastname + "</lastname>" +
"</entity>" +
"</Create>" +
"</soap:Body>" +
"</soap:Envelope>";
// Prepare the xmlHttpObject and send the request.
var xHReq = new ActiveXObject("Msxml2.XMLHTTP");
xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xHReq.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Create");
xHReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xHReq.setRequestHeader("Content-Length", xml.length);
xHReq.send(xml);
// Capture the result
var resultXml = xHReq.responseXML;

// Check for errors.
var errorCount = resultXml.selectNodes('//error').length;
if (errorCount != 0) {
    var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
    alert(msg);
}
}
  

动态crm 2013中未定义GetAuthenticationHeader

1 个答案:

答案 0 :(得分:2)

通常,您的代码看起来很好,只有一个例外。这对CRM 4.0有好处。如果您使用CRM 2013,您的代码将无法运行。重新检查以下有关在CRM中创建记录的文章:http://msdn.microsoft.com/en-us/library/gg334427.aspx

提供的链接演示了如何使用REST创建记录。如果您想要在以下文章中使用SOAP重新检查:http://mileyja.blogspot.com/2011/04/create-requests-in-net-and-jscript-in.html