找回密码
 立即注册

QQ登录

只需一步,快速开始

zhengwei_cq

初级会员

55

主题

136

帖子

429

积分

初级会员

积分
429

[已处理] json数据源

zhengwei_cq
初级会员   /  发表于:2021-8-23 09:41  /   查看:3617  /  回复:13
问题描述:我有一个数据源是用webservice获取的json数据源,报表的展示和webservice是部署在同一个系统中,为什么webservice中获取不到session值?

13 个回复

正序浏览
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-9-26 14:47:48
14#
zhengwei_cq 发表于 2021-9-26 14:17
意思就是说通过ar报表发起的请求确实无法获取到cookie信息是吗?我在请求的服务器端作任何设置都不行是吧 ...

是的
回复 使用道具 举报
zhengwei_cq
初级会员   /  发表于:2021-9-26 14:17:33
13#
James.Lv 发表于 2021-9-26 13:50
这个我们AR是没办法自动实现,因为AR相当于是自己代码实现的HTTP-Client的请求,所以不会动态根据接口请 ...

意思就是说通过ar报表发起的请求确实无法获取到cookie信息是吗?我在请求的服务器端作任何设置都不行是吧?
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-9-26 13:50:15
12#
zhengwei_cq 发表于 2021-9-26 12:15
有:http://39.98.61.37:8012/ActiveReportSource/UserInfoService.asmx/GetUserBaseInfo?userId=13118E34- ...

这个我们AR是没办法自动实现,因为AR相当于是自己代码实现的HTTP-Client的请求,所以不会动态根据接口请求添加Cookie信息的,我们必须要在请求的时候指定请求头信息,参数,body等等
回复 使用道具 举报
zhengwei_cq
初级会员   /  发表于:2021-9-26 12:15:10
11#
有:http://39.98.61.37:8012/ActiveReportSource/UserInfoService.asmx/GetUserBaseInfo?userId=13118E34-1D22-4E75-A5FF-4F1DDEDF2228
现在我的解决方案是把userId通过参数传给报表,报表再带这个参数去访问这个服务的,如果用户登录这个系统后在后台可以在seesion中获取到userId,那这个参数就不用传了,更安全。
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-9-26 12:07:29
10#
zhengwei_cq 发表于 2021-9-26 10:59
那我就想知道,相同的地址,能过浏览器直接访问,和通过你们控件绑定json数据源的外部地址访问有什么区别? ...

您的这个接口有外网可以访问的吗?我们这边测试验证一下
回复 使用道具 举报
zhengwei_cq
初级会员   /  发表于:2021-9-26 10:59:07
9#
那我就想知道,相同的地址,能过浏览器直接访问,和通过你们控件绑定json数据源的外部地址访问有什么区别?不都是去请求指定服务的数据吗?又不会存在跨域的问题,为什么session会没有呢?
回复 使用道具 举报
Crystal.Li讲师达人认证 悬赏达人认证
论坛元老   /  发表于:2021-9-24 15:32:32
8#
您好,您直接在浏览器获取session是因为之前在浏览器登录过吧。AR只是一个工具,只是一个控件,输入这个连接地址只是获取数据,并不是还有一些其他鉴权的动作。这些session或者鉴权相关的是您自己系统去做的事情,您可以自己写程序在前端拿到session,通过报表参数传到后端,跟您明确下,AR只是一个报表控件。
回复 使用道具 举报
zhengwei_cq
初级会员   /  发表于:2021-9-24 10:00:22
7#
我配置了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后台代码如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2021-8-23 13:41:37
6#
您好

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

您可以截图说明下当前行为和期望的行为,这样我们更容易理解
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部