从TIBCO BW进程获取HTTP请求

时间:2011-01-06 13:26:37

标签: tibco businessworks

我有一个TIBCO BW流程,它以“HTTP Receiver”活动开始。

我想(通过自定义Java代码活动)获取原始HTTP请求的大小。 (目的是收集统计数据,测量响应时间,请求/响应大小等。)

我想以字节而不是字符来衡量数据,是否可以获取请求 作为字节数组,ServletInputStream还是类似的东西?

1 个答案:

答案 0 :(得分:3)

我认为您无法从Java代码获取原始请求 - 只是因为您无法从Java活动访问HTTP Receiver的HTTPServletRequest对象。如果您想访问原始请求数据,可以编写代理Servlet并通过此代理Servlet访问BusinessWorks。

如果您的任务只是获取请求大小的统计信息,则有一个更简单的解决方案。出于这个原因,您可以使用“Content-length”标头参数(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)。

  

Content-Length entity-header字段表示实体主体的大小,   在十进制数的OCTET中,发送给收件人

Content-length是HTTP接收器的输出参数。您可能需要添加“RequestURI”,“PostData”和“Header”参数的长度,因为它们不是实体主体的一部分。


更新:PostData 是entity-body的一部分,因此其大小包含在Content-length中