我目前正致力于为大型映射请求提供路由,该请求最多可包含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,但我看不出任何明显的东西。
答案 0 :(得分:5)
您很可能使用GET方法来公开服务。当你有很多参数时,你应该看一下使用POST方法。您可以在Body中发送包含所有详细信息的json / xml消息到一个小URL。如果您决定使用json,可以使用JSON管道组件将json转换为XML,然后根据需要进行路由。