我有一个sendGetREST
方法来发送一些URLendpoint
,并获得响应:
@Component
public class HttpURLCommand {
private static Logger logger = Logger.getLogger(HttpURLCommand.class);
public String sendGetREST(String soapUrl, Object[] parameters) throws IOException{
final String SOAP_URL = MessageFormat.format(soapUrl, parameters);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.getForEntity(SOAP_URL, String.class);
logger.info("status code is: "+response.getStatusCode());
if(response.getStatusCode().equals(HttpStatus.OK)){
logger.info("send success");
return response.getBody();
}
else {
logger.info("send failed");
return null;
}
}
}
这很有效。然而,为了使超时时间可定制,我在本教程中提供了以下HTTPConfiguration
:
@Configuration
public class HTTPConfiguration {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate(clientHttpRequestFactory());
}
private ClientHttpRequestFactory clientHttpRequestFactory() {
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
factory.setReadTimeout(60000);
factory.setConnectTimeout(60000);
return factory;
}
}
因此,类将调用restTemplate,如下所示:
@Component
public class HttpURLCommand {
private static Logger logger = Logger.getLogger(HttpURLCommand.class);
@Autowired
RestTemplate restTemplate;
public String sendGetREST(String soapUrl, Object[] parameters) throws IOException{
final String SOAP_URL = MessageFormat.format(soapUrl, parameters);
ResponseEntity<String> response = restTemplate.getForEntity(SOAP_URL, String.class);
logger.info("status code is: "+response.getStatusCode());
if(response.getStatusCode().equals(HttpStatus.OK)){
logger.info("send success");
return response.getBody();
}
else {
logger.info("send failed");
return null;
}
}
}
但不幸的是,在构建spring boot
应用程序时返回以下错误:
Caused by: java.lang.NoClassDefFoundError: org/apache/http/protocol/HttpContext
at com.xl.MbbI.config.HTTPConfiguration.clientHttpRequestFactory(HTTPConfiguration.java:25) ~[classes/:na]
at com.xl.MbbI.config.HTTPConfiguration.restTemplate(HTTPConfiguration.java:21) ~[classes/:na]
at com.xl.MbbI.config.HTTPConfiguration$$EnhancerBySpringCGLIB$$191f99f.CGLIB$restTemplate$0(<generated>) ~[na:na]
at com.xl.MbbI.config.HTTPConfiguration$$EnhancerBySpringCGLIB$$191f99f$$FastClassBySpringCGLIB$$8330ce57.invoke(<generated>) ~[na:na]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-4.3.0.RC2.jar:4.3.0.RC2]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:356) ~[spring-context-4.3.0.RC2.jar:4.3.0.RC2]
at com.xl.MbbI.config.HTTPConfiguration$$EnhancerBySpringCGLIB$$191f99f.restTemplate(<generated>) ~[na:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_60]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.0.RC2.jar:4.3.0.RC2]
... 24 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.http.protocol.HttpContext
at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.7.0_60]
at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.7.0_60]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_60]
at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.7.0_60]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.7.0_60]
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.7.0_60]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.7.0_60]
... 36 common frames omitted
仅供参考,错误远不止上面显示的。
第一行是这样的:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'restTemplate' defined in class path resource .....
Caused by: java.lang.NoClassDefFoundError: org/apache/http/protocol/HttpContext
该错误表明您的类路径有问题,可能是因为没有类或。阿帕奇。http。协议类路径中的HttpContext。Spring RestTemplate经常使用这个类。通常我们可以在ApacheHttpClient库中找到这个类。你应该再次检查你的依赖关系。如果找不到,可以考虑添加以下依赖项(如果使用Maven)
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
我正在使用Spring Boot创建一个访问数据库的简单web应用程序。通过在中设置属性,我利用了DataSource的自动配置功能。这一切都很出色,而且非常快--伟大的工作伙计们@Spring! 我公司的政策是不应该有明文密码。因此,我需要对进行加密。经过一番深入研究,我决定创建一个实现,该实现创建一个jasypt,如下所示: 然后,我用文件将其打包到它自己的jar中,如下所示: 当在maven
UnsatisfiedDependencyException:创建名为“Test Controller”的bean时出错:通过字段“Test Service”表示不满足的依赖关系;嵌套异常是org.springframework.beans.factory.beanCreationException:创建名为“test service”的bean时出错:调用init方法失败;嵌套异常是java.l
用例-有一个带有消息的主题(空,元数据)。我需要从主题创建一个Ktable,其键(metadata.entity_id)和值为metadata。这个表稍后将被用来与具有相同键的流进行连接。 一旦我将消息推送到主题-METADATA_TOPIC。这会导致以下错误。我在这里遗漏了什么吗?kafka-stream 2.2.0
ConfigServletWebServerApplicationContext:上下文初始化过程中遇到异常-取消刷新尝试:org.springframework.beans.factory.unsatisfieddependencyException:创建名为“security config”的bean时出错:通过字段“reader repository”表示的不满足依赖项;嵌套异常为org.s
问题内容: 有没有一种方法可以JButton用您自己的按钮图形而不是仅在按钮内部创建图像? 如果没有,是否还有另一种方法可以JButton在Java中创建自定义? 问题答案: 当我第一次学习Java时,我们不得不制造Yahtzee,我认为创建自定义的Swing组件和容器会很酷,而不仅仅是在一个组件上绘制所有内容JPanel。Swing当然,扩展组件的好处是能够添加对键盘快捷键和其他辅助功能的支持,
有人能帮我创建balow图像剪切搜索栏吗?我已经用自定义拇指和分段文本浏览过SeekBar,还有SeekBar拇指位置问题 但是我没有成功创建我的客户搜索栏,请帮助我