我正在尝试配置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");
}
有人能给我建议吗?
1条答案
按热度按时间zbq4xfa01#
下面是一个带有生产者和消费者应用程序的springbootws项目的示例。基本上,你必须使用
WebServiceTemplateBuilder.additionalMessageSenders()
在构建过程中WebServiceTemplate
豆子。