Frage

Ich habe kürzlich meine Webdienste von Axis auf CXF (2.1) migriert. Es scheint, dass CXF zwar den "Axis.SocketSecureFactory" -Set benötigt, während CXF die Standardeinstellung erfasst. Wie setze ich den Standard -SocketFactory in Java auf meine eigene Implementierung (z. B. eine Eigenschaft)?

Was ich bin nicht Wenn Sie die Standard -SocketFactory -Eigenschaften wie das Festlegen der Eigenschaft für meine TrustStore, Keystore und Passwörter festlegen, setzen Sie die Standard -SocketFactory -Eigenschaften.

War es hilfreich?

Lösung

Nach dem OpenJDK7 -Quellcode für javax.net.SocketFactory, Die Sonne JVM ist schwer codiert, um a zurückzukehren javax.net.DefaultSocketFactory zum getDefault();

Bearbeiten: Der Standard -SSLSOCKETFACTORY kann jedoch von der Sicherheitseigenschaft festgelegt werden ssl.SocketFactory.provider

Andere Tipps

Wenn wir über die Standard -Sockets sprechen, dann Socket.setSocketImplFactory(SocketImplFactory) wird verwendet, um die Fabrik für gewöhnliche Sockets zu ändern und ServerSocket.setSocketFactory(SocketImplFactory) Für Server -Sockets.

Wenn Sie diese verwenden, beachten Sie die Tatsache, dass Sie diese Fabriken nur einmal festlegen können.

Beachten Sie die Standardeinstellung der Java Socket -Implementierung für die Verwendung von SocksocketImpl (eine sichtbare Paket -sichtbare Klasse in Java.net), wenn die IT festgestellt wird, dass die Fabrik ist null Falls Sie eine Fabrik möchten, die das Pack auf die Standard -Java -Implementierung wechseln kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top