function SalesLiterature_RetrieveAndAttach(emailID,
salesliteratureID)
{
// target
var serverUrl =
"/MSCrmServices/2007/CrmService.asmx";
var xmlhttp =
new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST",
serverUrl, false);
xmlhttp.setRequestHeader("Content-Type",
"text/xml; charset=utf-8");
xmlhttp.setRequestHeader("SOAPAction",
"http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");
// message
var message =
[
"<?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>",
"<RetrieveMultiple xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>",
"<query xmlns:q1='http://schemas.microsoft.com/crm/2006/Query'
xsi:type='q1:QueryExpression'>",
"<q1:EntityName>",
"salesliteratureitem",
// entity we're looking for
"</q1:EntityName>",
"<q1:ColumnSet xsi:type='q1:ColumnSet'>",
"<q1:Attributes>",
"<q1:Attribute>filename</q1:Attribute>",
"<q1:Attribute>filesize</q1:Attribute>",
"<q1:Attribute>mimetype</q1:Attribute>",
"<q1:Attribute>documentbody</q1:Attribute>",
"</q1:Attributes>",
"</q1:ColumnSet><q1:Distinct>true</q1:Distinct>",
"<q1:Criteria><q1:FilterOperator>And</q1:FilterOperator>",
"<q1:Conditions><q1:Condition><q1:AttributeName>",
"salesliteratureid",
// criteria is qryattributeName =
qryattributeValue
"</q1:AttributeName><q1:Operator>Equal</q1:Operator>",
"<q1:Values><q1:Value
xsi:type='xsd:string'>",
salesliteratureID,
"</q1:Value></q1:Values></q1:Condition></q1:Conditions></q1:Criteria>",
"</query>",
"</RetrieveMultiple>",
"</soap:Body></soap:Envelope>"
].join("");
xmlhttp.send(message);
var resultXml =
xmlhttp.responseXML;
var results =
resultXml.getElementsByTagName("BusinessEntity");
if (results ==
null)
return;
if (results.length >
0)
{
var filename_str =
'//q1:filename';
var filesize_str =
'//q1:filesize';
var mimetype_str =
'//q1:mimetype';
var body_str =
'//q1:documentbody';
var filename;
var filesize;
var mimetype;
var documentbody;
// of we go
for (i = 0; i <
results.length; i++)
{ // find each entry
filename =
results[i].selectSingleNode(filename_str).nodeTypedValue;
filesize = results[i].selectSingleNode(filesize_str).nodeTypedValue;
mimetype = results[i].selectSingleNode(mimetype_str).nodeTypedValue;
documentbody = results[i].selectSingleNode(body_str).nodeTypedValue;
SalesLiterature_AttachToEmail(emailID, i + 1, filename, filesize, mimetype,
documentbody);
}
}
}