簡體   English   中英

WSO2 API管理器中的二進制中繼

[英]Binary relay in wso2 api manager

我們正在使用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到xml的轉換,然后是xml到json的轉換,將為我們的處理增加額外的負擔。

您在哪個版本的APIManager中看到上述問題? 如果啟用Binaryrelay消息構建器,則在任何序列中使用日志介體時,您只會看到二進制消息的內容。 發布時,您是否正確設置了請求的內容類型? 請檢查您的axis2配置中是否添加了中繼模塊conf(axis2.xml)

  <module ref="relay"/>

我已經找到解決方案。 僅當我們在axis2.xml中禁用中繼模塊conf時,二進制中繼才會在API管理器中發生。

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

默認情況下,它在1.3.0版中啟用,而在1.3.1版中禁用。 但是要使中繼適用於application / json內容類型,除了使用二進制中繼的消息生成器/格式化程序外,我們還必須禁用此功能。 不知道這是否會影響其他因素。 這可能是API管理器中的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM