Json wso2 api管理器中的二进制中继

Json wso2 api管理器中的二进制中继,json,api,rest,wso2,Json,Api,Rest,Wso2,我们正在使用wso2 api管理器来管理REST api。api管理器中的默认配置随org.wso2.carbon.relay.BinaryRelayBuilder一起提供,用于application/json内容类型。我希望将整个数据作为二进制处理,并添加到soap主体中的有效负载节点。但是,当我们尝试向api管理器发送请求时,整个请求被转换为xml并用SOAP信封包装。这是通过将请求记录在api管理器为该api创建的代理的序列中得到确认的,我们可以看到整个json请求转换为xml 为什么AP

我们正在使用wso2 api管理器来管理REST api。api管理器中的默认配置随org.wso2.carbon.relay.BinaryRelayBuilder一起提供,用于application/json内容类型。我希望将整个数据作为二进制处理,并添加到soap主体中的有效负载节点。但是,当我们尝试向api管理器发送请求时,整个请求被转换为xml并用SOAP信封包装。这是通过将请求记录在api管理器为该api创建的代理的序列中得到确认的,我们可以看到整个json请求转换为xml

为什么API网关在使用中继时从json转换为xml?要在api管理器中禁用此xml处理,我们必须进行任何配置吗


注意:我们的API之一是高通量API。这个json-to-xml转换和xml-to-json转换将为我们的处理增加额外的负载。

您在哪个版本的APIManager中看到上述问题?如果启用了Binaryrelay消息生成器,则在任何序列中使用日志中介器时,只能看到二进制消息内容。 在发布时,您是否正确设置了请求的内容类型? 请检查是否在axis2配置(axis2.xml)中添加了中继模块conf


我找到了解决这个问题的方法。只有在禁用axis2.xml中的中继模块conf时,二进制中继才会在API管理器中发生

<!--module ref="relay"/-->


默认情况下,它在1.3.0版中启用,在1.3.1版中禁用。但是,为了使中继工作于application/json内容类型,除了使用二进制中继的消息生成器/格式化程序外,我们还必须禁用它。不确定这是否会影响其他方面。这可能是API管理器中的错误。

我们使用的是1.3.0版。默认情况下,中继模块conf添加到axis2.xml中。我们将application/json作为内容类型传递。
<!--module ref="relay"/-->