0

http://icap.mimo.ch/nettyICAPクライアントを使用しています。サーバーがHTTP403で応答すると、クライアントはHTTPヘッダーの読み取りをオフにしているように見えます。助けていただければ幸いです。

mimoコーデックからのログ

IcapClient HostIPabsoluteFilePath

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 OK

カプセル化:req-hdr = 0、res-hdr = 0、res-body = 176

日付:2013年2月8日金曜日09:35:39 GMT

サービス:Somethin Systems Somethin Systems DLPSDKICAPサーバー1.0

HTTP /1.1403禁止

コンテンツタイプ:text / xml

コンテンツ-長さ:1118

サーバー:Somethin Systems Somethin Systems DLPSDKICAPサーバー1.0

日付:2013年2月8日金曜日09:35:39 GMT

45e

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

上記のxmlは切り捨てられます。

4

1 に答える 1

0

ICAP 応答で「req-hdr=0」が許可されていないことがわかりました。言い換えれば、ICAP サーバーが非準拠の応答を送信するという問題の方が大きかったということです。

于 2013-02-12T20:11:32.570 に答える