powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Проблемы с бизнес-процессом Ensemble.
5 сообщений из 5, страница 1 из 1
Проблемы с бизнес-процессом Ensemble.
    #38636506
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Столкнулся с такой проблемой.
Есть класс:Class root Extends (%SerialObject, %XML.Adaptor)
{

Parameter XMLIGNORENULL = 1;

Property idmc As %String(XMLNAME = "id_mc");

Property idlab As %String(XMLNAME = "id_lab");

}Так же есть класс запроса к бизнес процессу:Class XMLInRequest Extends Ens.Request
{
Property FileName As %String;

Property Request As root;
}В бизнес-сервисе происходит вызов бизнес процесса. #dim root as root
 Set reader = ##class(%XML.Reader).%New()
 set sc=reader.OpenStream(pInput,"literal")
 do reader.Correlate("root","root")
 do reader.Next(.root,.sc)
 do reader.Close()
 #dim Request as XMLInRequest=##class(XMLInRequest).%New()
 set Request.FileName=pInput.Attributes("Filename")
 set Request.Request =root
 set sc=..SendRequestAsync("XMLInBPL",Request)
 Бизнесс процесс создан при помощи Bisness Process Editor (BPL).
В нем первым делом нужно сохранить в переменную контекста значение из request.Request.idmc
Создается элемент Assign, у которого Property=context.Sender, а Value=request.Request.idmc
(Переменная Sender в конексте бизнесс-процесса создана).
При запуске продукции (при поступлении входящего сообщения) получаем ошибку:
авторERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zS1+3^XMLInBPL.Thread1.1 *%Process,XMLInRequest -- logged as '08 May 2014' number 1 @' Set request.%Process = context.%Process'
В zS1+3^XMLInBPL.Thread1.1: Set context.Sender=request.Request.idmc
 Set request.%Process = context.%ProcessТ.е. присвоение значения вроде бы происходит, но падает на том, что у request нет Property %Process.
Хотя он объявлен как Class XMLInRequest Extends Ens.Request

Ничего не могу понять. Подскажите в чем может быть проблема?
...
Рейтинг: 0 / 0
Проблемы с бизнес-процессом Ensemble.
    #38636565
Александр Коблов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexShiryaev,

Но ведь ни у Ens.Request, ни у его предка Ens.MessageBody нет свойства %Process. Откуда взялась следующая строка?

Set request.%Process = context.%Process

Можете Xdata BPL из бизнес-процесса выложить?
...
Рейтинг: 0 / 0
Проблемы с бизнес-процессом Ensemble.
    #38636577
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexShiryaevТ.е. присвоение значения вроде бы происходит, но падает на том, что у request нет Property %Process.
Хотя он объявлен как Class XMLInRequest Extends Ens.RequestПроверьте у класса Ens.Request или его предков наличие свойства %Process .
...
Рейтинг: 0 / 0
Проблемы с бизнес-процессом Ensemble.
    #38636606
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Коблов,

XData BPL [ XMLNamespace = " http://www.intersystems.com/bpl"  ]
{
<process language='objectscript' request='XMLInRequest' response='Ens.Response' height='2000' width='2000' >
<context>
<property name='KDLSender' type='%String' >
<parameters>
<parameter name='MAXLEN'  value='32000' />
</parameters>
</property>
<property name='Sender' type='%String' >
</property>
</context>
<sequence xend='538' yend='678' >
<assign name="context.Sender=request.idlmk" property="context.Request" value="request.Request.idmc" action="set" xpos='562' ypos='219' />
<rule name='KonvertSender' rule='LMKGetKDLSenderID'  resultLocation='context.KDLSender' ruleContext='request' xpos='541' ypos='434' >
</rule>
<call name='CheckOrder' target='CheckOrder' async='1' xpos='557' ypos='536' >
<request type='CheckOrderRequest' />
<response type='CheckOrderResponse' />
</call>
</sequence>
</process>
}
...
Рейтинг: 0 / 0
Проблемы с бизнес-процессом Ensemble.
    #38636668
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создал новый бизнесс-процесс. В нем все нормально.
Строка "Set request.%Process = context.%Process" больше не генерируется.
Глюк какой-то был.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Проблемы с бизнес-процессом Ensemble.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]