Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Biztalk 从传入消息中获取设置Cookie,并将其放入传出消息中的Cookie中_Biztalk_Biztalk Orchestrations_Biztalk 2016 - Fatal编程技术网

Biztalk 从传入消息中获取设置Cookie,并将其放入传出消息中的Cookie中

Biztalk 从传入消息中获取设置Cookie,并将其放入传出消息中的Cookie中,biztalk,biztalk-orchestrations,biztalk-2016,Biztalk,Biztalk Orchestrations,Biztalk 2016,我有一个场景,在这个场景中,我接收到一个请求,并且基于该请求,我必须对后端系统进行一些web服务调用。所有这些都是在一个编排中完成的。后端系统是基于会话的,所以首先我执行登录,然后我想做我的事情。登录操作使用设置的Cookie头进行应答,我想在后续调用中将该值放入Cookie头中。但是,尝试在消息分配形状中执行此操作时: msg_request2(HTTP.HttpCookie) = msg_loginresponse(HTTP.HttpCookie) 我在事件查看器中发现一个错误: Inne

我有一个场景,在这个场景中,我接收到一个请求,并且基于该请求,我必须对后端系统进行一些web服务调用。所有这些都是在一个编排中完成的。后端系统是基于会话的,所以首先我执行登录,然后我想做我的事情。登录操作使用设置的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 
我还尝试访问了msg_loginresponse的HTTP.InboundHttpHeaders,同样的错误消息。我可以在结果的挂起消息中看到InboundHttpHeaders上下文属性,因此我“知道”它就在那里

在我的项目中添加对Microsoft.BizTalk.GlobalPropertySchemas.dll的引用没有帮助


有什么聪明的建议吗?

在您通知您的管理层,交易伙伴正在使用一种非常古老和不寻常的模式,您将不得不花费额外的时间,也就是金钱来适应(这个问题是100%由交易伙伴造成的)之后,应该非常简单

对于适配器,Set Cookie不会产生实际的Cookie,因为适配器没有会话的概念

您需要从HTTP.InboundHttpHeaders中解析cookie值,然后使用该值通过HTTP.HttpCookie或HTTP.UserHttpHeaders设置cookie


顺便说一句,由于99.9%的场景中的令牌身份验证是愚蠢和不必要的,我总是避免维护令牌,每次都只是“身份验证”。没有理由让你的应用程序更复杂。唯一的例外是,如果每次都以相同的顺序执行相同的调用,那么您可以在业务流程中保留令牌。

首先,它真的必须以这种方式工作吗?如今,API应用程序的cookie几乎不存在。你确定他们没有更新到更好的解决方案吗?是的,不幸的是我确定。我希望我可以在我的调用中发送某种身份验证令牌,但现在,我必须进行登录,然后将cookie复制到所有后续调用中。