ArcGIS Manager Server Add Host页面报错 HTTP Status 500

ArcGIS Manager Server Add Host页面报错 HTTP Status 500

问题描述

由于系统老旧,难免遇到一些诡异的 Bug,在维护使用旧版本的 ArcGIS 10.0,打开登录 ArcGIS Manager Server后,进入服务管理页面时提示"Add Host",进入 Host Machine 管理页面直接报错 HTTP Status 500,我的报错信息如下:HTTP Status 500 - javax.faces.component.UIViewRoot cannt be cast to com.sun.faces.application.StateManagerImpl$TreeNode。

解决问题

  1. 找到日志文件 \ArcGIS\Server10.0\java\manager\service\logs\manager_stderr2.txt
  2. 查看提示"HTTP Status 500"时间段的错误信息
  3. 定位到对应页面行数,修改问题
  4. 可能是ArcGIS证书过期导致提示"Add Host",哪怕我修复这个问题后,保存 Host 还是会提示证书过期,无法添加 Host,更改证书为有效后,ArcGIS 恢复正常
  5. 因为版本过低,导致页面提示信息很有限,只报错最后一段,压根没法对报错信息溯源,所以找到日志文件的报错信息这一步很重要
  6. 旧版本 ArcGIS 可以修改服务器/电脑系统日期让证书重新生效,需要重启服务器/电脑!

因为页面报错的信息实在有限,根本想不到他在哪儿报错,只能找到对应的报错文件,对应的问题行数去解决,大家遇到的问题可能不一样,提出这个思路可以少走很多弯路。

我这次报错的页面:

复制代码
\ArcGIS\Server10.0\java\manager\service\managerserver\webapps\arcgismanager\gisServer\gisServerAdd.xhtml

报错代码:

Java 复制代码
<td>
          <h:inputText id="inputCapacitySOCTxt" value="#{esriAGSServerAdd.capacity}" styleClass="long" disabled="#{esriAGSServerAdd.capacity == 'Unlimited'}"/>
</td>

修改代码:

Java 复制代码
<td>
          <h:inputText id="inputCapacitySOCTxt" value="#{esriAGSServerAdd.capacity}" styleClass="long" disabled="true"/>
</td>

附上报错信息、截图

java 复制代码
2024-12-10 11:28:25 com.sun.facelets.FaceletViewHandler handleRenderException
严重: Error Rendering View[/gisServer/gisServerAdd.xhtml]
javax.faces.FacesException: javax.el.ELException: /gisServer/gisServerAdd.xhtml @86,160 disabled="#{esriAGSServerAdd.capacity == 'Unlimited'}": Cannot convert Unlimited of type class java.lang.String to class java.lang.Long
	at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:1593)
	at com.sun.faces.renderkit.RenderKitUtils.renderXHTMLStyleBooleanAttributes(RenderKitUtils.java:439)
	at com.sun.faces.renderkit.html_basic.TextRenderer.getEndTextToRender(TextRenderer.java:128)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:160)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.esri.arcgis.manager.web.util.FileUploadFilter.doFilter(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.esri.arcgis.manager.web.util.GZipFilter.doFilter(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.esri.arcgis.manager.web.util.ManagerWebFilter.doFilter(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:612)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:503)
	at java.lang.Thread.run(Thread.java:619)
Caused by: javax.el.ELException: /gisServer/gisServerAdd.xhtml @86,160 disabled="#{esriAGSServerAdd.capacity == 'Unlimited'}": Cannot convert Unlimited of type class java.lang.String to class java.lang.Long
	at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
	at javax.faces.component.html.HtmlInputText.isDisabled(HtmlInputText.java:202)
	at sun.reflect.GeneratedMethodAccessor484.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at javax.faces.component.UIComponentBase$AttributesMap.get(UIComponentBase.java:1585)
	... 38 more
2024-12-10 11:28:25 com.sun.faces.lifecycle.Phase doPhase
严重: JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /gisServer/gisServerAdd.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@149d0a1]
2024-12-10 11:28:25 com.sun.faces.lifecycle.Phase doPhase
严重: JSF1054: (Phase ID: RESTORE_VIEW 1, View ID: ) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@149d0a1]
2024-12-10 11:28:25 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet Faces Servlet threw exception
java.lang.ClassCastException: javax.faces.component.UIViewRoot cannot be cast to com.sun.faces.application.StateManagerImpl$TreeNode
	at com.sun.faces.application.StateManagerImpl.restoreTree(StateManagerImpl.java:723)
	at com.sun.faces.application.StateManagerImpl.restoreTree(StateManagerImpl.java:665)
	at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:131)
	at com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:311)
	at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)
	at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:175)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at com.esri.arcgis.manager.web.util.ManagerWebFilter.doFilter(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:612)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:503)
	at java.lang.Thread.run(Thread.java:619)
2024-12-10 11:28:25 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet Faces Servlet threw exception
java.lang.ClassCastException: javax.faces.component.UIViewRoot cannot be cast to com.sun.faces.application.StateManagerImpl$TreeNode
	at com.sun.faces.application.StateManagerImpl.restoreTree(StateManagerImpl.java:723)
	at com.sun.faces.application.StateManagerImpl.restoreTree(StateManagerImpl.java:665)
	at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:131)
	at com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:311)
	at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:316)
	at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:175)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at com.esri.arcgis.manager.web.util.ManagerWebFilter.doFilter(Unknown Source)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:612)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:503)
	at java.lang.Thread.run(Thread.java:619)

相关推荐
小吴-斌20 小时前
本地请求接口报SSL错误解决办法(Could not verify * SSL certificate)
网络·网络协议·ssl
草莓熊Lotso21 小时前
基于容器适配器模式的 Stack 与 Queue 实现:复用底层容器的优雅设计
c++·网络协议·rpc·适配器模式
RollingPin1 天前
iOS八股文之 网络
网络·网络协议·ios·https·udp·tcp·ios面试
小毛驴8501 天前
HTTP方法GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS,TRACE,RESTful API设计的核心详解
http·github·restful
代码AI弗森1 天前
无状态的智慧:从 HTTP 到大模型的系统进化论
网络·网络协议·http
酷熊代理1 天前
安卓手机 IP 切换指南:告别卡顿,轻松换 IP
网络·网络协议·tcp/ip·socks5
不做菜鸟的网工1 天前
PIM SM +MSDP 组播跨域配置案例
网络协议
大面积秃头2 天前
Http基础协议和解析
网络·网络协议·http
软件技术员2 天前
使用ACME自动签发SSL 证书
服务器·网络协议·ssl
我也要当昏君2 天前
6.4 电子邮件 (答案见原书 P284)
网络协议