|
24.11.2009, 09:56 | #1 |
Участник
|
CrmService.Create из java script
и сново я с вопросами.... наковырял вот такой вот кодик в MSDN
// Prepare values for the new contact. var firstname = "Jesper"; var lastname = "Aaberg"; var donotbulkemail = "true"; var address1_stateorprovince = "MT"; var address1_postalcode = "99999"; var address1_line1 = "23 Market St."; var address1_city = "Sammamish"; 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); } // Open new contact record if no errors. else { var contactid = resultXml.selectSingleNode("//CreateResult"); window.open("/sfa/conts/edit.aspx?id={"+contactid.nodeTypedValue+"}"); } а вот ссылочка на него http://msdn.microsoft.com/en-us/library/cc677070.aspx запись в стоке xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false); конечно же менял на свою смотрел ответ от сервера приходит пустой .... хотя ответ должен быть соответственно ошибка возникает вот тут var contactid = resultXml.selectSingleNode("//CreateResult"); window.open("/sfa/conts/edit.aspx?id={"+contactid.nodeTypedValue+"}"); в чем может быть дело в самом запросе ? |
|
24.11.2009, 10:08 | #2 |
Консультант-джедай
|
Цитата:
Цитата:
соответственно ошибка возникает вот тут
var contactid = resultXml.selectSingleNode("//CreateResult"); window.open("/sfa/conts/edit.aspx?id={"+contactid.nodeTypedValue+"}"); в чем может быть дело в самом запросе ? И ошибку может быть приведете?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
24.11.2009, 10:32 | #3 |
Участник
|
1) менял xHReq.Open("POST", "/<Свой сервер>/2007/CrmService.asmx", false);
2) Писал в формах CRM на действие Oncahange от лукапа просто в качестве проверки сработает или нет 2) Объект контакт стандартый должно совпадать да в ответ должно приходить что то вроде вот етого <?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"> <soap:Body> <CreateResponse xmlns="http://schemas.microsoft.com/crm/2007/WebServices"> <CreateResult>368c8b1b-851c-dd11-ad3a-0003ff9ee217</CreateResult> </CreateResponse> </soap:Body> </soap:Envelope> id контакта только что созданного 368c8b1b-851c-dd11-ad3a-0003ff9ee217 он я так понимаю и пытаеться получиться вот в этих строках { var contactid = resultXml.selectSingleNode("//CreateResult"); window.open("/sfa/conts/edit.aspx?id={"+contactid.nodeTypedValue+"}"); } ошибка вылетает нужен объект |
|
24.11.2009, 10:34 | #4 |
Консультант-джедай
|
Тогда эту строку менять не надо
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
24.11.2009, 11:09 | #5 |
Участник
|
да в форме работает спасибо ) только вот я хотел после дабиться другого эфекта
вынести код на любую другую страницу ... проблемка конечно первая возникает с получением authenticationHeader пробовал как то вот так <?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\"><soap:Header><CrmAuthenticationToken xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\"><AuthenticationType xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">0</AuthenticationType><OrganizationName xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">sigma</OrganizationName><CallerId xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">722D32FD-3C99-DE11-9E89-00E04D6BB41A</CallerId></CrmAuthenticationToken></soap:Header>" что то не очень удалось... делали что то подобное ? |
|
24.11.2009, 11:12 | #6 |
Консультант-джедай
|
Нет не делал. Попробуйте посмотреть как эта штука работает http://mmcrm.ru/?p=790
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
25.11.2009, 06:49 | #7 |
Участник
|
вот этот ласкуточек позволил пройти автаризацию
function generateHeader() { if (typeof(GenerateAuthenticationHeader) != "undefined") { return "<?sXml 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(); } else { return "<?sXml 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\"><soap:Header><CrmAuthenticationToken xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\"><AuthenticationType xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">0</AuthenticationType><OrganizationName xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">sigma</OrganizationName><CallerId xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">00000000-0000-0000-0000-000000000000</CallerId></CrmAuthenticationToken></soap:Header>"; } } а выше описанный создать пользователя |
|
|
Похожие темы | ||||
Тема | Ответов | |||
gustafwesterlund: Create replacement entities | 0 | |||
mscrm4ever: CRM Form Script Loader | 0 | |||
Быстродействие CrmService | 16 | |||
аутентификация crmService | 2 | |||
Обращение к CrmService | 23 |
|