刘大
一.添加自定义请求头
在之前的文章SuperMap二维iClient客户端如何添加自定义请求头(一)中使用前准备部分中,讲述了如何在iServer中添加允许的请求头参数名配置。其实iPortal中添加也是同样的设置,只是不同的是,iPortal中多一个代理服务(默认端口8195),那如何设置呢
只需在iPortal解压目录\webapps\iportal\WEB-INF\config\proxy\WEB-INF中的cors.allowed.headers增加value,例如添加自定义请求头appToken
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,appToken</param-value>
</init-param>
这样设置后,重启iPortal就能在二三维客户端调用iPortal代理后的服务添加自定义请求头了
二.重新构建索引
从SuperMap iPortal 10i 版本起,增加了全局搜索模块,以及资源中心展示优化等,这两块是基于 Elasticsearch 分布式搜索引擎实现,所以这里提到的索引也就是Elasticsearch的索引啦
那什么时候需要重新构建索引捏?
比如以下情况:
1.由于磁盘剩余空间占用达到了Elasticsearch 的默认阈值,基于保护机制,Elasticsearch 会将所有索引强制设置为只读,导致在添加新的资源时,索引无法更新,资源中心页面无法展示新的资源,而后台却有新增加的资源。
2.在同一台机器上启动多个iPortal,未正确修改 ElasticSearch 端口号和集群名称,导致两个iPortal的资源中心页面冲突,与各自的后台管理页面的资源不匹配
3.全局搜索的端口号被占用,导致ElasticSearch启动失败,资源中心页面不显示,而未处理端口占用,又继续添加新的资源时()
4.直接拷贝已使用过一段时间的iPortal到另一台机器上,进行使用。资源中心无资源或者自由部分资源显示,查看Elasticsearch日志没有报错,是正常运行时
tip:
1.情况1,2解决方案可参考iPortal的帮助文档中的<常见问题解答>
2.日志查看:iPortal解压目录\database\elasticsearch\logs 以及iPortal解压目录\data\elasticsearch\logs
总结一句话:即当资源中心页面的资源与iPortal管理后台的资源管理中的不一致时,在处理导致不一致的原因后,就需要重现构建索引
使用方式:
在 iPortal的解压目录/webapps/iportal/WEB-INF/iportal.xml 中,找到 reindexAllResources 字段,设置为 true,如下所示:
<reindexAllResources>true</reindexAllResources>
最后重启iPortal即可