AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2013, 16:21   #1  
Taker1796 is offline
Taker1796
Участник
Аватар для Taker1796
 
112 / 11 (1) +
Регистрация: 22.04.2012
Вызов плагина одной crm с риббона другой
Всем привет. Собственно пытаюсь реализовать штуку, которая при нажатии на кнопку на риббоне, в crm2011, вызывает плагин в crm 4. Пытаюсь отправить soap запрос на assign, но что то не получается. Вообще, такое реально сделать? При нажатии на кнопку, он просит ввести данные от crm 2011. И в каком направлении копать лучше? Заранее всем спасибо!

Вот soap запрос:
X++:
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">' +
     '<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\">crm4</OrganizationName>' + 
' <CallerId xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">00000000-0000-0000-0000-000000000000</CallerId>' + 
' </CrmAuthenticationToken>' + 
' </soap:Header>' + 
   '<soap:Body>' +
     '<Execute xmlns="http://schemas.microsoft.com/crm/2007/WebServices">' +
        '<Request xsi:type="AssignRequest">' +
          '<Target xsi:type="TargetOwnedDynamic">' +
            '<EntityName>opportunity</EntityName>' +
'<EntityId>' + Xrm.Page.data.entity.getId() +'</EntityId>' 
           '</Target>' +
            '<Assignee>' +
               '<PrincipalId xmlns="http://schemas.microsoft.com/crm/2006/CoreTypes">' + Xrm.Page.data.entity.attributes.get("ownerid").getValue()[0].id +'</PrincipalId>' +
               '<Type xmlns="http://schemas.microsoft.com/crm/2006/CoreTypes">User</Type>' +
            '</Assignee>' +
        '</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);
guid'ы ответственного и возможной сделки в обоих системах совпадают

Последний раз редактировалось Taker1796; 12.03.2013 в 16:24.
Старый 12.03.2013, 17:31   #2  
Anros is offline
Anros
Участник
 
54 / 28 (1) +++
Регистрация: 01.07.2009
Не понятно, у вас установлены одновременно crm 4 и 2011 на одном сервере, или просто к 2011 вы пытаетесь обратится через вызов старого сервиса?
И при чем тут плагин?
Старый 12.03.2013, 17:42   #3  
Taker1796 is offline
Taker1796
Участник
Аватар для Taker1796
 
112 / 11 (1) +
Регистрация: 22.04.2012
Цитата:
Сообщение от Anros Посмотреть сообщение
Не понятно, у вас установлены одновременно crm 4 и 2011 на одном сервере, или просто к 2011 вы пытаетесь обратится через вызов старого сервиса?
И при чем тут плагин?
crm4 и crm2011 на разных серверах. Мне нужно из crm2011 вызвать плагин для crm 4.
Старый 12.03.2013, 17:51   #4  
Anros is offline
Anros
Участник
 
54 / 28 (1) +++
Регистрация: 01.07.2009
Вы обращаетесь к сервису по урл "/mscrmservices/2007/CrmService.asmx", который похоже указывает на тот же сервер где страница с риббоном.

Вы не путаете плагин и метод веб сервиса?
Плагин нельзя вызвать напрямую, он вешается на события. Если у вас повешен плагин на assign, то при вызове метода assign в веб сервисе, плагин должен сработать.
За это сообщение автора поблагодарили: Taker1796 (1).
Старый 12.03.2013, 18:18   #5  
Taker1796 is offline
Taker1796
Участник
Аватар для Taker1796
 
112 / 11 (1) +
Регистрация: 22.04.2012
Цитата:
Сообщение от Anros Посмотреть сообщение
Вы обращаетесь к сервису по урл "/mscrmservices/2007/CrmService.asmx", который похоже указывает на тот же сервер где страница с риббоном.

Вы не путаете плагин и метод веб сервиса?
Плагин нельзя вызвать напрямую, он вешается на события. Если у вас повешен плагин на assign, то при вызове метода assign в веб сервисе, плагин должен сработать.
Судя по всему он цепляется к сервису crm2011 почему то, но как заставить его обратиться к сервису crm4 не понятно. Кстати я и вызываю же веб метод soap запросом на assign.
Старый 12.03.2013, 18:25   #6  
Anros is offline
Anros
Участник
 
54 / 28 (1) +++
Регистрация: 01.07.2009
Цитата:
Сообщение от Taker1796 Посмотреть сообщение
Судя по всему он цепляется к сервису crm2011 почему то, но как заставить его обратиться к сервису crm4 не понятно.
Подставить правильный урл, указывающий на нужный сервер
Только сервера должны находиться в одном домене, иначе ничего не получится из за политики безопасности.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 8 Blog bot Dynamics CRM: Blogs 1 30.04.2016 10:26
Leon's CRM Musings: Book Review: Microsoft Dynamics CRM 2011 Administration Bible Blog bot Dynamics CRM: Blogs 0 19.12.2011 12:11
crminthefield: CRM Online Performance Troubleshooting Ideas Blog bot Dynamics CRM: Blogs 0 01.11.2011 03:13
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0 Deployment Scenarios Blog bot Dynamics CRM: Blogs 0 30.01.2009 22:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:23.