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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.10.2012, 15:29   #2  
LRA is offline
LRA
Участник
 
41 / 39 (2) +++
Регистрация: 19.12.2005
Адрес: Москва
Для тестирования использую следующий код.
Для тестирования использую следующий код. В теле сообщения произвольный текст, а не XML, но это прокатывает.


X++:
    AifChannelId        channelId   = "myTstChannelOut"; // TODO необходимо задать код канала с формы Каналы
    AifChannel          channel     = AifChannel::find(channelId);
    AifAdapter          adapter     = AifAdapter::find(channel.AdapterClassId);
    AifInfoLog          aifInfoLog  = new AifInfoLog();
    AifMessageId        messageId   = newguid();
    UserID              userID      = curuserid();
    SysDictClass        adapterClassObject;
    AifMSMQSendAdapter  sendAdapter;
    AifResourceLockId   channelLockId;
    boolean             inAdapterTransaction = false;
    AifGatewayMessage   gatewayMessage;
    AifMessage          message;
    AIfresourceLock     resourceLock;
    AifIntegrationAdapter       integrationAdapter;
    ;
    // delete_from resourceLock;
    channelLockId = AifResourceLock::lockResource(channelId, AifResourceType::Channel, AifResourceLockType::Gateway);
    if (guid2str(channelLockId) != #EmptyGuidString)
    {
        try
        {
            aifInfoLog.reset();
            adapterClassObject = new SysDictClass(channel.AdapterClassId);
            if (adapterClassObject.isImplementing(classnum(AifIntegrationAdapter)))
            {
                integrationAdapter = adapterClassObject.makeObject();
                sendAdapter = new AifMSMQSendAdapter();
                if (sendAdapter == null)
                    throw error(strfmt("@SYS95140", classId2Name(classidget(integrationAdapter))));
            }
            // new InteropPermission(InteropKind::ClrInterop).assert(); // TODO Раскоментарить если выполняется на сервере
            sendAdapter.initialize(channel.TransportAddress, channelId);
            ttsbegin;
            sendAdapter.begin();
            inAdapterTransaction = true;
            gatewayMessage = new AifGatewayMessage(
                            'Привет мир!',
                            enum2str(AifGlobalSettings::getEncodingFormat()),
                            userID,
                            messageId);
            // Send message
            sendAdapter.sendMessage(gatewayMessage);
            // Update messageLog message as Processed
            if (AifMessageManager::isNewMessage(gatewayMessage.parmMessageId()) == false)
            {
                message = AifMessageManager::read(gatewayMessage.parmMessageId());
                message.status(AifMessageStatus::Processed);
                AifMessageManager::update(message, classstr(AifGatewaySendService), false);
            }
            // Commit transaction
            sendAdapter.commit();
            ttscommit;
 
            CodeAccessPermission::revertAssert();
        }
        catch(Exception::CLRError)
        {
            AifResourceLock::releaseResource(channelLockId);
            throw error(AifUtil::getClrErrorMessage());
        }
    }
    sendAdapter.terminate();
    AifResourceLock::releaseResource(channelLockId);
 
    info(strFmt("Готово! %1", messageId));

Последний раз редактировалось LRA; 17.10.2012 в 15:32.
Теги
aif, label, msmq

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: Квест: Подружим Dynamics Ax 2009 Sp1 RU7 c SharePoint Foundation 2010 Blog bot DAX Blogs 4 16.10.2017 17:50
axinthefield: Compatibility Testing for Microsoft Dynamics AX Blog bot DAX Blogs 0 23.06.2012 02:26
dynamics-ax: Official Details about Dynamics AX '6' released, including comments from Microsofts Kees Hertogh Blog bot DAX Blogs 0 11.01.2011 05:22
Sample Design Patterns: Complexity tool - Dynamics AX 2009 Blog bot DAX Blogs 0 30.07.2010 15:05
Dynamics AX: Business Intelligence in Dynamics AX 2009 (Part I) Blog bot DAX Blogs 0 26.06.2008 02:19

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

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

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