2011-01-06 1 views
0

'HTTP 수신기'활동으로 시작하는 TIBCO BW 프로세스가 있습니다.TIBCO BW 프로세스에서 HTTP 요청 받기

원본 HTTP 요청의 크기를 (사용자 지정 Java 코드 활동을 통해) 얻고 싶습니다. (통계를 수집하고 응답 시간, 요청/응답 크기 등을 측정하는 것이 목적 임)

데이터를 문자가 아닌 바이트 단위로 측정하고 싶습니다. 을 바이트로 가져올 수 있습니까? 배열, ServletInputStream 또는 이와 비슷한?

답변

3

Java 코드에서 원래 요청을 얻을 수 없다고 생각합니다. 자바 작업에서 HTTP 수신기의 HTTPServletRequest 객체에 액세스 할 수 없기 때문입니다. 원시 요청 데이터에 액세스하려는 경우 프록시 서블릿을 작성하고이 프록시 서블릿을 통해 BusinessWorks에 액세스 할 수 있습니다.

작업이 요청 크기에 대해서만 통계를 얻는 경우 간단한 솔루션이 있습니다. 이러한 이유로 "Content-length"헤더 매개 변수를 사용할 수 있습니다 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).

콘텐츠 길이 실체 - 헤더 필드는 HTTP의 출력 파라미터를받는

콘텐츠 길이로 보낸 8 진수의 엔티티 바디 의 크기를 나타냅니다 리시버. 엔터티 본문의 일부가 아니므로 "RequestURI", "PostData"및 "Header"매개 변수의 길이를 추가해야 할 수 있습니다.


업데이트 :과 PostData 그러므로 그 크기는 내용 길이에 포함되어, 엔티티 본문의 부분