Как выполнить проверку подлинности NTLM в методе Rest Assured POST? - PullRequest
0 голосов
/ 27 декабря 2018

В настоящее время я пытаюсь автоматизировать приложение 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))
...