java.io.IOException: chunk size should be less than 64k
做集成工作时使用到了第三方公司提供的接口JAR包,在本地TOMCAT测试通过后部署到WEBLOGIC上。抛出了weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection这样的错误。这段是第三方公司JAR包中代码抛出的异常。沟通得知第三方公司jar包中存在类似如下的代码:
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
这段代码在TOMCAT下运行正常,但是在WEBLOGIC下url.openConnection()返回了SOAPHttpsURLConnection类型的对象,所以出现转换异常的错误。
注:SOAPHttpsURLConnection与HttpsURLConnection都是java.net.HttpURLConnection的子类。
如上图,在WEBLOGIC没有对使用的SSL实现类进行配置的情况下,在程序中如果正常使用java.net.URL的不带 URLStreamHandler 参数的构造方法new 一个URL对象的话,url.openConnection()默认是返回SOAPHttpsURLConnection类型对象,如果我们使用带有URLStreamHandler参数的构造方法,如下:
URL url = new URL(null,"https://www.etrade.com",new com.sun.net.ssl.internal.www.protocol.https.Handler());
// 指定了handler后openConnection()返回了HttpsURLConnection类型对象
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
以上可以在程序中解决返回的HttpURLConnection对象的具体类型。但是jar包是第三方提供的,我们不能更改代码,所以只能从Weblogic配置的层面上解决报错的问题。
对于单机的Weblogic配置,可以在启动脚本中(比如startWebLogic.sh)在JAVA_OPTIONS增加
-DUseSunHttpHandler=true ,例如
set JAVA_OPTIONS=%JAVA_OPTIONS% %JAVA_PROPERTIES% -DUseSunHttpHandler=true -Dwlw.iterativeDev=%iterativeDevFlag% -
Dwlw.testConsole=%testConsoleFlag% -Dwlw.logErrorsToConsole=% logErrorsToConsoleFlag%
如果是配置了集群,则不必在启动脚本中增加参数,可以在weblogic控制台中针对特定server配置此参数
这个参数的目的就是告诉WebLogic使用Sun的HttpHandler而不要使用WebLogic自己的。这样配置后使用url.openConnection()就会返回HttpsURLConnection类型对象了。
分享到:
相关推荐
J2EE应用与BEA.WebLogic.Server第四部分 文件较大压缩成4部分传输的
J2EE应用与BEA.WebLogic.Server第2版
第十一章 使用 WebLogic Server JavaMail 连接 Internet 邮件 第十二章 管理 WebLogic Server 8.1 第十三章 WebLogic Server 8.1 应用程序安全 第十四章 设计产品部署 第十五章 Web 拍卖设计目标 第十六章 WebLogic ...
J2EE应用与BEA.WebLogic.Server第三部分 文件较大压缩成4部分传输的
J2EE应用与BEA.WebLogic.Server第二部分 文件较大压缩成4部分传输的
由于本书太大,所以压成了4个文件,要把4个文件全部下载了,才能解压。 美河提供.J2EE应用与BEA.WebLogic.Server第2版。
J2EE应用与BEA.WebLogic.Server第2版 超过10mb 分三部分 第一部分
美河提供.J2EE应用与BEA.WebLogic.Server第2版
由于本书太大,所以压成了4个文件,要把4个文件全部下载了,才能解压。这是第二部分 美河提供.J2EE应用与BEA.WebLogic.Server第2版。
实战J2EE与WebLogic Server应用开发.rar
美河提供.J2EE应用与BEA.WebLogic.Server第2版 太大分4部分 part1
weblogic.jdbc.vendor.oracle.OracleResultSet 解决weblogic数据库连接池存储大字段所需包
J2EE应用与BEA.WebLogic.Server第2版配书源码
weblogic下转换oracle 的clob类型经常报转型错误,本例子通过反射解决weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB转型成oracle.sql.CLOB问题
J2EE应用与BEA.WebLogic.Server第2版.part1.rar
J2EE应用与BEA.WebLogic.Server第2版.part2.rar
WebLogic部署J2EE应用程序图解[归纳].pdf
这是第三部分,J2EE应用与BEA.WebLogic.Server
很难找的weblogic支持oracle的blob的驱动包