我正在尝试配置一个soap客户机,以便在springboot(java)中使用来自智能卡的证书进行身份验证

k4emjkb1  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(351)

我正在尝试配置soap客户端,以便在spring boot(java)中使用来自智能卡的证书进行身份验证。我可以通过以下代码访问证书:

private Certificate getCert() throws Exception { 
     KeyStore ks = KeyStore.getInstance("Windows-MY");
     ks.load(null, null); 
     String alias = "Hubba";
     return  ks.getCertificate(alias);
    }

但我不确定如何将其放入soap客户端:

@Bean
public Jaxb2Marshaller marshaller() {
    Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
    marshaller.setContextPath("com.hubba.bu");
    return marshaller;
}

@Bean
public SoapClient soapClient(Jaxb2Marshaller marshaller) {
    SoapClient client = new SoapClient();
    client.setWebServiceTemplate(webServiceTemplate());
    return client;
}

@Bean
public WebServiceTemplate webServiceTemplate() {
  WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
  webServiceTemplate.setMarshaller(marshaller());
  webServiceTemplate.setUnmarshaller(marshaller());
  webServiceTemplate.setDefaultUri("https://test.com/api");
}

有人能给我建议吗?

zbq4xfa0

zbq4xfa01#

下面是一个带有生产者和消费者应用程序的springbootws项目的示例。基本上,你必须使用 WebServiceTemplateBuilder.additionalMessageSenders() 在构建过程中 WebServiceTemplate 豆子。

相关问题