JScript Webservice Call 2011: InstantiateTemplateRequest?

Bild Microsoft Dynamics CRM 2011

JScript Webservice Call 2011: InstantiateTemplateRequest?

Beitragvon OliverGraf » 10. August 2015 15:09

Hallo,

ich bin gerade in Vorbereitung auf das Upgrade von CRM 2011 auf CRM 2015 dabei unsere Javascript-Webresourcen umzustellen, da einigermaßen häufig Webservice-Aufrufe integriert wurden. Bei den meisten 2007er Webservice Calls handelt es sich um Retrieve- oder RetrieveMultiple-Call die recht einfach auf 2011er REST-Endpoints umgebaut werden konnten. Mit Hilfe des CRM-Rest-Builders von CodePlex war dies recht komfortabel.

Jetzt hänge ich allerdings bei einem WebserviceCall fest, der eben nicht ein simpler "Retrieve"-Call ist, sondern ein "InstantiateTemplate" Request. Dieser wird beim Onload einer neu erstellten Email aufgerufen um eine Signatur automatisch nachzuladen (TemplateId). Das Ganze zieht dann, sobald ein Incident (EntityId) im Bezug gesetzt ist.

Kann mir hier jemand helfen diesen auf einen 2011er Webservice umzustellen? Google hat mir leider nicht weiterhelfen können...

Anbei schonmal der Code des 2007er Webservice-Calls.

Code: Alles auswählen
function GetCaseEmailTemplate(TemplateId, EntityId) {
// Generate an email activity from the specified template
//
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\">" +
GenerateAuthenticationHeader() +
" <soap:Body>" +
" <Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
" <Request xsi:type='InstantiateTemplateRequest' ReturnDynamicEntities='false' >"+
" <TemplateId>" + TemplateId + "</TemplateId>"+
" <ObjectType>incident</ObjectType>"+
" <ObjectId>" + EntityId + "</ObjectId>"+
" </Request>"+
" </Execute>" +
" </soap:Body>" +
"</soap:Envelope>";
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Execute");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
//xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml);
var resultXml = xmlHttpRequest.responseXML;
var entityNode = resultXml.selectSingleNode("//BusinessEntityCollection/BusinessEntities/BusinessEntity");
if(entityNode == null)
{
  alert("Could not read template.\n\nInformation for System Administrator:\n"+resultXml.text);
  return;
}
// Get the email details
var emailBody = entityNode.selectSingleNode("q1:description");
var subject = entityNode.selectSingleNode("q1:subject");

document.all['descriptionIFrame'].contentWindow.document.body.innerHTML="<span style=\"font-size:10pt\; font-family:Arial;\">"+emailBody.text +"</span>"+ document.all['descriptionIFrame'].contentWindow.document.body.innerHTML;

if(Xrm.Page.getAttribute("subject").getValue()==null || Xrm.Page.getAttribute("subject").getValue().indexOf("Case ID: CAS")==-1){
   Xrm.Page.getAttribute("subject").setValue(subject.text);
}

}
OliverGraf
 
Beiträge: 41
Registriert: 11. Oktober 2011 09:44
Wohnort: MĂĽnchen
Realer Name: Oliver Graf
Arbeitsort: MĂĽnchen
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics CRM
Microsoft Dynamics Version: 2016

ZurĂĽck zu CRM 2011

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron