RestSharp не подключается к HP ALM
Это моя первая попытка использования RestSharp и HP ALM Rest API . Мне кажется, что в коде все нормально, но в ответ все равно появляется неавторизованная ошибка.
Любая подсказка, где я скучаю??
var client = new RestClient();
client.BaseUrl = new Uri("http://abc:8080/qcbin/");
client.Authenticator = new HttpBasicAuthenticator("poprawem", "abc`enter code here`");
client.CookieContainer = new System.Net.CookieContainer();
var request2 = new RestRequest("rest/domains/Projects/projects/Newgen/defects/");
IRestResponse response = client.Execute(request2);
Ошибка, которую я получаю,
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 401 Authentication failed. Browser based integrations - to login append '?login-form-required=y' to the url you tried to access.</title>
</head>
<body><h2>HTTP ERROR 401</h2>
<p>Problem accessing /qcbin/rest/domains/Projects/projects/Newgen/defects/. Reason:
<pre> Authentication failed. Browser based integrations - to login append '?login-form-required=y' to the url you tried to access.</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>
</body>
</html>
1 ответ
Вам нужно пройти аутентификацию и сначала создать сеанс.
var almServerUri = new Uri("http://alm.server.com/qcbin/");
var client = new RestClient();
client.BaseUrl = almServerUri;
client.Authenticator = new HttpBasicAuthenticator("poprawem", "abc`enter code here`");
client.CookieContainer = new System.Net.CookieContainer();
var authRequest = new RestRequest("authentication-point/authenticate");
var authResponse = client.Get(authRequest);
var createSessionRequest = new RestRequest("rest/site-session");
var createSessionResponse = client.Post(createSessionRequest);
try
{
//...........
//Do what you need here
//............
}
finally
{
var closeSessionRequest = new RestRequest("rest/site-session");
var closeSessionResponse = client.Delete(createSessionRequest);
}