Java RestTemplate显示未找到页面,但没有错误异常

Java RestTemplate显示未找到页面,但没有错误异常,java,spring,glassfish,resttemplate,Java,Spring,Glassfish,Resttemplate,已编辑 我的申请有问题。我使用GlassFish4和Java8,因为我的环境不能使用Spring5,所以我使用Spring4。我只需要几个库就可以从另一台服务器访问API。函数之一是RestTemplate。每次触发restTemplate.exchange时,它总是给出HTTP 500错误。但也不例外。通过查看web.xml,我知道这是HTTP 500错误。没有异常消息,即使我尝试添加了try-catch。它发生在我的生产服务器上,在我的开发服务器上,运行良好。在我的笔记本电脑里,它运行得很好

已编辑

我的申请有问题。我使用GlassFish4和Java8,因为我的环境不能使用Spring5,所以我使用Spring4。我只需要几个库就可以从另一台服务器访问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);
restemplate templatet=new restemplate();
String url=“http:someurl”;
HttpHeaders=新的HttpHeaders();
headers.set(“要获取的某些头”,“获取”);
标题。添加(“某些授权”、“授权”);
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity请求=新的HttpEntity(标头);
ResponseEntity sapSecurity=templatet.exchange(url,HttpMethod.GET,request,String.class);

谢谢

我建议您尝试执行以下操作,以便通过阅读日志获得有关服务器上发生的事情的更多信息

try {
     ResponseEntity<String> sapSecurity = templatet.exchange(url, HttpMethod.GET, request, String.class);
} catch (Exception e) {
   e.printStackTrace();//this stackTrace should appear in the Glassfish log file
}
试试看{
ResponseEntity sapSecurity=templatet.exchange(url,HttpMethod.GET,request,String.class);
}捕获(例外e){
e、 printStackTrace();//此stackTrace应出现在Glassfish日志文件中
}

此外,您应该检查您的应用程序是否未被服务器上的某种网络策略阻止。

已解决。

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


标题a
这是打字错误吗???。不应该是
标题
页面未找到是404,不是500wait。让我来编辑我的帖子,好了。确实需要一些建议500是服务器错误,而您已经提供了客户端代码。我建议您查看服务器日志和服务器应用程序日志。我已经解决了。我已经添加了try-catch。但这不是我的代码错