找回密码
 立即注册

QQ登录

只需一步,快速开始

ikbeldo
初级会员   /  发表于:2017-11-22 20:05  /   查看:3118  /  回复:8
html页面是单独的一个页面,并没有和http://192.168.31.155:8013这个域名在同一个站点下。希望实现的效果是在这个页面里边,引用了ActiveReports相关的css和js之后,也可以直接用原来写好的报表。最终当调用WebService的OpenReport的时候,出现了500服务器错误。

代码 如下:
        viewer = GrapeCity.ActiveReports.Viewer({
          element: '#viewerContainer',
          reportService: {
            url: 'http://192.168.31.155:8013/CustomerService/demo2.asmx'
          },
          uiType: 'desktop',
          renderMode: 'Galley',
          report: {
            id: 'ReportFiles/demo2/Demo.rdlx'
          }
        });

本帖子中包含更多资源

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

x

8 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-11-23 09:14:37
沙发
您好,您的意思是您调用的服务是发布的另外的一个IIS服务。然后现在想引用这个服务然后,进行报表的展示。但是出现500的错误。
首先您URL调用的服务可以单独进行访问吗?
回复 使用道具 举报
ikbeldo
初级会员   /  发表于:2017-11-23 10:27:01
板凳
KearneyKang 发表于 2017-11-23 09:14
您好,您的意思是您调用的服务是发布的另外的一个IIS服务。然后现在想引用这个服务然后,进行报表的展示。 ...

webservice 是 可以单独访问的,我不知道这里边是不是有 同源策略 这个原因,导致不能访问另一个站点的webservice 。
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-11-23 12:18:20
地板
您好!您按着这个帖子里的内容进行设置:
http://gcdn.gcpowertools.com.cn/ ... p;extra=&page=1
回复 使用道具 举报
ikbeldo
初级会员   /  发表于:2017-11-23 13:01:27
5#
KearneyKang 发表于 2017-11-23 12:18
您好!您按着这个帖子里的内容进行设置:
http://gcdn.gcpowertools.com.cn/forum.php?mod=viewthread&tid ...

您好,这样设置了以后,就会有同源策略的问题,不能跨域访问WebService。

XMLHttpRequest cannot load http://192.168.31.155:8013/CustomerService/demo2.asmx/OpenReport. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 500.
回复 使用道具 举报
ikbeldo
初级会员   /  发表于:2017-11-23 13:11:46
6#
ikbeldo 发表于 2017-11-23 13:01
您好,这样设置了以后,就会有同源策略的问题,不能跨域访问WebService。

XMLHttpRequest cannot load ...

你们可以配置一个局域网的站点 demo,然后随便建一个html页面,是一个独立的html,不要和 站点demo 在同一个 站点下。
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-11-23 14:32:28
7#
你好!我这边也在进行验证,也出现了跟你一样的错误信息。正在需求解决办法。
还有就是为什么调用服务,您们怎么不直接在应用程序中添加服务,而是要调用一个重新发布的服务,这种操作很容易出现访问不了的问题,刚才给你的办法就是解决这种问题的唯一办法,但是我们都出现了同样的问题。我现在还需要再研究看看还有什么设置问题导致的这个问题。
回复 使用道具 举报
ikbeldo
初级会员   /  发表于:2017-11-23 16:48:32
8#
KearneyKang 发表于 2017-11-23 14:32
你好!我这边也在进行验证,也出现了跟你一样的错误信息。正在需求解决办法。
还有就是为什么调用服务,您 ...

我们手机App用H5做的,手机里边也需要显示这个报表。但是手机里的html页面,就是一个独立的页面,和已经做好的报表系统不是一个站点的,所以就会有这种需求。
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-11-23 20:01:40
9#
本帖最后由 KearneyKang 于 2017-11-24 12:23 编辑

你好!现在这问题是跨区域访问的问题。
想要接受跨域访问,就需要在Config的配置文件中的<system.webServer> 节点下添加以下配置,这样可以让报表服务器网站接受跨域访问
  1. <httpProtocol>
  2.         <customHeaders>

  3.                <add name="Access-Control-Allow-Origin" value="*" />

  4.              <add name="Access-Control-Allow-Headers" value="Authorization, Origin, Content-Type, Accept, X-Requested-With" />

  5.     </customHeaders>
  6. </httpProtocol>
复制代码
我已经在我本地进行测试了,在您当前项目中的config文件中添加这段代码就可以解决您的问题



回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部