У меня есть сценарий, в котором я получаю запрос, и на основе этого запроса мне нужно сделать несколько вызовов веб-службы в бэкэнд-системе. Все делается в оркестровке. Бэкэнд-система основана на сеансе, поэтому сначала я выполняю логин, а затем хочу делать свои вещи. Операция входа в систему отвечает заголовком Set-Cookie, я хочу поместить это значение в заголовок Cookie при последующих вызовах. Однако, при попытке сделать это в форме назначения сообщения:Возьмите Set-Cookie из входящего сообщения и поместите в Cookie в исходящее сообщение
msg_request2(HTTP.HttpCookie) = msg_loginresponse(HTTP.HttpCookie)
Я получаю сообщение об ошибке в окне просмотра событий:
Inner exception: There is no value associated with the property 'HTTP.HttpCookie' in the message.
Exception type: MissingPropertyException
Source: Microsoft.XLANGs.BizTalk.Engine
Я также попытался доступа к HTTP.InboundHttpHeaders из msg_loginresponse, то же самое сообщение об ошибке. Я могу увидеть свойство контекста InboundHttpHeaders в ожидаемом сообщении, поэтому я «знаю», что он есть.
Добавление ссылки на файл Microsoft.BizTalk.GlobalPropertySchemas.dll в моем проекте не помогло.
Какие-нибудь умные предложения?
Во-первых, действительно ли это должно работать именно так? В наши дни файлы cookie для приложений API практически отсутствуют. Вы уверены, что они не обновились до лучшего решения? –
Да, к сожалению, я уверен. Мне жаль, что я не могу просто отправить токен авторизации какого-то типа в мои вызовы, но, поскольку он стоит, я должен сделать логин, а затем скопировать файл cookie во все последующие вызовы. –