同一套java web 程序,是调用webservice接口的。放在weblogic和tomcat 两个中间件上面。调用速度差别很大

同一套java web 程序,是调用webservice接口的。放在weblogic和tomcat 两个中间件上面。调用速度差别很大,第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传输到客户端。希望有高人提出更好腔皮的解决方法供大家讨论。

这个程序的规模这么小,根本起不到测试的作用。

随机性轮中太大了。

如果是有几十W以上的数据 *** 作,或弊桐迅几千以上的对象 *** 作,或几千W像素租此的绘图 *** 作才有说服力。

应该和你当前计算机的状态有关系吧!

即使你的程序没有任何变动,可是你计算的机状态是在变化的,所谓你计算的状态就是说内存、CPU等等这些硬件还有当前系统中的进程线程等等N多因素吧!包括你的开发工具。这些都可能会影响到你的这个快慢,不过一般情况下这些都是些很细微的区别吧!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12467137.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存