Domanda

Ho un processo TIBCO BW che inizia con la 'HTTP Receiver' attività.

Mi piacerebbe ottenere (tramite un costume un'attività codice Java) la dimensione della richiesta HTTP originale. (Lo scopo è quello di raccogliere, statistiche tempi di risposta misura, richiesta / risposta dimensioni, ecc.)

Vorrei misurare i dati in byte e non in caratteri, è possibile ottenere la richiesta come un array di byte, ServletInputStream o qualcosa di simile?

È stato utile?

Soluzione

Non credo che si può ottenere la richiesta originale da codice Java - semplicemente perché non è possibile accedere all'oggetto HTTPServletRequest del HTTP ricevitore da un'attività Java. Se desideri accedere ai dati di richiesta prime, è possibile scrivere una servlet e proxy di accesso BusinessWorks tramite questo servlet proxy.

Se il vostro compito è solo quello di ottenere statistiche sulla dimensione richiesta, c'è una soluzione più semplice. È possibile utilizzare il parametro header "Content-length" per questo motivo ( http: // www.w3.org/Protocols/rfc2616/rfc2616-sec14.html ).

  

Il campo di entità-header Content-Length indica la dimensione del soggetto-corpo,   in numero decimale di ottetti, inviato al destinatario

Content-Length è un parametro di output del HTTP ricevitore. Potrebbe essere necessario aggiungere la lunghezza di "RequestURI", i parametri di "intestazione" "PostData" e in quanto non sono parte del corpo dell'entità.


Aggiornamento: PostData parte di entità-corpo, quindi, la sua dimensione è compresa nel Content-length

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top