0

「HTTP レシーバー」アクティビティで始まる TIBCO BW プロセスがあります。

元の HTTP 要求のサイズを (カスタム Java Code アクティビティを介して) 取得したいと考えています。(目的は、統計の収集、応答時間の測定、要求/応答のサイズなどです)

データを文字単位ではなくバイト単位で測定したいのですが、リクエストをバイト配列、ServletInputStream などとして取得することは可能ですか?

4

1 に答える 1

3

JavaアクティビティからHTTPレシーバーのHTTPServletRequestオブジェクトにアクセスできないため、Javaコードから元のリクエストを取得できないと思います。生のリクエスト データにアクセスしたい場合は、プロキシ サーブレットを記述し、このプロキシ サーブレットを介して BusinessWorks にアクセスできます。

タスクがリクエスト サイズに関する統計情報を取得することだけである場合は、より簡単な解決策があります。このため、「Content-length」ヘッダー パラメータを使用できます ( http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html )。

Content-Length エンティティ ヘッダー フィールドは、受信者に送信されたエンティティ ボディのサイズを OCTET の 10 進数で示します。

Content-length は、HTTP レシーバーの出力パラメーターです。「RequestURI」、「PostData」、および「Header」パラメーターはエンティティ本体の一部ではないため、それらの長さを追加する必要がある場合があります。


更新: PostDataエンティティ本体の一部であるため、そのサイズは Content-length に含まれます

于 2011-01-16T22:13:40.817 に答える