So I've been trying to get CXF to deploy to a BEA Weblogic 10.0 application server. However, I am running into a number of issues. Most of them have to do with the numerous JARs that come with CXF and conflicts with BEA (surprise surprise). I've opened up support tickets with BEA anyway to see if they can help.
The most successful I have been with deploying CXF is using the following options in weblogic-application.xml: <prefer-application-packages> <package-name>javax.jws.*</package-name> <package-name>javax.xml.ws.*</package-name> <package-name>javax.net.ssl.*</package-name> </prefer-application-packages> However, these settings throw a java.lang.NoClassDefFoundError: javax/net/ssl/HostnameVerifier at org.apache.cxf.transport.http.AbstractHTTPTransportFactory.getConnectionFactory(AbstractHTTPTransportFactory.java:244). I've tried these settings as well: <prefer-application-packages> <package-name>javax.jws.*</package-name> <package-name>javax.xml.ws.*</package-name> </prefer-application-packages> but seem to get: javax.xml.ws.soap.SOAPFaultException: weblogic.net.http.SOAPHttpsURLConnection at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:168) at $Proxy90.process(Unknown Source) Caused by: java.lang.ClassCastException: weblogic.net.http.SOAPHttpsURLConnection at org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:120) On BEA's community support site there is this tidbit: http://forums.bea.com/bea/thread.jspa?messageID=600039577&tstart=0 "Hi, I am working with HTTPS SSL Connections and is facing the problem of having the url.openConnection() returning type weblogic.net.http.SOAPHttpsURLConnection rather than the normal HTTPSURLConnection. I have done quite a lot of research to reach this conclusion, and found out there is a work around for this: URL url = new URL(null, "https://www.etrade.com", new com.sun.net.ssl.internal.www.protocol.https.Handler()); HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); I simulated it and it is returning: com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl I am not sure to how long I can depend on this work around. If anyone has an idea, please do tell me. Looking at the CXF source code: import javax.net.ssl.HttpsURLConnection; public final class HttpsURLConnectionFactory HttpsURLConnection connection = (HttpsURLConnection) (proxy != null ? url.openConnection(proxy) : url.openConnection()); Do you guys think the way this is written is incorrect for cross compatibility? Also, I am a bit perplexed as to why when I decide to prefer javax.net.ssl.* I get of all things a NoClassDefFoundError. Any help kindly accepted. Thank you. -Jeff
smime.p7s
Description: S/MIME cryptographic signature