Если вы используете Business Entity с веб-транспортом, то вы используете DOH, и применяется следующее.Если вы используете остальной транспорт, то вы не используете DOH и более ограничены в своем выборе.
В DOH доступен документ на https://documentation.progress.com/output/oe117sp/index.html#page/gssp4/openedge-data-object-handler.html- это для 11.7.4, но в основном относится ко всем версиям (то есть начиная с 11.6.3+).Здесь описывается файл отображения JSON, который вам понадобится для создания переопределения по умолчанию, сгенерированного.
Если вы хотите использовать значение заголовка для всех операций, то вы можете использовать один изСобытия DOH.Есть пример обработчиков событий на https://github.com/PeterJudge-PSC/http_samples/blob/master/web_handler/data_object_handler/DOHEventHandler.cls;вам нужно будет запустить этот обработчик в процедуре запуска сеанса, используя new DOHEventHandler()
(способ написания кода состоит в том, что он превращается в одиночный).
Теперь вы можете добавить код обработки для события Invoking
который запускается до запуска бизнес-логики.
Если вы хотите передать значение заголовка в бизнес-логику, вам нужно будет
- Скопировать созданный файл сопоставления
<service>.gen
в<service.map>
, в той же папке.«gen» файлы генерируются и будут перезаписаны инструментом - . В файле .map добавьте новую запись
arg
.Это должно быть в том же порядке, что и параметры метода BE. - JSON должен выглядеть примерно так, как показано ниже.это прочитает значение заголовка и передаст его в качестве входного параметра в метод.
{ "ablName": "<parameter_name>",
"ablType": "CHARACTER",
"ioMode": "INPUT",
"msgElem": {"type": "HEADER", "name": "<http-header-name>"}
}