当前,我正在尝试使具有REST调用但需要NTLM身份验证的MS动态应用程序自动化。
当前,我尝试了.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))