Zum Inhalt springen

commons-HttpClient und https


Empfohlene Beiträge

Geschrieben

Hallo ihr lieben Mitenwtickler,

Ich hab hier mal ein für mich etwas kniffliges Problem:

Ich muss den "Apacha HttpClient" auch "Jakarta commons-HttpClient" verwenden um einen Server und das darauf befindliche Servlet anzustossen.

Bisher tue ich das mit dem Http-Protokol und alles klappt wunderbar.

Mein Quellcode dazu:


HttpClient httpClient = new HttpClient();

GetMethod httpGetMethod = new GetMethod("http://"+args[0]+"/ats_app/Batch?APPLICATION_NAME=amisats&bensl="+args[1]+"&BATCH_CONTROLLER=de.allianz.ats." + batchControllerString  + "&BATCH_CONFIG_FILE=" + konfigfileString);

try {

	[B]int statusCode = httpClient.executeMethod(httpGetMethod);[/B]

	if (statusCode != HttpStatus.SC_OK) {

		System.out.println("ServletCaller Ergebnis: Fehlgeschlagen wegen: " + 	httpGetMethod.getStatusLine());

	}


	String responseBodyString = new String(httpGetMethod.getResponseBody());

	if (responseBodyString.indexOf(REQUEST_ERROR) > -1) {

		returnCode = RETURNCODE_ERROR; 

		System.out.println("ServletCaller Ergebnis: Error");

	}

	else if (responseBodyString.indexOf(REQUEST_OK) > -1) {

		returnCode = RETURNCODE_OK;

		System.out.println("ServletCaller Ergebnis: OK");

	}

}

catch(Exception e) {

	returnCode = RETURNCODE_ERROR;

	System.out.println("ServletCaller Exception: " + e); 

	System.out.println("ServletCaller Ergebnis: Error: " + e.getMessage());

}

finally {

	httpGetMethod.releaseConnection();

	System.exit(returnCode);

}

Nun soll ich aber das Https Protocol verwenden und den Get somit verschlüsselt absetzen.

Hat von euch einer schon sowas gemacht?

Ich hab dazu mehrere Begriffe gehört: "Truststore", "Keystore"

Aber weis leider nicht wie ich das einsetzen muss.

Bin für jede Hilfe dankbar auch wenns nur Hinweise in die richtige Richtung sind :-)

Geschrieben

Protocol https = new Protocol("https", (ProtocolSocketFactory) newEasySSLProtocolSocketFactory(), 443);

Protocol.registerProtocol("https", https);

HttpClient client = new HttpClient();

So sieht bei mir der anfang aus und damit gehts (rest ist gleich).(habe es aber nur für "Post" gemacht, sollte aber trotzdem gehen) Auf der http://jakarta.apache.org/

sind aber gute Bsp. (im bereich commons) hätte auch das pasende rausgesucht aber die seite ist gerade nicht erreichbar.

Hoffe es hilft weiter

Geschrieben

Danke für die nette Antwort.

Hab aber noch ne Frage dazu:

Was liefert die Funktion "newEasySSLProtocolSocketFactory" denn bei dir, bzw. wie sieht die denn aus ... sonst hilft mir das Beispiel nämlich erstmal nicht soviel.

Werd aber noch die Jakarta Seite weiter durchforsten.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...