所有,我正在尝试设置Spring的RestTemplate以允许对合作伙伴的Web服务进行SSL调用。我的设置是:
我正在尝试利用3.x servlet-api.jar(自带Tomcat 7)和Spring 4的新功能,它允许我的Spring配置完全注释/代码驱动,而不是拥有多个XML配置文件(截至目前,我的web.xml文件已完全为空)。到目前为止,我有:
我的基本配置类,非常简单
package com.config;
[imports]
@Configuration
@ComponentScan("com.application")
@EnableWebMvc
public class Config {
}
我的网络初始化课程。我正在提取我的证书并将它们读入Resource对象,但到目前为止我还没有对它们做任何事情。我也设置好了,这样我就可以在我的应用程序中进行休息调用(而不是这与我的问题相关)。
package com.config;
[imports]
@Configuration
public class WebApplication implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(com.config.Config.class);
ctx.setServletContext(servletContext);
Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
servlet.addMapping("/");
servlet.setLoadOnStartup(1);
Resource trustStore = ctx.getResource("file:" + System.getProperty("javax.net.ssl.trustStore"));
Resource keyStore = ctx.getResource("file:" + System.getProperty("javax.net.ssl.keyStore"));
String trustStorePassword = System.getProperty("javax.net.ssl.trustStorePassword")
String keyStorePassword = System.getProperty("javax.net.ssl.keyStorePassword")
}
}
从Spring 3到Spring 4,似乎有一个不错的数量,因此有关如何使用SSL设置RestTemplate的现有示例不再有效。最重要的是,我一直在梳理网络上的一个例子,说明如何使用Java / annotations而不是xml文件,但到目前为止还没有发现任何东西。我做了几次不同的尝试,自己配置一个RestTemplate对象,没有任何运气。有没有人有一个很好的例子或链接到如何尝试实现这个的例子?
答案 0 :(得分:0)
所以看起来我找到了一个很好的例子让我95%的方式(其他5%只是我的配置,使其在我们的系统中工作)。看看这个开发人员如何为Spring的RestTemplate实现FactoryBean,并且不要忘记用你的sslContext / HttpClient创建一个ClientHttpRequestFactory并用它创建你的RestTemplate。我为没有发布我的代码而道歉,但我们是在一个封闭的网络上开发的。