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.

Geschrieben

AHHH habs gefunden

da fehlte nur das Leerzeichen ;-)

sollte new Easy...() heissen

Aber wenn du noch weisst welches Bsp das war wär ich dir höllisch dankbar.:)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...