2011-01-06 213 views
0

我有一個以'HTTP Receiver'活動開始的TIBCO BW進程。從TIBCO BW進程獲取HTTP請求

我想獲得(通過定製的Java代碼活性)原始HTTP請求的大小。 (目的是收集統計數據,測量的響應時間,請求/響應的大小等)

我想測量以字節爲單位,而不是以字符爲數據,是有可能得到該請求 作爲字節數組,ServletInputStream或類似的東西?

回答

3

我不認爲你可以從Java代碼中的原始請求 - 僅僅是因爲你不能從一個Java活動訪問HTTP接收器的HttpServletRequest對象。如果您想訪問原始請求數據,您可以編寫代理Servlet並通過此代理Servlet訪問BusinessWorks。

如果你的任務是隻拿到的請求大小統計,有一個簡單的解決方案。您可以使用「Content-length」標題參數(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)。

的Content-Length的實體頭字段指示實體主體, 的以八位位組的十進制數的大小,發送到接收方

內容長度的HTTP的輸出參數接收器。您可能需要添加「RequestURI」,「PostData」和「Header」參數的長度,因爲它們不是實體主體的一部分。


更新:POSTDATA 是實體主體的部分,因此,其大小被包括在內容長度