「HTTP レシーバー」アクティビティで始まる TIBCO BW プロセスがあります。
元の HTTP 要求のサイズを (カスタム Java Code アクティビティを介して) 取得したいと考えています。(目的は、統計の収集、応答時間の測定、要求/応答のサイズなどです)
データを文字単位ではなくバイト単位で測定したいのですが、リクエストをバイト配列、ServletInputStream などとして取得することは可能ですか?
「HTTP レシーバー」アクティビティで始まる TIBCO BW プロセスがあります。
元の HTTP 要求のサイズを (カスタム Java Code アクティビティを介して) 取得したいと考えています。(目的は、統計の収集、応答時間の測定、要求/応答のサイズなどです)
データを文字単位ではなくバイト単位で測定したいのですが、リクエストをバイト配列、ServletInputStream などとして取得することは可能ですか?
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 に含まれます