411从WSO2 API Manager发布到REST端点的响应

时间:2016-02-05 17:31:54

标签: json rest wso2 wso2-am

我在WSO2 AM中设置了一个REST端点,该端点调用另一个REST端点。拨打电话时,我收到411响应代码。该请求包含一个JSON主体,内容类型和接受标头设置为application / json。我可以使用相同的参数直接访问WSO2正在访问的支持服务,并且它可以正常工作。似乎WSO2 AM正在剥离或不发送内容长度。

为什么内容长度没有被发送到正在访问的REST端点?

1 个答案:

答案 0 :(得分:0)

默认情况下禁用发送内容长度,因为它可能会导致性能下降。但是你可以通过添加以下api的序列来启用它。 (关于向api添加自定义序列,请参阅https://docs.wso2.com/display/AM1100/Adding+Mediation+Extensions

<property name="COPY_CONTENT_LENGTH_FROM_INCOMING" value="true" scope="axis2"/>
<property name="FORCE_HTTP_CONTENT_LENGTH" scope="axis2" value="true"></property>

以下是样本序列

<sequence xmlns="http://ws.apache.org/ns/synapse" name="contentLengthadd">
    <property name="COPY_CONTENT_LENGTH_FROM_INCOMING" value="true" scope="axis2"/>
    <property name="FORCE_HTTP_CONTENT_LENGTH" scope="axis2" value="true"></property>
</sequence>

此序列将从传入的请求请求中获取内容长度,并将请求头传递给后端。

您可以在https://docs.wso2.com/display/ESB481/HTTP+Transport+Properties#HTTPTransportProperties-FORCE_HTTP_CONTENT_LENGTH

中详细了解这两个属性