前些日子用xfire1.2.6开发了一个webservice接口,主要功能是用来传输文件,接口定义如下:
public interface WSExport {
public byte[] export(String docPath,String xmlPath) throws Exception;
}
开发好服务端和客户端后,在tomcat6下面测试通过,以为一切ok了。但昨天做集成测试时,把客户端发布到weblogic9.1问题就来了。
问题一:
调用接口,报java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lang/String 异常。
问题一原因:
经过在网上google+baidu,找到了问题所在,原因是weblogic里面用到包%WL_HOME%\server\lib\weblogic.jar里面有javax.jws.WebService这个类,版本跟xfire里面用到的包xfire-jsr181-api-1.0-M1.jar里面的类javax.jws.WebService版本不一致,而运行时默认优先加载的是weblogic.jar里面的类,所以引起冲突。
问题一解决方法:
把xfire的包xfire-jsr181-api-1.0-M1.jar复制到%WL_HOME%\server\lib\目录下,并且修改配置文件%WL_HOME%\common\bin\commEnv.cmd(linux下修改commEnv.sh)。
找到SET WEBLOGIC_CLASSPATH= 这行,把%WL_HOME%\server\lib\xfire-jsr181-api-1.0-M1.jar加在%WL_HOME%\server\lib\weblogic.jar前面,然后保存。重启weblogic问题一解决。
问题二:
问题一解决后以为万事大吉了,谁知调用接口时,新的问题来了。报:
java.lang.UnsupportedOperationException
at weblogic.xml.stax.XMLStreamReaderBase.getTextCharacters(XMLStreamRead
erBase.java:487)
问题二原因:
找了半天没找到真正原因,只知道大家都说接口返回是byte[]就会出现以上异常。
问题二解决方法:
这是个不完美的解决方法,需要更改接口,把byte[]用base64进行编码,编码后byte[]变成了String,然后客户端收到String后用base64解码成byte[]。异常不再出现,成功将文件通过webservice传输到客户端。希望有高人提出更好的解决方法供大家讨论。
分享到:
相关推荐
weblogic 9.x,10.x 线程调整
weblogic 9.X license.bea 无限制版
weblogic9.x配置部署
零基础学习MyEclipse+Weblogic9.x安装、配置、部署
使用eclipse通过weblogic开发简单的ejb应用(weblogic 10.x & ejb3.x)
开发部署中间件weblogic下载,经实践试用,没有任何问题。 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web...
JBuilder X+WebLogic 8.1.x.doc开发
在myeclipse 9下配置weblogic10.x
Oracle的高危远程代码执行漏洞(CVE-2018-2893),通过该漏洞攻击者可以在未授权的情况下远程执行任意代码。 受此漏洞影响的版本包括: ...解决方案: 1.控制T3协议的访问 2.升级到 jdk-8u20以上的版本 3.升级补丁
weblogic 与 apache 2.2.x 集成的时缺少一个库文件mod_wl_22.so ,本身带的是mod_wl_20.so,只能与 apache 2.0.* 整合。整合方法请google
Oracle WebLogic Server 12.2.1.4 2020年7月发布的累积更新补丁包 p31537019_122140_Generic 主要修复各种Bug和安全漏洞等问题 安装之前须先卸载老的补丁 遭到过攻击的服务器、域 建议删除域并重建
Weblogic中MIME的默认配置文件 文件名称:domain/config/mimemappings.properties 格式如下: js=text/javascript 个人觉得设置完后,Weblogic可能要重启一下。
weblogic5.pdf
windows系统 weblogic 12.2.1.3.0.打补丁操作流程,包含最新补丁和13.9.4.2.4Optach所需的jar包,opatch_generic.jar
weblogic10.X AES加解密 jdbc加解密 boot.properties加解密 WLEncrypt:=========================== encrypt result:{AES}f5GuX7x1nWKVrz2yTneeiKBRMDkE1Z08Ud/rcZYozwE= decrypt result:weblogic WLEncrypt:======...
Weblogic 10.3.6 2019年7月16日集成补丁包(p29633432_1036_Generic_20190716.zip),补丁名称:MXLE,下载文件中包含补丁安装说明和方法...服务器打补丁前请注意做好备份,若与旧的补丁冲突,需卸载已安装的对应旧补丁
JBuilder2006中配置WebLogic8.x.doc
Weblogic8.X+SQL SERVER2000安装及连接池配置指南
weblogic下转换oracle 的clob类型经常报转型错误,本例子通过反射解决weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB转型成oracle.sql.CLOB问题
Weblogic 9.1.x 配置秘笈 <br>Weblogic从安装到配置运行全图文教程。适用于初学者。