Java HTTP Connection und Output Streams

Ansics

Cadet 4th Year
Registriert
Mai 2003
Beiträge
107
Hi,

Ich greife mit meinem Handy auf nen Webservices (geschrieben in Axis) zu und möchte nun die Verbindung zum Webservice nicht immer wieder aufbauen, wenn ich ihn brauche, sondern möchte die Verbindung dauerhaft bestehen lassen. Das soll deswegen so sein, da der Webservice sich über nen paar Aufrufe hinweg einige Daten, die er vom Handy empfangen hat, merken soll.

Hier mein Code:
Auf dem Handy läuft das ganze so:

Code:
HttpConnection connection = (HttpConnection) Connector.open(url, Connector.READ_WRITE, true);
connection.setRequestProperty("SOAPAction", soapAction);
                connection.setRequestProperty("Content-Type", "text/xml");
                connection.setRequestProperty("Content-Length", "" + requestData.length);
                connection.setRequestProperty("User-Agent", "kSOAP/2.0");
                connection.setRequestMethod(HttpConnection.POST);
os = connection.openOutputStream();
            os.write(requestData, 0, requestData.length);
            os.close();
            requestData = null;
            is = connection.openInputStream();
// Ergebnis einlesen (nicht so wichtig)
is.close();
is= new ByteArrayInputStream(buf);

if (is != null) {
            try {
                is.close();
            } catch (Throwable e) {
            }
}

Ich muss dazu sagen, dass die HttpConnection ganz oben nur einmal geöffnet wird und nachfolgend auch nicht geschlossen werden soll. Jetzt bekomme ich beim zweiten Aufruf des Webservices folgende Fehlermeldung:
java.io.IOException: no more output streams available

Kann man sich auf eine Verbindung nicht beliebig viele Outputstreams holen? Muss ich vorher die Verbindung via connection.close() wieder trennen, bevor ich wieder Outputstreams holen kann? Aber grade das will ich ja nicht.

Oder gibts irgendeine andere Möglichkeit wie ich die Sitzung aufrecht erhalten kann?

Viele Grüße
Ansics
 
Zurück
Oben