E9组件-日志等相关问题排查手册


EM对接

<h1>1.Ecology与EM对接问题</h1> <h2>1.关于EM 基本配置</h2> <p>Ecology9和 EM7对接 的 配置 修改 Ecology的 Web.xml 添加 如下 2个 过滤器 注意 顺序 一般 要 放在 前面 一点</p> <pre><code class="language-xml">&lt;filter&gt; &lt;filter-name&gt;EMFilter&lt;/filter-name&gt; &lt;filter-class&gt;com.cloudstore.dev.api.service.EMFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;EMFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; &lt;filter&gt; &lt;filter-name&gt;SessionFilter&lt;/filter-name&gt; &lt;filter-class&gt;com.cloudstore.dev.api.service.SessionFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt; SessionFilter &lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt;</code></pre> <p>配置 em对接放行接口和白名单的参数 在web info 的 prop 目录 下 找到 weaver_session_filter.properties 系统 使用 安装 时 已经 默认 配置 好 的 外部配置文件配置 过 滤的路径地址。 weaver_session_filter_dev.properties (客户 自定 放行 的 接口 一般 项目 只需 要 修改 此文件 在 unchecksessionurl 中 可以 配置 客户 自定义 要 放行 的 接口 ) 相关参数 作用 如下</p> <p>1.checkurl头部验证路径 适用于 EM 2.uncheckurl 头部验证放行路径 适用于 EM 3.unchecksessionurl session 验证放行 例如 checkurl=/api/hrm/ uncheckurl=/api/ec/dev/app/getCheckSystemInfo;/api/ec/dev/emjoin; unchecksessionurl=/api/doc/upload/mobile/uploadFile;/api/doc/upload/mobile/uploadFile;…………</p> <h1>2.关于EM 常见问题处理</h1> <h2>一、ECOLOGY单机部署时</h2> <p>先确认Ecology环境是否正常打过非标(编号:117 移动平台配置中心). 检查ecology/WEB-INF/web.xml 是否包含EMFilter 关键字(直接搜索即可). 确保Ecology服务器与EMobile服务器时间保持一致(时间差不允许超过5分钟). 在EMobile后台用户管理中确认用户正确同步,人员关系对应正常(对应OA系统中的ID一定要确认 人员是否存在、在职状态、名称一致). 使用Resin4中间件的客户请确认该文件配置是否正确( Resin/conf/resin.xml ).</p> <pre><code class="language-xml">&lt;!--如果文件中内没有包含该关键字相关配置且您不太了解web.xml相关配置规范,请联系`田泽法`- -&gt; &lt;!--如果您了解web.xml中配置规范,可将以下内容复制配置到web.xml文件中,顺序保证在 SessionFilter的配置上面--&gt; &lt;filter&gt; &lt;filter-name&gt;EMFilter&lt;/filter-name&gt; &lt;filter-class&gt;com.cloudstore.dev.api.service.EMFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;EMFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; &lt;!--其中&lt;reuse-session-id&gt; 检查下是否为true,如果不是改成true.--&gt; &lt;!--如果以下整段都没有,请复制后粘贴到截图中对应的位置,并重启服务生效--&gt; &lt;web-app-default&gt; &lt;session-config&gt; &lt;session-max&gt;16686&lt;/session-max&gt; &lt;session-timeout&gt;720&lt;/session-timeout&gt; &lt;enable-cookies&gt;true&lt;/enable-cookies&gt; &lt;enable-url-rewriting&gt;true&lt;/enable-url-rewriting&gt; &lt;always-load-session&gt;true&lt;/always-load-session&gt; &lt;reuse-session-id&gt;true&lt;/reuse-session-id&gt; &lt;/session-config&gt; &lt;!--&lt;cookie-http-only/&gt;--&gt; &lt;/web-app-default&gt;</code></pre> <h2>二、ECOLOGY集群部署时</h2> <p>每个节点按照单机的检查步骤全部检查一遍是否正常. 检查集群中每个节点服务器时间是否一致(再次强调一遍,请明白这里的重要性). 检查集群中每个节点服务器ecology/WEB-INF/web.xml 是否包含WSessionClusterFilter 检查集群中每个节点服务器的ecology/WEB-INF/prop/weaver_new_session.properties 文件 是否配置正确. 状态是否开启 status=1 (1代表开启,0代表禁用,集群模式下需要开启). 实时同步是否开启enableImmediatelySync=true (true代表开启,false代表禁用,通过redis实现需要开启).</p> <pre><code class="language-xml">&lt;!--如果您了解web.xml中配置规范,可将以下内容复制配置到web.xml文件中,顺序保证在所有 Filter的配置上面(第一个过滤器)--&gt; &lt;filter&gt; &lt;filter-name&gt;WSessionClusterFilter&lt;/filter-name&gt; &lt;filter-class&gt;weaver.session.WSessionClusterFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;WSessionClusterFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt;</code></pre> <p>关闭自定义sessionId模式useCustomSessionId=0 (1代表开启,0代表禁用,需要禁用). 确保配置的redis相关连接信息可正常连接(不管Redis通过模式部署,在ecology/WEBINF/ web.xml 中注释掉SecurityFilter 相关配置,重启服务后访问OA地 址/checkredis.jsp 可检查redis连接是否正常。最后一定要将ecology/WEB-INF/web.xml 中注释的内容还原).</p> <p>检查集群中每个节点服务器的ecology/WEB-INF/lib/keys 目录是否存在,且集群下是否做了文 件共享. 如以上检查都无问题,请将文档附件文件下载后替换以下js文件 ecology/spa/coms/ssoSDK/ssoInit.js</p> <h2>三 EMobile集群部署时</h2> <p>EMobile从节点是否和主节点连接同一个数据库. EMobile从节点是否和主节点连接同一个缓存数据库(Redis). EMobile多个节点之间服务器时间是否一致.</p> <h2>四:关于常见EMobile后台检测异常结果解释与解决方式</h2> <h3>1.EC系统中存储的移动平台地址是否正确:否</h3> <p>一般情况下是由于客户在(EMobile后台—&gt;系统管理—&gt;基础设置—&gt;系统内部地址/系统外网地 址)单独进行修改之后,没有到Ecology集成(EMobile后台—&gt;Ecology集成)页面进行重新编 辑保存. 如果重新编辑保存一下之后检测仍不一致,确认是否存在多套Ecology环境共用Redis缓存中 间件. 有其它任何情况或问题请直接联系 @田泽法 / @温明刚 进行排查处理.</p> <h3>2.EC系统中存储的移动平台corpid是否正确:否</h3> <p>一般情况下是由于存在多套Ecology环境(这种情况一般Ecology是集群部署且有正式和测试环 境)共用Redis缓存中间件. 当前集成Ecology被其它EMobile环境集成过,此时只需要在(EMobile后台—&gt;Ecology集成)页 面重新编辑保存再次检测即可. 有其它任何情况或问题请直接联系 @田泽法 / @温明刚 进行排查处理.</p> <h3>EC系统对传入的参数rsa_encrypt解密是否正确:否</h3> <p>Ecology单机部署时,当前版本为ecology9。请检查是否存在 ecology/classbean/weaver/rsa 目录,如果当前存在该目录,请直接将该目录重命名为 xxx.bak Ecology集群部署时,当前版本为ecology9。请重复以上单机检查步骤,并确认 ecology/WEB-INF/lib/keys 目录是否正常集群共享. 如以上都检查完毕,请直接在当前页面重新编辑一下再次检测. 仍有任何问题请直接联系 @田泽法 进行排查处理.</p> <h3>EC系统是否可以调用移动平台获取accesstoken:否</h3> <p>此项代表Ecology服务器是否可以通过EMobile系统内部地址进行服务调用,出现这种情况一 般分为网络不通、内网https协议问题、Ecology服务调用api依赖jar包冲突等情况. 先确保EMobile系统内部地址ip在Ecology服务器能够ping通. 再确认EMobile系统内部地址是否使用了https协议,一般内网https会导致无法获取证书, 建议EMobile服务内网保留http通讯地址. 检查Ecology环境ecology/WEB-INF/lib 目录是否存在http 相关多个版本的jar且jar包的内 容不为空.</p> <h1>其他EM问题</h1> <p>em没有配置好导致问题</p> <p>网络不通 em的服务器访问不到ecology的服务器 或者ecology的服务器访问不到em的服务器 排查方法 在服务区上curl访问相关服务地址</p> <p>检查emfilter以及配置</p> <p>1.ip地址问题 ip地市配置错误导致无法访问 2.ip不同的问题 ecology的ip地址配置成了em地址,或者反过来配置了 3.ip内网和外网的问题 内网无法访问外网或者外网无法访问内网等 4.ip本地地址127.0.0.1的问题 本机地址配置成了127.0.0.1但是实际是不通的 em解密错误问题</p> <h3>1.类冲突导致解密失败</h3> <p>看一下classebean/Weaver/rsa 如果有就备份出来 删除重启,em后台重新编辑保存</p> <h3>2.修改后没有重新编辑保存导致的秘钥不生效问题</h3> <p>很多客户修改配置后忘记重现到em的ecology对接里面重新编辑并保存,导致配置内容不能到ecology生效。 建议每次修改配置后到要重新编辑并保存一下em对接设置</p> <h3>3.keys文件异常或者丢失导致的问题</h3> <h3>4.环境问题导致的加密函数问题</h3> <p>执行时包字符串异常问题 1.jar冲突导致 (httpclient版本问题) 2.或者是接口被拦截</p>

页面列表

ITEM_HTML