weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection

java.lang.ClassCastException:

weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection

描述:本地Tomcat环境测试项目没问题,可以跑通。将项目部署到weblogic服务器上后,项目启动后访问报错。

原因为:weblogic默认情况下,在程序中如果正常使用java.net.URL的不带 URLStreamHandler 参数的构造方法new 一个URL对象的话,url.openConnection()默认是返回SOAPHttpsURLConnection类型对象。

但是一般jar包是第三方提供的,我们不能更改代码,所以只能从Weblogic配置的层面上解决报错的问题。

解决方案:在启动脚本中(比如startWebLogic.sh)在JAVA_OPTIONS增加 -DUseSunHttpHandler=true

weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection

但是好像集群部署的得改weblogic控制台的配置,这个我也没研究明白~