zhengwei_cq 发表于 2021-8-23 09:41:19

json数据源

问题描述:我有一个数据源是用webservice获取的json数据源,报表的展示和webservice是部署在同一个系统中,为什么webservice中获取不到session值?

Crystal.Li 发表于 2021-8-23 10:27:18

您好,这个您具体是怎么传的?怎么获取的?如果可以请提供可运行的demo~

zhengwei_cq 发表于 2021-8-23 10:41:02

数据源类型选择json provider   选择json类型的数据为外部文件或网址,网址是一个webservice,可以通过这个webservice获取json数据。报表文件在站点A,webservice也是在站点A,我通过webservice想获取站点A的session数据获取不到,但是直接在浏览器中访问这个webservice是可以获取到这个站点A的seession的,请问一下你们这个报表配置的webservice为什么获取不到呢?

Lenka.Guo 发表于 2021-8-23 11:03:23

您好

您的json 数据是通过Get还是Post方法请求的?

zhengwei_cq 发表于 2021-8-23 11:13:41

我获取的json数据是在你们的报表设计器是直接加一个网址连接 就可以了,那应该是你们报表中的代码去处理的

Lenka.Guo 发表于 2021-8-23 13:41:37

您好

我们的JSON 数据连接是可以直接配置JSON URL,去获取返回的数据接口,但链接中如果未配置任何其他信息,WebService 端是肯定不能拿到对应的数据。

您可以截图说明下当前行为和期望的行为,这样我们更容易理解

zhengwei_cq 发表于 2021-9-24 10:00:22

我配置了Josn url如下图:

url可以正常访问没有问题,

地址:jsondoc=http://localhost:8012/ActiveReportSource/UserInfoService.asmx/GetUserBaseInfo?userId=13118E34-1D22-4E75-A5FF-4F1DDEDF2228
现在的问题是我想在这个webserver中获取当session值,无法获取。
但是如果浏览器直接输入地址:http://localhost:8012/ActiveReportSource/UserInfoService.asmx/GetUserBaseInfo?userId=13118E34-1D22-4E75-A5FF-4F1DDEDF2228是没有问题的。
webservice后台代码如下:

Crystal.Li 发表于 2021-9-24 15:32:32

您好,您直接在浏览器获取session是因为之前在浏览器登录过吧。AR只是一个工具,只是一个控件,输入这个连接地址只是获取数据,并不是还有一些其他鉴权的动作。这些session或者鉴权相关的是您自己系统去做的事情,您可以自己写程序在前端拿到session,通过报表参数传到后端,跟您明确下,AR只是一个报表控件。

zhengwei_cq 发表于 2021-9-26 10:59:07

那我就想知道,相同的地址,能过浏览器直接访问,和通过你们控件绑定json数据源的外部地址访问有什么区别?不都是去请求指定服务的数据吗?又不会存在跨域的问题,为什么session会没有呢?

James.Lv 发表于 2021-9-26 12:07:29

zhengwei_cq 发表于 2021-9-26 10:59
那我就想知道,相同的地址,能过浏览器直接访问,和通过你们控件绑定json数据源的外部地址访问有什么区别? ...

您的这个接口有外网可以访问的吗?我们这边测试验证一下
页: [1] 2
查看完整版本: json数据源