Pergunta

Eu tenho um processo TIBCO BW que começa com a atividade do 'receptor HTTP'.

Eu gostaria de obter (através de uma atividade de código Java personalizada) do tamanho da solicitação HTTP original. (O objetivo é coletar estatísticas, medir tempos de resposta, tamanhos de solicitação/resposta etc.)

Eu gostaria de medir os dados em bytes e não em caracteres, é possível obter a solicitação como uma matriz de bytes, servletInputStream ou algo semelhante?

Foi útil?

Solução

Eu não acho que você possa obter a solicitação original do código Java - simplesmente porque você não pode acessar o objeto HttpServletRequest do receptor HTTP de uma atividade Java. Se você deseja acessar os dados da solicitação bruta, pode escrever um servlet proxy e acessar as obras comerciais por meio deste servlet proxy.

Se sua tarefa é apenas para obter estatísticas no tamanho da solicitação, há uma solução mais simples. Você pode usar o parâmetro de cabeçalho "de comprimento de conteúdo" por esse motivo (http://www.w3.org/protocols/rfc2616/rfc2616-sec14.html).

O campo do cabeçalho da entidade de comprimento de conteúdo indica o tamanho do corpo da entidade, em número decimal de octetos, enviado ao destinatário

O comprimento do conteúdo é um parâmetro de saída do receptor HTTP. Pode ser necessário adicionar o comprimento dos parâmetros "requesturi", "pós -dados" e "cabeçalho", pois eles não fazem parte do corpo da entidade.


Atualização: PostData é parte do corpo da entidade, portanto, seu tamanho é incluído no comprimento do conteúdo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top