我是在做平安保险的接口,在tomcat下已经测试成功,但是客户部署到weblogic下就出现了问题:HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
在这句代码上抛出了异常weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection希望有遇见过此情况的前辈们给我些帮助
在这句代码上抛出了异常weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection希望有遇见过此情况的前辈们给我些帮助
将wsclient.jar去掉,如果必须使用不可,则在导入weblogic.jar后再导入该包.
将wsclient.jar去掉,如果必须使用不可,则在导入weblogic.jar后再导入该包.
好像不能映射到javax.net.ssl.HttpsURLConnection 这个类.看是否收入这个类或者导入这个包没有?
SOAPHttpsURLConnection connection = (SOAPHttpsURLConnection) url.openConnection();现在抛出这个异常:javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received.what can i do啊,你妹的啊...
根据新的协议重写生成SSL认证
LZ在网上查查看 OpenSSL/SOAP 的一些相关资料看看吧
对我现在就是在找这方面东西,之前的代码是这样的:
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
System.out.println("Warning: URL Host: " + urlHostName + " vs. " + session.getPeerHost());
return true;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(hv);我觉得只要找到SOAPHttpsURLConnection这个类与之对应的方法就可以了,但是死活找不到...
// 创建SSLContext对象,并使用我们指定的信任管理器初始化
TrustManager[] tm = { new MyX509TrustManager() };
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); sslContext.init(null, tm, new java.security.SecureRandom()); // 从上述SSLContext对象中得到SSLSocketFactory对象
SSLSocketFactory ssf = sslContext.getSocketFactory();
HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostName, SSLSession session) { System.out.println("Warning: URL Host: "+urlHostName+" vs. "+session.getPeerHost()); return true; } }; HttpsURLConnection.setDefaultHostnameVerifier(hv);
connection = (HttpsURLConnection) url
.openConnection();
connection.setSSLSocketFactory(ssf);
connection.setRequestProperty("Cookie", "JSESSIONID=" + sessionid);
connection.connect();
} else {
con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Cookie", "JSESSIONID=" + sessionid);
con.connect();
}这是我的这个项目里面用到的。不知道可能解决你的问题。你可以试试。
connection = (HttpsURLConnection) url.openConnection();现在主要的问题就在于这两句代码,在weblogic下url.openConnection()返回的对象不可以转换成
javax.net.ssl.HttpsURLConnection所以我要将HttpsURLConnection替换为SOAPHttpsURLConnection
但是这个类中没有setDefaultHostnameVerifier(hv);这个方法,这样一来ssl认证就通不过了...整整两天了,太特么折磨人了哎...
加到合适地方 你懂
-DUseSunHttpHandler=true
在右边arguments中加入-DUseSunHttpHandler=true
这是通过myeclipse启动的方式如果你想直接通过startWebLogic.cmd启动的话,将set MEM_ARGS = -DUseSunHttpHandler=true加入此文件中位置在@REM Start Derby下面一行就可以了
我在myeclipse中添加参数是可以的,但是直接在startWeblogic.cmd中添加怎么不行啊!!
weblogic版本是10.3.3!
求楼主指教
谢谢!!