JAXWS Socket Factory 设置不起作用

问题描述 投票:0回答:1

我正在使用 JAXWS 调用 SOAP Web 服务,但 SSL 套接字工厂不起作用。该应用程序不使用我的信任库和密钥库,而是使用 JRE 的默认信任库。

BindingProvider bindingProvider = (BindingProvider) myWebservicePort;
Map<String, Object> requestContext = bindingProvider.getRequestContext();   
requestContext.put(JAXWSProperties.SSL_SOCKET_FACTORY, sslSocketFactory);
ssl jakarta-ee java-8 jax-ws
1个回答
0
投票

常量

SSL_SOCKET_FACTORY
具有不同的值,具体取决于所使用的 JAXWS 实现。 JDK 8 中的类位于
com.sun.xml.internal.ws.developer.JAXWSProperties
类中,而参考实现 JAXWS-RI(例如由 JakartaEE 或 JakartaEE 接管 Oracle 之前的其他来源提供)在不同的包中具有相同的类:
com.sun.xml.ws.developer.JAXWSProperties

因此,请确保导入具有与您的运行时匹配的

JAXWSProperties
常量的
SSL_SOCKET_FACTORY
版本。

仅供参考,实际的字符串是:

  • JDK 8:
    "com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory"
  • JAXWS-RI:
    "com.sun.xml.ws.transport.https.client.SSLSocketFactory"

但是,不要逐字使用它们,而是选择正确的

JAXWSProperties
类。

© www.soinside.com 2019 - 2024. All rights reserved.