java - 我正在尝试将 Soap 客户端配置为使用智能卡中的证书在 Spring Boot (java) 中进行身份验证
问题描述
我正在尝试将 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");
}
有人可以给我建议吗?
解决方案
这是一个带有生产者和消费者应用程序的 Spring Boot WS 项目示例。基本上,你必须在beanWebServiceTemplateBuilder.additionalMessageSenders()
的构建过程中使用。WebServiceTemplate
推荐阅读
- react-native - 按下按钮更改图标
- jquery - 如何同时使用 QUERY 和 IMPORTRANGE 函数来提取和转置谷歌表格中的数据?
- sql - 数据透视表列重命名
- asp.net-core - 如何根据主题设置数据库值在 ASP.NET Core 3.1 MVC 中动态更改 SCSS 中的全局变量并在运行时编译 SCSS?
- javascript - 如何防止在 PDF.js 中下载整个 PDF 文件?
- swift - ScrollEgdeAppearance 对 UINavigationBar 不生效
- javascript - 强制 Babel 将 import 转换为 require?
- macos - 哪些键映射会一次将光标上下移动一条真线?
- javascript - 更改路线而不重新加载以前的日期角度 js
- javascript - 回调在 AWS lambda 调用中不起作用