Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe mit Java 1.5+ Axis 1.3 einen Client programmiert, der einen Zugriff auf eine Plattform einwandfrei macht (näheres dazu unter http://jagosi.soebes.de).
Leider komme ich derzeit nicht weiter, da ich die Kommunikation per "https" laufen lassen möchte...
Ich habe hier im Forum gesucht, bin auf das hier gestossen, wo aber der Link auf das Kapitel nicht mehr gültig ist...
Sprich die Frage ist: Wie kann ich Axis bei bringen per https zu kommunizieren anstatt per http?
hängt davon ab ob der server auch ein zertifikat deines clients erwartet.
wenn nein, musst du einfach die folgenden properties vor dem aufruf setzten
System.setProperty("javax.net.ssl.trustStore", "pfad zu meinem truststore");
System.setProperty("javax.net.ssl.trustStorePassword", "mein passwort");
wenn ein zertifikat erwartet wird zusätzlich
System.setProperty("javax.net.ssl.keyStore", "pfad zu meinem keystore");
System.setProperty("javax.net.ssl.keyStorePassword", "passwort für mein keystore");
und natürlich nicht vergessen die ensprechende https - url zu verwenden ;-)
aber wie schon erwähnt gibts dazu auch massenweise infos im netz
So jetzt bekomme ich eine Ganze menge Ausgaben...so weit so gut...
aber dann kommt das folgenden:
Code:
main, READ: SSLv3 Alert, length = 2
main, RECV SSLv3 ALERT: fatal, bad_record_mac
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:166)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:117)
...
Das Problem scheint mir, dass wenn ich die Seite im Browser Aufrufe kommt zuerst, dass das Zertifikat von einer nicht anerkannten Stelle ist (sprich es ist selbst gebaut; Nichtmal von cacert..).
Dann muss ich das noch für die aktuelle Sitzung akzeptieren.