Obtendo a solicitação HTTP de um processo Tibco BW
-
26-09-2019 - |
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?
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