【问题标题】:Jasper server rest service returns unauthorizedJasper 服务器休息服务返回未经授权
【发布时间】:2015-06-16 15:38:57
【问题描述】:

使用 .NET Http 客户端登录到 Jasper 服务器。

 HttpResponseMessage loginResponse = loginClient.PostAsync("http://localhost:8080/jasperserver/rest/login", formContent).Result;
IEnumerable<string> jaspsessid = loginResponse.Headers.GetValues("Set-Cookie");

使用上面的会话 ID 我传递给下一个请求。

HttpClient httpClient = new HttpClient();
        httpClient.DefaultRequestHeaders.Add("Cookie", jaspsessid);
            httpClient.DefaultRequestHeaders.Accept.Add(new 

System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
StringContent requestContent = constructJasperRequestJson(reportParameters);
HttpResponseMessage generateReportRequestResponse = new HttpResponseMessage();
generateReportRequestResponse = httpClient.PostAsync(AppConstant.JASPER_SERVER_BASE_URI + AppConstant.JASPER_SERVER_REPORT_EXECUTION_URI, requestContent).Result;

在第二个请求中,我得到 401.Unauthorized。

如果有人知道这个问题,请帮助我。

【问题讨论】:

    标签: c# jasper-reports httpclient jasperserver


    【解决方案1】:

    您可以使用 CookieContainer 来保存会话 cookie,而不是设置标头。

    有关示例,请参阅 How do I set a cookie on HttpClient's HttpRequestMessage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 2012-02-23
      • 2016-01-17
      • 2012-03-14
      • 2022-11-08
      相关资源
      最近更新 更多