页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

在集成传递参数给smartbi的资源时,经常会遇到一些问题,以下是常见的排查方案,供参考。

一、目标报表参数显示值或展示结果不符合预期

  1. 检查form表单或url地址是否传递了对应的参数并且传递的参数名称是否正确(加密参数解密后不能乱码),如果没传递参数或者传递的参数名称不正确,需要修改form表单页面或url地址的参数;
  2. form表单或url地址传递参数名称正确,传递的参数真实值和显示值不一致,并且报表参数显示值显示正确,但是报表查询的结果不符预期,检查form表单传递的真实值是否在报表或对应数据集可以查询出预期的结果
    1. 报表切换参数查询结果未达预期,但是数据集切换参数查询结果达到预期,检查报表是否有宏代码在修改参数;
    2. 报表和数据集切换参数查询结果都未达预期,则一般是数据集查询逻辑本身存在问题。
  3. form表单或url地址传递参数名称正确,但参数显示值显示不正确但没有显示乱码,检查form表单或url地址是否传递了对应参数的显示值;
  4. form表单或url地址传递参数名称正确,但参数显示的还是参数默认值,或者参数显示值显示乱码,或者查询结果不符合预期,检查参数名称、参数显示值和参数真实值中是否包含中文,如果包含中文:
    1. 对于url地址,如果参数都在url中拼接,并且是tomcat服务器,需要修改tomcat/conf/server.xml 中Connector 中添加URIEncoding="UTF-8" 属性再重启服务;
    2. 对于form表单,检查form表单参数传递方式是否为get,如果是get,并且是tomcat服务器,需要修改tomcat/conf/server.xml 中Connector 中添加URIEncoding="UTF-8" 属性再重启服务;
    3. 对于form表单,检查form表单参数传递方式是否为post,如果是post,检查form表单页面的编码是否为UTF-8,如果不是UTF-8则传递参数会乱码,需要修改form表单页面编码为UTF-8。
  5. 令牌登录集成传参失败,参考令牌登录方式传参失败

二、目标报表页面显示400等异常

  1. 对于tomcat服务器,通过url地址打开报表,如果参数都在url中拼接,打开目标页面显示400错误的情况,参考Tomcat高版本部署smartbi通过URL拼接参数打开报表报400 的方案修改配置再重启服务。

三、目标报表弹出报错

  1. 提示参数名称的值不能为空,原因是参数是必选参数,但该参数默认值为空且没有接收到非空的真实值,需要检查form表单或url地址是否传递了该参数或传递的参数名称是否正确;
    1. 没传递必选参数或者传递的参数名称不正确,修改form表单页面或url地址的参数;
    2. 参数名称正确,检查参数名称是否包含中文,如果包含中文:
      1. 对于url地址,如果参数都在url中拼接,并且是tomcat服务器,需要修改tomcat/conf/server.xml 中Connector 中添加URIEncoding="UTF-8" 属性再重启服务;
      2. 对于form表单,检查form表单参数传递方式是否为get,如果是get,并且是tomcat服务器,需要修改tomcat/conf/server.xml 中Connector 中添加URIEncoding="UTF-8" 属性再重启服务;
      3. 对于form表单,检查form表单参数传递方式是否为post,如果是post,检查form表单页面的编码是否为UTF-8,如果不是UTF-8则传递参数会乱码,需要修改form表单页面编码为UTF-8。
  2. 提示报表异常:clientId error
    1. 没有提前做单点登录,同时打开了多个报表资源,并且每个资源的url中都拼接了登录相关的参数(如user和password参数、不同的smartbiCookie、不同的令牌登录参数),也就是做了并发登录产生了多个会话造成会话冲突。解决方案是提前在第三方系统的一个隐藏位置做单点登录(可以集成smartbi首页index.jsp或者一个空白报表拼接登录参数),后续第三方集成打开要展示的报表不要再拼接登录相关的参数。
    2. post方式传递的参数内容过长,超过了服务器的限制,如果是tomcat,参考https://blog.csdn.net/qq_41307443/article/details/80000078 修改配置再重启服务。

四、目标页面一直是在提示会话超时

  1.     如果在集成页面中一直显示会话超时,正常都是因为集成跨域导致的,解决方案和详细原因可查看wiki文档:单点登录集成,通过谷歌浏览器80版本及以上访问Smartbi报表,有时会跳转到Smartbi登录界面