我们正在尝试删除WSO2 APIM网关在HTTP体响应中插入的HTTP块字符的结束端,即使响应体应该为空(204状态码)。
我们正在使用WSO2 API管理器1.6.0,每当它接收到没有内容类型的消息(示例响应状态码204 No Content)时,WSO2 API管理器网关包括Header"Transfer-Encoding: chunked",内容体为0(长度5),块0rn结束。
在这种情况下,期望content - length为0,内容体完全为空。
1)我们首先尝试在API定义中插入以下行来强制内容长度为0,但没有成功:
$CARBON_HOME/repository/deployment/server/synapse-configs/default/api/下:
<outsequence>
<property name="FORCE_HTTP_CONTENT_LENGTH" scope="axis2" value="true"></property>
<property name="COPY_CONTENT_LENGTH_FROM_INCOMING" scope="axis2" value="true"> </property>
<send></send>
</outsequence>
2)我们也尝试插入以下行来禁用WSO2文档(https://docs.wso2.com/display/ESB450/HTTP+Transport+Specific+Properties)中描述的块编码,但没有成功:
<outsequence>
<property name="FORCE_HTTP_1.0" value="true" scope="axis2" />
<property name="DISABLE_CHUNKING" value="true" scope="axis2" />
<send></send>
</outsequence>
3)我们还尝试在API xml定义的标记中插入这些行,但没有成功。
对WSO2 APIM网关的传入HTTP响应:
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
日期:Fri, 08 Aug 2014 14:02:57 GMT
来自WSO2 APIM网关的外发HTTP响应:
HTTP/1.1 204 No Content
Access-Control-Allow-Headers: authorization,Access-Control-Allow-Origin,Content-Type
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
Date: Fri, 08 Aug 2014 13:56:50 GMT
Server: WSO2-PassThrough-HTTP
Transfer-Encoding: chunked
0
你能帮我们解决这个问题吗?
非常感谢您的支持
JS
尝试添加以下属性中介来禁用分块:
<property name="DISABLE_CHUNKING" value="true" scope="axis2"/>
此属性中介可用于自定义序列和结果。您还可以将其添加到API模板中。这里有一篇关于将此应用于模板的博客文章:http://hoosierapi.blogspot.com/2014/07/wso2-api-manager-proxing-without.html
欢呼,科林