2011-01-06 3 views
0

私は、「HTTP受信者」アクティビティで始まるTIBCO BWプロセスを使用しています。TIBCO BWプロセスからのHTTP要求の取得

元のHTTPリクエストのサイズを(カスタムJavaコードアクティビティで)取得したいと考えています。 (統計情報、応答時間、要求/応答サイズなどを収集することを目的としています)

データを文字数ではなくバイト数で測定したいのですが、 をバイトとして取得できますか配列、ServletInputStreamまたは何か類似?

答えて

3

Javaコードから元のリクエストを受け取ることはできません。単純にJavaアクティビティからHTTP ReceiverのHTTPServletRequestオブジェクトにアクセスできないためです。生のリクエストデータにアクセスする場合は、このプロキシサーブレットを使用してプロキシサーブレットを作成し、BusinessWorksにアクセスすることができます。

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

のContent-Lengthエンティティヘッダフィールドは、エンティティボディのサイズを示す、受信者

コンテンツ長に送信オクテットの十進数で はHTTPの出力パラメータであります受信機。 「RequestURI」、「PostData」および「Header」パラメータの長さは、エンティティ本体の一部ではないため、追加する必要があります。


更新:PostDataのしたがって、そのサイズはコンテンツ長に含まれ、エンティティボディの一部である

関連する問題