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)

相关推荐
chem41113 小时前
协议 NTP UDP 获取实时网络时间
网络·网络协议·udp
歪歪1003 小时前
如何在项目中选择使用HTTP还是WebSocket?
网络·websocket·网络协议·计算机网络·http·网络安全
^Moon^3 小时前
websocket网络通信协议
网络·websocket·网络协议
Cloud Traveler3 小时前
告别内网困局:cpolar破解Websocket远程访问难题
网络·websocket·网络协议
MonKingWD3 小时前
面试题-网络协议
网络·网络协议
不是笨小孩i3 小时前
Websocket+cpolar:如何轻松实现服务远程访问?
网络·websocket·网络协议
Mr.Ja3 小时前
【关于虚拟机执行ip addr 命令不显示ip地址问题】
网络协议·tcp/ip·php
雨声不在4 小时前
cronet从编译到修改之: 支持IP直连
python·网络协议·tcp/ip·cronet
2503_924806854 小时前
动态IP的适用业务场景
网络·网络协议·tcp/ip