gpt4 book ai didi

wcf - 无法以编程方式在 BizTalk Wcf 自定义响应端口中设置 Content-Type

转载 作者:行者123 更新时间:2023-12-04 10:21:46 25 4
gpt4 key购买 nike

我正在尝试使用 bLogical REST Start Kit for BizTalk (http://biztalkrest.codeplex.com/) 将 JSON 消息接收到 BizTalk。

我能够成功接收消息、转换它并从我的业务流程返回响应,但是当我通过 BizTalkRESTResponseHandler 将响应转换回时,HTTP 内容类型被强制返回“应用程序/xml” ,即使我明确地将其设置为“application/json”。通过在 Fiddler 和 SoapUI 中跟踪请求和响应来确认 Content-Type。

请求中的 Accept: 值为 'application/json'

关于如何进一步跟踪 Wcf-Custom 适配器堆栈以查看 Content-Type 重置位置的任何想法?

最佳答案

您可以通过在 IDispatchMessageInspector 中返回消息之前添加一个 HttpResponseMessageProperty 来解决这个问题。您可以直接在 BizTalkRESTResponseHandler IDispatchMessageInspector 中或在单独的一个中执行此操作。

要在 BizTalkRESTResponseHandler 中执行此操作,请获取源代码并在 BeforeSendReply 方法中的最后 “reply = newReply” 上方添加以下 3 行代码。

HttpResponseMessageProperty prop = new HttpResponseMessageProperty();
newReply.Properties.Add(HttpResponseMessageProperty.Name, prop);
prop.Headers.Add("Content-Type", "application/json;charset=utf-8");

现在而不是得到:

enter image description here

你会得到这个:

enter image description here

关于wcf - 无法以编程方式在 BizTalk Wcf 自定义响应端口中设置 Content-Type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16684610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com