防水的泡泡 发表于 2017-3-16 15:02:46

ActiveReport 端口映射到外网 访问地址问题

问题如下:客户通过端口映射的方式将网站部署到外网访问。 内网端口 8088, 外网端口 10211.访问报表时如下图

跟踪js代码后得到如下图: GetRenderedReportLink 返回的 reportLink地址中端口为内网端口号




asmx中GetRenderedReportLink没有定义可以重载。

请问这个情况如何解决(除了 设置内网端口和外网端口一致 以外)??
紧急

Lenka.Guo 发表于 2017-3-16 15:58:43

您的初始化 HTML5Viewer 设置的ReportService.asmx文件的路径是相对路径还是绝对路径?
建议编写成绝对路径

防水的泡泡 发表于 2017-3-16 16:46:09

Lenka.Guo 发表于 2017-3-16 15:58
您的初始化 HTML5Viewer 设置的ReportService.asmx文件的路径是相对路径还是绝对路径?
建议编写成绝对路 ...

var viewer = GrapeCity.ActiveReports.Viewer({
            element:'#arDivReport',
            reportService:{ url:'/ActiveReportService.asmx'},
            uiType: 'desktop',
            report:{
                  parameters:[
{'name':'DepartmentId','value':getValue_mulitSelect()},
{'name':'YearMonth','value':getValue_peroid()},
{'name':'LanguageId','value':getValue_hidLanguageId()}],
                id:'ReportFiles/Attendance_ShiftSchedule.rdlx',
            },
            localeUri: getValue_hidLanguageId() == 1 ? '/_theme/activeReport/i18n/Localeuri.txt' : '/_theme/activeReport/i18n/en.txt',
      });
    };

你的意思是 url地址需要给一个完整的地址??

防水的泡泡 发表于 2017-3-16 17:49:04

本帖最后由 防水的泡泡 于 2017-3-16 17:50 编辑

function loadSelectarDivReport() {
      var viewer = GrapeCity.ActiveReports.Viewer({
            element:'#arDivReport',
            reportService:{ url:'http://'+$.request.domain()+'/ActiveReportService.asmx'},
            uiType: 'desktop',
            report:{
                  parameters:[
{'name':'DepartmentId','value':getValue_mulitSelect()},
{'name':'YearMonth','value':getValue_peroid()},
{'name':'LanguageId','value':getValue_hidLanguageId()}],
                id:'ReportFiles/Attendance_ShiftSchedule.rdlx',
            },
            localeUri: getValue_hidLanguageId() == 1 ? '/_theme/activeReport/i18n/Localeuri.txt' : '/_theme/activeReport/i18n/en.txt',
      });
    };

我试了把 reportService 写成完整地址。也是无用依然是内网端口号,



Lenka.Guo 发表于 2017-3-17 10:48:45

您要访问项目中的其他服务的URL 是怎样编写的?

或者您先试试在Web.config 文件的ActiveReports10 节点中加入域名和端口号:


<ActiveReports10>
<WebService publicURI="http.../" />
</ActiveReports10>

防水的泡泡 发表于 2017-3-17 22:06:18

增加再哪个配置节下面呢?

Lenka.Guo 发表于 2017-3-20 09:39:54

Web.config文件本身就有ActiveReports10节点,找到这个节点 给WebService 加上publicURI属性

防水的泡泡 发表于 2017-3-20 11:36:41

还是不行哦。依然访问不了
<ActiveReports10>
<WebService reportsFolder="~/" assemblyFolder="~/" publicURI="http://27.115.8.222:10211" />
   
</ActiveReports10>

Lenka.Guo 发表于 2017-3-20 13:53:17

本帖最后由 Lenka.Guo 于 2017-3-20 16:35 编辑

要进行两步骤设置:

1. 设置 index.html"reportService" 的 "url: 'http://LocalMachine: Port/ActiveReports.ReportService.asmx';"
2. 修改 web.config 文件 "WebService" 属性 "publicURI="http://LocalMachine: Port""3. 设置端口号的防火墙开放规则。

如果设置仍然无效,请您提供可以重现此问题的设置步骤或者Demo,我将此问题重现之后反馈给产品组,看是否有其他解决方法。

防水的泡泡 发表于 2017-3-20 16:00:17


Demo 比较大。怎么给你??
可加我QQ,379259026
页: [1] 2
查看完整版本: ActiveReport 端口映射到外网 访问地址问题