国网SG-UAP 开发平台 RestExceptionResolver 错误解决方法

报错原信息:

SG-UAP :ERROR RestExceptionResolver:141 - java.lang.StringIndexOutOfBounds
Exception: String index out of range: -6 
at java.lang.String.substring(String.java:1937)
at java.lang.String.substring(String.java:1904)
at com.sgcc.uap.rest.annotation.processors.QueryRequestParamArgumentResolver.resolveArgument(QueryRequestParamArgumentResolver.java:72)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:75)
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:156)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:117)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at com.sgcc.uap.kernel.spring.ModuleWebDispatcher.doDispatch(ModuleWebDispatcher.java:211)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:790)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
at com.sgcc.uap.kernel.web.adaptor.ModuleServletAdaptor.service(ModuleServletAdaptor.java:119)

问题分析:

  1. 首先这个是UAP的Spring的REST异常, 通常是 REST输入的数据格式不正确]。
  2. 再根据Exception: String index out of range: -6 索引值越界,判断是有数据输入越界, 很有可能是空的间隔符造成的。
  3. 之后查找报错使用的REST路径和JS 方法,发现Json有错误和异常的可能性。
1 function _dropDown_changed(){
2         var restClient = new mx.rpc.RESTClient();
3         var data ={"":""};
4         var url = config_index.mappath("~/rest/config/getTable");
5         var ret = "";
6         restClient.post(url, data, function(ret){
7             _ConfigDropEdt.setItems(eval(ret));
8         });
9     }

修改之后,不在报错,功能也能使用了。

  

1 function _dropDown_changed(){
2         var restClient = new mx.rpc.RESTClient();
3         var data = "";//取消原先的{"":""};
4         var url = config_index.mappath("~/rest/config/getTable");
5         var ret = "";
6         restClient.post(url, data, function(ret){
7             _ConfigDropEdt.setItems(eval(ret));
8         });
9     }

疑惑的地方:本地tomcat启动服务没有问题,部署到weblogic上出现错误。

时间: 2024-10-25 03:06:02

国网SG-UAP 开发平台 RestExceptionResolver 错误解决方法的相关文章

普元EOS开发积累第一篇(常见错误解决方法) 持续更新

普元启动服务失败的解决方法 当多个人同时使用一个数据库的时候,启动普元控制台会一直停留在rcall,然后显示一个超时的警告,那样就需要修改一下普元的一个定时器配置项. 安装目录下\Primeton\Platform\apps_config\default\config 中的一个user-config.xml文件 将下列代码中高亮字段中的true改为false即可  <module name="Schedule">          <group name="

阿里云Windows server 2008服务器搭建VPN 图文教程,购买境外服务器自建vpn,Win8/win10 连接VPN被阻止,出现812错误解决方法

阿里云Windows server 2008服务器搭建VPN 图文教程(超详细) 第一步:购买阿里云服务器,本文使用的是Windows Server 2008 R2 企业版64位中文版 IP地址:47.88.151.129,所属节点:亚太(新加坡) 服务器配置:2核,4GB,带宽10Mbps 第二步: 打开服务器管理器,点击添加角色,如下图: 本帖隐藏的内容然后弹出如下图所示,点击下一步: 点击后,如下图,勾选网络策略和网络服务,然后点击下一步: 接着继续点击下一步,直到弹出如下图所示的页面,勾

mysql Access denied for user [email&#160;protected]错误解决方法总结(转)

mysql Access denied for user [email protected]错误解决方法总结(转) mysql Access denied for user \'root\'@\'localhost\'”解决办法总结,下面我们对常见的出现的一些错误代码进行分析并给出解决办法,有需要的朋友可参考一下. 错误代码 1045 Access denied for user 'root'@'localhost' (using password:YES) 解决办法是重新设置root用户密码,

error at ::0 can&#39;t find referenced pointcut pointCutName 错误解决方法

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public final void org.mybatis.spring.support.SqlSessionDaoSupport.setSqlSessionTemplate(org.mybatis.spring.SqlSessionTemplate); nested exception is java.la

apache指定的网络名不再可用错误解决方法

系统平台:  window server 2003  R2 service Pack 2 网站服务器环境:wamp [ apache:2.4.4 ]; 问题描述:服务器工作一点时间就出现假死状态,网站无法访问.查看apache错误日志出现如下错误: 在google上找到如下系列文章:http://jingyan.baidu.com/article/154b4631a9d5b828ca8f4198.html http://hi.baidu.com/h_appy/item/ed13fb2ad0fa2

PermGen space错误解决方法

在看下文之前,首先要确认意见事情,就是你是如何启动tomcat的,我们在平时的开发环境当中,都是通过startup.bat方式启动tomcat的,那么你按照下面的方式,去修改/bin/catalina.bat是没有问题的.但是如果你是生产环境下,我们一般都希望使用windows服务方式去启动tomcat,此时之前修改的配置文件是没有用的.因为windows服务启动tomcat不再去加载catalina.bat当中的参数了,而是去加载注册表中的参数,所以我们需要修改注册表. HKEY_LOCAL_

SharePoint 2013 OWA The webpage cannot be found (HTTP 404) 错误解决方法

SharePoint 2013 OWA The webpage cannot be found  (HTTP 404) 错误解决方法 这个问题让我很伤心,最终解决方法很简单. 使用浏览器开发工具, F12, 找到 你要连接的地址,如下图 把这个地址复制出来,在浏览器里检查 是否能访问,也可以使用这个方法,如下. 如果在浏览也找不这个文件,还成IP地址试试,如果出现如图,请修改本地 NDS地址 也就是host文件 找到地址 :C:\Windows\System32\Drivers\etc  找到

SpringMVC提交数据遭遇基础类型和日期类型报400错误解决方法

使用SpringMVC开发的时候,页面如果有日期格式的数据,后台接受也是java.util.Date,则报告400错误 .下面是解决方案的演示示例: 这个是实体类,里面createDate就是java.util.Date类型 1 import java.util.Date; 2 3 public class User { 4 5 private int userId; 6 private String userName; 7 private Date createDate; 8 9 public

项目部署到tomcat6.0启动成功后访问页面报500错误解决方法

如题:项目部署到tomcat6.0启动成功后访问页面报500错误解决方法,很奇葩,启动的时候没有任何问题,但输入访问地址后报500,去年国庆放假前夕,为这个问题伤神了半天最后解决了,今天又碰到了,乍一看摸不着头,后面仔细回想了下,迅速解决了问题. 原因:项目里面的jar和tomcat里面lib里面的jar重复了. 解决方法: 1.要么更换tomcat7或之后的版本,之后的版本就不会出现这个问题. 2.去部署之后的tomcat的webapps\项目名\WEB-INF\lib 里面删掉jsp-api