Получение HTTP-запроса от процесса TIBCO BW - PullRequest
0 голосов
/ 06 января 2011

У меня есть процесс TIBCO BW, который начинается с действия «HTTP Receiver».

Я хотел бы получить (с помощью пользовательской активности Java-кода) размер исходного HTTP-запроса. (Цель - собрать статистику, измерить время ответа, размеры запросов / ответов и т. Д.)

Я бы хотел измерить данные в байтах, а не в символах, возможно ли получить запрос как байтовый массив, ServletInputStream или что-то подобное?

1 Ответ

3 голосов
/ 17 января 2011

Я не думаю, что вы можете получить исходный запрос из кода Java - просто потому, что вы не можете получить доступ к объекту HTTPServletRequest HTTP Receiver из действия Java.Если вы хотите получить доступ к необработанным данным запроса, вы можете написать прокси-сервлет и получить доступ к BusinessWorks через этот прокси-сервлет.

Если ваша задача - только получить статистику по размеру запроса, есть более простое решение.,По этой причине вы можете использовать параметр заголовка «Content-length» (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).

. Поле заголовка объекта Content-Length указывает размер тела объекта в десятичном числе OCTET,отправлено получателю

Content-length - это выходной параметр получателя HTTP. Возможно, вам потребуется добавить длину параметров «RequestURI», «PostData» и «Header», поскольку они не являются частьютела объекта.


Обновление: PostData является частью тела объекта, поэтому его размер включен в Content-length

...