Mimo ICAP编解码器不适用于HTTP 403

时间:2013-02-11 19:50:44

标签: netty

我们正在使用http://icap.mimo.ch/ netty ICAP客户端。当服务器使用HTTP 403响应时,客户端似乎没有读取HTTP头。任何帮助表示赞赏。

来自mimo编解码器的日志

  

IcapClient HostIP absoluteFilePath

     

SKIP_CONTROL_CHARS -------

     

READ_ICAP_INITIAL_STATE -------

     

READ_ICAP_HEADER_STATE -------

     

READ_HTTP_REQUEST_INITIAL_AND_HEADERS -------

    8 Feb, 2013 4:15:53 PM org.jboss.netty.channel.SimpleChannelUpstreamHandler
WARNING: EXCEPTION, please implement com.chunk.IcapClientHandler.exceptionCaught() for proper handling.
    java.lang.IllegalArgumentException: invalid version format: FORBIDDEN
    at org.jboss.netty.handler.codec.http.HttpVersion.<init>(HttpVersion.java:102)
    at org.jboss.netty.handler.codec.http.HttpVersion.valueOf(HttpVersion.java:62)
    at ch.mimo.netty.handler.codec.icap.ReadHttpRequestInitialAndHeadersState.execute(ReadHttpRequestInitialAndHeadersState.java:52)
    at ch.mimo.netty.handler.codec.icap.IcapMessageDecoder.decode(IcapMessageDecoder.java:98)
    at ch.mimo.netty.handler.codec.icap.IcapMessageDecoder.decode(IcapMessageDecoder.java:1)
    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500)
    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
    at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)

响应的数据包捕获:

  

ICAP / 1.0 200确定

     

封装:req-hdr = 0,res-hdr = 0,res-body = 176

     

日期:2013年2月8日星期五09:35:39 GMT

     

服务:Somethin Systems Somethin Systems DLP SDK ICAP Server 1.0

     

HTTP / 1.1 403 Forbidden

     

Content-Type:text / xml

     

内容长度:1118

     

服务器:Somethin Systems Somethin Systems DLP SDK ICAP Server 1.0

     

日期:2013年2月8日星期五09:35:39 GMT

     

45E

<?xml version="1.0" encoding="UTF-8"?>
<Results>
    <Action>3</Action>
</Results>

上面的xml被截断。

1 个答案:

答案 0 :(得分:0)

我发现ICAP响应中不允许“req-hdr = 0”。换句话说,问题更多的是ICAP服务器发送不符合的响应。