即使Content Length应该为0,WSO2 APIM网关1.6.0也会插入chunk字符的末尾



我们正在尝试删除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

欢呼,科林

相关内容

  • 没有找到相关文章

最新更新