В настоящее время я пытаюсь автоматизировать приложение MS Dynamics, которое имеет вызов REST, но требует проверки подлинности NTLM.
В настоящее время я пытался использовать метод .auth().ntlm()
, который не работает.Пожалуйста, помогите решить эту проблему.
см. Пример кода ниже:
String certificatesTrustStorePath = "C:\\Program Files (x86)\\Java\\jre1.8.0_181\\lib\\security\\cacerts";
System.setProperty("javax.net.ssl.trustStore", certificatesTrustStorePath);
String URL =baseURL;
RestAssured.baseURI = URL;
String Body=data;
String NtlmUsername="";
String Ntlmpassword="";
String Ntlmdomain="AD";
String Ntlmworkstation="";
Headers headers;
Header FirstHeader = new Header(header1,header1_value);
headers = new Headers(FirstHeader);
Response response1= RestAssured.given().auth().ntlm(NtlmUsername,Ntlmpassword,Ntlmdomain,Ntlmworkstation).config(RestAssured.config().sslConfig(
new SSLConfig().relaxedHTTPSValidation())).headers(headers)
.body(data).when()
.post(resourceURL);
, и отображается сообщение об ошибке:
Dec 27, 2018 12:49:12 PM org.apache.http.client.protocol.RequestTargetAuthentication process
WARNING: NEGOTIATE authentication error: No valid credentials provided (Mechanism level: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt))