首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java如何- Spring Caucho Hessian客户端与SSL

Java如何- Spring Caucho Hessian客户端与SSL
EN

Stack Overflow用户
提问于 2019-07-21 13:26:27
回答 1查看 656关注 0票数 0

我正在尝试使用SSL安全的Spring/服务。

问题: No,我在哪里可以找到一个示例,如何设置以通过客户端证书:(

这里的任何帮助都是非常感谢的。

服务器设置

  1. 有了,我就像下面这样公开了Hessian服务。
  2. 下面的“预订”服务在https://super.server/service/booking上公开。
  3. 这里,在请求到达之前,它会通过一个Web服务器,其中请求使用SSL进行安全保护。如果被传递,则它仅转发给托管在Hessian服务之后的Java应用程序。
代码语言:javascript
复制
    @Bean(name = "/booking") 
    RemoteExporter bookingService() {
        HessianServiceExporter exporter = new HessianServiceExporter();
        exporter.setService(new CabBookingServiceImpl());
        exporter.setServiceInterface( CabBookingService.class );
        return exporter;
    }

客户端设置

  1. 在这里,我必须访问https URL,即设置SSL。
  2. 我知道如何为HttpCleint做这件事。
  3. 我也知道,在内部,连Hessian也在使用URLConnection。我相信这里有一种更简单的方法来连接ssl。
代码语言:javascript
复制
    @Configuration
    public class HessianClient {
        @Bean
        public HessianProxyFactoryBean hessianInvoker() {
            HessianProxyFactoryBean invoker = new HessianProxyFactoryBean();
            invoker.setServiceUrl("https://super.server/booking");
            invoker.setServiceInterface(CabBookingService.class);
            return invoker;
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-25 12:03:00

  1. HessianProxyFactory是返回目标代理服务的代理服务。
  2. HessianProxyFactory有返回HessianURLConnectionFactory的方法createHessianConnectionFactory()。
  3. HessianURLConnectionFactory是构建目标HessianURLConnection (内部使用URLConnection)。
  4. HessianURLConnectionFactory类型是基于System.property的decided on runtime类型。下面是来自HessianProxyFactory.class的示例代码
代码语言:javascript
复制
Class HessianProxyFactory{
    protected HessianConnectionFactory createHessianConnectionFactory(){
        String className= System.getProperty(HessianConnectionFactory.class.getName());
        HessianConnectionFactory factory = null;
        try {
          if (className != null) {
            ClassLoader loader = Thread.currentThread().getContextClassLoader();
            Class<?> cl = Class.forName(className, false, loader);
            factory = (HessianConnectionFactory) cl.newInstance();
            return factory;
          }
        } catch (Exception e) {
          throw new RuntimeException(e);
        }
        return new HessianURLConnectionFactory();
    }
}
  1. 想法是返回自定义HessianURLConnectionFactory,它构建了SSL集成的URLConnection。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57133647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档