2011-01-06 257 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 是实体主体的部分,因此,其大小被包括在内容长度