wcf - BizTalk 2013 - 通过 WCF-WebHttp 公开 REST 端点时 URL 的 256 个字符限制

标签 wcf biztalk biztalk-2013

我目前正在满足为大型映射请求提供路由的需求,该请求最多可以包含 30 个查询字符串项。

在开发我的 BizTalk 项目时,我已经成功地使用 WCF-WebHttp 类型接受带有少量查询字符串的 http 请求,提升属性并将消息通过订阅发送端口发送到适当的系统。

但是,如果查询字符串的数量增加到 URL 地址超过 256 个字符的程度,则会出现以下错误:

提升属性的值不能超过 256 个字符。属性“To”命名空间“http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties”。
参数名称:obj


这是在接收管道之前抛出的。我知道提升的属性不能超过 256 个字符,但是在这种情况下我被卡住了,因为我(似乎)无法控制有关上述属性的属性提升。

是否可以将 BizTalk 应用程序配置为不提升“To”属性?我想它的推广是有原因的,所以它可能不是一个可行的解决方案 - 如果它可以做到的话。

考虑到这一点,是否还有其他方法可以创建可以处理具有大量查询字符串的请求的接收位置?我查看了 WCF-Custom,但看不到任何明显的东西。

最佳答案

您很可能正在使用 GET 方法来公开服务。当您有很多参数时,您应该考虑使用 POST 方法。您可以在 Body 中将包含所有详细信息的 json/xml 消息发送到一个小 url。如果您决定使用 json,您可以使用 JSON 管道组件将 json 转换为 XML,然后根据需要进行路由。

关于wcf - BizTalk 2013 - 通过 WCF-WebHttp 公开 REST 端点时 URL 的 256 个字符限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42073816/

相关文章:

c# - 在 URL 中传递网络路径

xml - 删除 XSLT 映射生成的元素的命名空间前缀

Apache Edge Server 将 SSL 证书放在 header 中与重新附加它们

wcf - 使用 BizTalk REST 适配器的 AddressFilter 不匹配 - 为什么?

unit-testing - 阻止 BizTalk 项目调用完全重建?

c# - gzip 流并使用 WCF 发送它

c# - System.ServiceModel.Clientbase.Open() 是做什么的?

wcf - 如何在 WCF 终结点的 XML 配置中指定协定的命名空间?

error-handling - 如何在BizTalk管理控制台中显示来自自定义仿函数类错误的异常消息?

biztalk - 2XDasm 中遇到 fatal error 。异常信息是对象引用未设置到对象的实例