首页 文章

wso2 api经理内容长度问题

提问于
浏览
1

我正在使用WSO2 API MANAGER版本1.10.0 . 我有一个与Content-Length设置有关的问题 . 有两个api .
一个api有 411 error (required Content-Length) 然后我在 passthru-http.properties 文件中设置下面的属性 .

http.headers.preserve=Content-Length

之后411错误解决了 . 但另一个api发生异常 .

TID: [-1] [] [2016-12-23 16:11:18,946] ERROR         {org.apache.synapse.transport.passthru.SourceHandler} -  Content-Length header already present {org.apache.synapse.transport.passthru.SourceHandler}
org.apache.http.ProtocolException: Content-Length header already present
at org.apache.http.protocol.ResponseContent.process(ResponseContent.java:101)
at org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:139)
at org.apache.synapse.transport.passthru.SourceResponse.start(SourceResponse.java:170)
at org.apache.synapse.transport.passthru.SourceHandler.responseReady(SourceHandler.java:193)
at org.apache.http.impl.nio.DefaultNHttpServerConnection.produceOutput(DefaultNHttpServerConnection.java:305)
at org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection.produceOutput(LoggingNHttpServerConnection.java:114)
at org.apache.synapse.transport.passthru.ServerIODispatch.onOutputReady(ServerIODispatch.java:87)
at org.apache.synapse.transport.passthru.ServerIODispatch.onOutputReady(ServerIODispatch.java:39)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.outputReady(AbstractIODispatch.java:150)
at org.apache.http.impl.nio.reactor.BaseIOReactor.writable(BaseIOReactor.java:180)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
at java.lang.Thread.run(Thread.java:745)

因此,由于Content-Length配置,两个API无法同时运行 .

PS .

我看到下面的网址 .

WSO2 API Manager 1.10 issue

我修改了/ repository / deployment / server / synapse-configs / default / sequences文件夹中的main.xml

它不适合我 .

1 回答

  • 1

    您可以通过2种方法全局禁用分块 .

    1)编辑速度模板文件并添加它 .

    <property name="DISABLE_CHUNKING" value="true" scope="axis2"/>
    

    有关如何执行此操作,请参阅this blog .

    2)添加新的中介序列 . See this .

相关问题