Hi,
Looks like the error occurs when you try to download remote wsdl,
which also need authentication.
However the "{WSDL Namespace}portName" would never work for
downloading the wsdl as the portName is unknown at that point.
You need change your http:conduit like
<http-conf:conduit name="https://10.33.30.138:8443/.*">
the "https" prefix here is important.
You can take a look at [1] to get more details there.
[1]https://issues.apache.org/jira/browse/CXF-3421
Freeman
On 2011-8-30, at 下午4:18, Guillaume Jouanjan wrote:
Hello ,
First of all , sorry for my english , i'm a french developer.
My goal is to call dynamically web services method using a WSDL (the
only
information i have + name of methods)
I've got a problem with the following code :
String urlWsdl = "
https://10.33.30.138:8443/eLBG-Server/WS/LogbookWS.LogbookWSHttpSoap12Endpoint?wsdl
";
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.
newInstance();
Client clientWS = factory.createClient(urlWsdl);
I've got the following error :
10:04:22,562 ERROR [[rmm-ata]] "Servlet.service()" pour la servlet
rmm-ata a
g´┐¢n´┐¢r´┐¢ une exception
java.security.cert.CertificateException: No subject alternative names
present
at sun.security.util.HostnameChecker.matchIP(Unknown Source)
at sun.security.util.HostnameChecker.match(Unknown Source)
at
com
.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkIdentity(Unknown
Source)
at
com
.sun
.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown
Source)
at
com
.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown
Source)
at
com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown
Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown
Source)
at
com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown
Source)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
Source)
at
com
.sun
.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown
Source)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
Source)
at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown
Source)
at
sun
.net
.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown
Source)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at
sun
.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown
Source)
at
org.apache.cxf.resource.URIResolver.tryFileSystem(URIResolver.java:
167)
at
org.apache.cxf.resource.URIResolver.<init>(URIResolver.java:90)
at
org
.apache
.cxf
.endpoint
.dynamic.DynamicClientFactory.composeUrl(DynamicClientFactory.java:
561)
at
org
.apache
.cxf
.endpoint
.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:
259)
at
org
.apache
.cxf
.endpoint
.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:
204)
at
org
.apache
.cxf
.endpoint
.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:
197)
at
org
.apache
.cxf
.endpoint
.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:
152)
at
com
.airbus.rmm.controller.ManualController.send(ManualController.java:
174)
I have specified a http conduit in spring configuration file but it
seems
that information inside is not managed and the disableCNCheck=false
is still
active
my http-conduit conf :
<http:conduit name="*.http-conduit">
<http:tlsClientParameters secureSocketProtocol="TLS"
disableCNCheck="true">
<sec:keyManagers keyPassword="password">
<sec:keyStore type="JKS" password="password"
file="../classes/server.jks"/>
</sec:keyManagers>
<sec:trustManagers>
<sec:keyStore type="JKS" password="password"
file="../classes/server.jks"/>
</sec:trustManagers>
<sec:cipherSuitesFilter>
<!-- these filters ensure that a ciphersuite with
export-suitable or null encryption is used,
but exclude anonymous Diffie-Hellman key change as
this is vulnerable to man-in-the-middle attacks -->
<sec:include>.*_EXPORT_.*</sec:include>
<sec:include>.*_EXPORT1024_.*</sec:include>
<sec:include>.*_WITH_DES_.*</sec:include>
<sec:include>.*_WITH_NULL_.*</sec:include>
<sec:exclude>.*_DH_anon_.*</sec:exclude>
</sec:cipherSuitesFilter>
</http:tlsClientParameters>
<http:authorization>
<sec:UserName>nandana</sec:UserName>
<sec:Password>password</sec:Password>
</http:authorization>
<http:client AutoRedirect="true" Connection="Keep-Alive"/>
</http:conduit>
Thanks for your help
Guillaume
--
* *
* *
*Guillaume JOUANJAN
*
*Chef de Projet Technique
*
*Email:* gjouan...@sqli.com * <gjouan...@sqli.com>*
*Bureau:* +33 (0)5 62 47 33 66
*
*
*
*
*
*
*www.sqli.com*
* *
*
*
*SQLI Toulouse*
7 avenue Didier DAURAT
BP 70118
31 704 BLAGNAC CEDEX
*Standard:* +33 (0)5 62 47 70 70
*Fax:* +33 (0)5 62 47 70 71
**
---------------------------------------------
Freeman Fang
FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com