gpt4 book ai didi

java - 通过 CXF 配置基于 SSL 的 JAX-WS

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:22 25 4
gpt4 key购买 nike

嘿,我只是有一些相关的问题。最近生成客户端的外部 SOAP 接口(interface)更改为 https 接口(interface)。我手头有一个旧代码库,它通过 cxf 和不安全的、基于 http://的 wsdl 生成 java 文件。我改变了uri,在maven方面一切正常,即使是测试通过。但是当我在我的主要项目中使用这个 jar 时,我得到了这个:

Caused by: java.lang.NoSuchMethodError: javax.net.ssl.HttpsURLConnection.getSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;        at sun.net.www.protocol.https.DelegateHttpsURLConnection.getSSLSocketFactory(DelegateHttpsURLConnection.java:50)        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:172)        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:234)        at java.net.URL.openStream(URL.java:1010)        at org.apache.cxf.resource.URIResolver.tryFileSystem(URIResolver.java:169)        at org.apache.cxf.resource.URIResolver.resolve(URIResolver.java:119)        at org.apache.cxf.resource.ExtendedURIResolver.resolve(ExtendedURIResolver.java:41)        at org.apache.cxf.transport.TransportURIResolver.resolve(TransportURIResolver.java:134)        at org.apache.cxf.catalog.CatalogWSDLLocator.getBaseInputSource(CatalogWSDLLocator.java:72)        at org.apache.cxf.wsdl11.AbstractWrapperWSDLLocator.getBaseInputSource(AbstractWrapperWSDLLocator.java:57)        at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:214)        at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:179)        at org.apache.cxf.wsdl11.WSDLServiceFactory.(WSDLServiceFactory.java:91)        at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:207)        at org.apache.cxf.jaxws.ServiceImpl.(ServiceImpl.java:150)        at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:63)        at javax.xml.ws.Service.(Service.java:56)        at generated.webservices.com.gbm.sso.ssoclient.AuthenticationServiceInternal.(AuthenticationServiceInternal.java:49)        at com.gbm.caprice.sso.client.CachingSSOClient.init(CachingSSOClient.java:42)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:597)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1536)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)        ... 45 more

你能帮忙吗?

最佳答案

由于您遇到了 NoSuchMethodError(由编译器捕获/抛出),我的建议是您使用的是 Java 类的一个版本(在本例中为 javax.net.ssl.HttpsURLConnection) 没有以下方法签名:

javax.net.ssl.HttpsURLConnection.getSSLSocketFactory()

这个类可以在 JRE/lib jsse.jar 中找到(自撰写本文时起,JDK 1.6.0_21)。确保您的 java 库和 Apache CXF 库已在 java CLASSPATH 中声明。

根据您的引起的异常,这就是我可以帮助您的。

关于java - 通过 CXF 配置基于 SSL 的 JAX-WS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3665509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com