Mám webapp Java, ktorý obsahuje HttpClient do vzdialenej webovej služby .NET SOAP. Zatiaľ je všetko dobré. Webapp Java sa spúšťa v aplikácii Apache Tomcat na serveri Windows a používa účet služby.
Bohužiaľ, táto vzdialená webová služba .net používa NTLM. toto odpoveď dáva mi nejaký náhľad, ako to urobiť. Zdá sa však, že konfigurácia statických súborov vyžaduje používateľské meno / heslo, namiesto využitia služby, na ktorom je Tomcat spustený. Tiež si nie som istý, ako by mal vyzerať autentifikátor Java (ako je vidieť tu).
Už sa niekto pokúsil o to?
aktualizovať
Niektoré zaujímavé odkazy:
- rozdielny schém autentifikácie podporované v Apache HTTP Components
- Ukážka pre Overovanie NTLMv2 - Musím to ešte otestovať.
odpovede:
0 pre odpoveď č. 1Zdá sa, že v systéme Java 7/8 s Tomcat 8.x stačí na to, aby sa autentifikácia NTLM stala "transparentnou".
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.client.methods.HttpUriRequest;
Nasledovaný
boolean useWindowsAuthentication = true;
HttpUriRequest request;
CloseableHttpClient httpclient;
if (useWindowsAuthentication){
log.info("Using Windows Authentication");
httpclient = WinHttpClients.createDefault();
} else {
httpclient = HttpClients.createDefault();
}