Heute habe ich versucht, die HttpComponentsMessageSender
zu konfigurieren, die Apaches org.apache.httpcomponents.httpclient
Bibliothek verwendet. Bevor ich die Standard-Java-Klassen verwendet habe (ich denke java.net.HttpUrlMessageSender
oder etwas in dieser Richtung).HttpComponentMessageSender NTLM
Meine HTTP-Methoden müssen mit NTLM authentifiziert werden, und die Software läuft unter Linux, daher kann ich nicht den Windows-Standardmechanismus für die Authentifizierung verwenden, sondern muss die Authentifizierung innerhalb der Java-Anwendung konfigurieren.
Ursprünglich verwendete ich nur eine benutzerdefinierte Implementierung von java.net.Authenticator
, die ich verwendet, um den Benutzernamen und das Kennwort für den NTLM-Zugriff festzulegen. Aber als ich zu HttpComponentsMessageSender
wechselte, funktionierte dieser Ansatz nicht mehr. Als ich versuchte, eine benutzerdefinierte HttpClient
Konfiguration mit dem HttpComponentsMessageSender
einzurichten, stieß ich auf verschiedene Probleme, von denen ich dachte, dass ich sie hier dokumentieren würde.
Ich werde meine eigene Antwort posten, aber wenn jemand eine bessere Lösung hat, zögern Sie nicht, Ihre Lösung hinzuzufügen.