已编辑

我的申请有问题。我使用的是glassfish 4和Java 8,因为我的环境无法使用Spring 5,所以我使用的是Spring 4。我只需要几个库即可从另一台服务器访问API。功能之一是RestTemplate。每次触发restTemplate.exchange时,总是会出现HTTP 500错误。但一点也不例外。通过查看web.xml,我知道这是HTTP 500错误。没有异常消息,即使我尝试添加try-catch。它发生在我的生产服务器上,在我的开发服务器上,运行良好。在我的笔记本电脑上,它运行良好。你能帮我吗?

这是我的log4j

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.logger.org.hibernate=DEBUG, stdout
log4j.logger.com.opensymphony.xwork2=INFO,stdout
log4j.logger.org.apache.struts2=INFO,stdout
log4j.logger.uk.ltd.getahead.dwr=WARN, stdout
log4j.logger.freemarker.cache=INFO,stdout
log4j.logger.com.jwebs=DEBUG, stdout
log4j.logger.org.springframework=WARNING, stdout

log4j.appender.R.File=application.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.logger.com.opensymphony.xwork2.util.OgnlUtil=error
log4j.logger.com.opensymphony.xwork2.ognl.OgnlValueStack=error


在这里我附上我的代码

        RestTemplate templatet = new RestTemplate();

        String url = "http:someurl";
        HttpHeaders headers = new HttpHeaders();
        headers.set("Some header to get", "get");
        headers.add("Some authorization", "authorization");
        headers.setContentType(MediaType.APPLICATION_JSON);
        HttpEntity<Object> request = new HttpEntity<Object>(headers);
        ResponseEntity<String> sapSecurity = templatet.exchange(url, HttpMethod.GET, request, String.class);


谢谢

最佳答案

解决了

好像库崩溃了。 Java读取相同的库,但版本不同。我有spring.jar和spring-web.4.3.6-RELEASE.jar,这就是为什么它崩溃且没有显示任何异常的原因。提取异常的唯一方法是通过servlet。
您可以通过Tutorialspoint查看以下教程:

https://www.tutorialspoint.com/servlets/servlets-exception-handling.htm

10-08 07:18
查看更多