Тема: SoapException
Показать сообщение отдельно
Старый 20.02.2011, 21:47   #4  
Sergikrus is offline
Sergikrus
Участник
 
82 / 15 (1) ++
Регистрация: 26.09.2008
Адрес: Tyumen
Спасибо Артем Enot Грунин, решил проблему, проблема была в незнании

Вот так всё работает:
Код:
function GetAttributeValueByEntityId(entityName, entytiId, attributeName)
{
var xml = "[?xml version='1.0' encoding='utf-8'?]" + "\r\n" +
"[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']" + "\r\n" +
" [soap:Body]" + "\r\n" +
" [entityName xmlns='http://schemas.microsoft.com/crm/2006/WebServices']" + entityName + "[/entityName]" + "\r\n" +
" [id xmlns='http://schemas.microsoft.com/crm/2006/WebServices']" + entytiId + "[/id]" + "\r\n" +
" [columnSet xmlns='http://schemas.microsoft.com/crm/2006/WebServices' xmlns:q='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q:ColumnSet']" + "\r\n" +
" [q:Attributes]" + "\r\n" +
" [q:Attribute]" + attributeName + "[/q:Attribute]" + "\r\n" +
" [/q:Attributes]" + "\r\n" +
" [/columnSet]" + "\r\n" +
" [/soap:Body]" + "\r\n" +
"[/soap:Envelope]";
 
xml = xml.replace(/\[/gi, String.fromCharCode(60));
xml = xml.replace(/\]/gi, String.fromCharCode(62));
var xmlHttpRequest = new ActiveXObject('Msxml2.XMLHTTP');
xmlHttpRequest.Open('POST', '/mscrmservices/2006/CrmService.asmx', false);
xmlHttpRequest.setRequestHeader('SOAPAction','http://schemas.microsoft.com/crm/2006/WebServices/Retrieve');
xmlHttpRequest.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
xmlHttpRequest.setRequestHeader('Content-Length', xml.length);
xmlHttpRequest.send(xml);
var doc = xmlHttpRequest.responseXML;
alert(xmlHttpRequest.responseText);
var retValue = '';
if (doc.selectSingleNode('//RetrieveResult/' + attributeName) != null)
    retValue = doc.selectSingleNode('//RetrieveResult/' + attributeName).text;
   
return retValue;
};
 
crmForm.all.new_orderyrnaz.DataValue = GetAttributeValueByEntityId('account', crmForm.all.customerid.DataValue[0].id, 'new_yrnaz')