Ahoj, je to takto:
Kde to máme pomíchané, to nevíme. Víme toto:
ODESÍLATEL:
public static HttpURLConnection post (
URL fo_url,
Document fo_xml
)
{
HttpURLConnection lo_connection; // konexe na server
try // pripoj se na server
{
// otevri konexi na server
lo_connection = (HttpURLConnection) fo_url.openConnection ();
lo_connection.setDoInput (true); // povol cteni
lo_connection.setDoOutput (true); // povol zapis
lo_connection.setUseCaches (false); // zakaz cache
lo_connection.setRequestMethod ("POST"); // budem POSTovat
lo_connection.setRequestProperty ("Content-Type",
"text/xml; charset=UTF-8");
ByteArrayOutputStream lo_buf = new ByteArrayOutputStream ();
getXmlTransformer ().transform (new DOMSource (fo_xml),
new StreamResult (lo_buf));
bigLog.info ("Posilam stream: [\n" + lo_buf.toString () + "\n]"); // tady je to ještě OK
OutputStream lo_out = lo_connection.getOutputStream ();
lo_out.write (lo_buf.toByteArray ());
lo_out.close ();
}
SERVLET:
public void doPost (
HttpServletRequest fo_req, // I: HTTP request
HttpServletResponse fo_res // O: HTTP response
)
{
InputStream lo_in = fo_req.getInputStream (); // ziskej vstupni stream
ByteArrayOutputStream lo_input = new ByteArrayOutputStream ();
for (;;)
{
byte [] lan_buffer = new byte [2048];
int ln_bytesRead = lo_in.read (lan_buffer);
if (-1 == ln_bytesRead) break;
lo_input.write (lan_buffer, 0, ln_bytesRead); // tady už to je pomíchané
}
Dík
Katka
Martin Kuba <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED] 16.10.2006 16:57
|
|
Kdyz mate vsechno v poradku, tak k problemum nemuze dochazet ;-)
Zkuste pouzit TCPMon, viz
http://ws.apache.org/commons/tcpmon/tcpmontutorial.html
aspon poznate, jestli je chyba na klientovi nebo na serveru.
Makub
[EMAIL PROTECTED] wrote:
>
> ano, mame reentrantni metody, kontrovali jsme to ;-(
>
> *On Mon, 16 Oct 2006 16:12:36 +0200, Katerina.Molnarova wrote*
> > zdravím,
> > používáme toto nastavení:
> >
> > <Connector port="8084" maxHttpHeaderSize="8192"
> > * maxThreads="150" minSpareThreads="25"
> maxSpareThreads="75"*
> > enableLookups="false" redirectPort="8443" acceptCount="100"
> > connectionTimeout="20000" disableUploadTimeout="true" />
> >
> > Při zpracování se spouští až 300 vláken, ale kluci se tváří, že je
> to v pohodě.
> >
> >
>
> Mate urcite vsechny metody servletu reentrantni?
> Pokud si dobre pamatuji, tak ve specifikaci servlet API je, server
> vytvori singleton instanci tridy servletu a potom ji pouziva z vice
> vlanek najednou.
> Takze pokud neni kod reentrantni mouhou se dit zajimave veci.
>
> A jak poznate, ze je kod reentrantni:
> zejmena nepouzivate v metodach jine, nez lokalni promene - "alokovane
> na zasobnik" (tj. nikoliv atributy objektu)
>
>
> Lukas
>
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Science email: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--------------------------------------------------------------
smime.p7s
Description: Binary data