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

同一套java web 程序,是调用webservice接口的。放在weblogic和tomcat 两个中间件上面。调用速度差别很大。tomcat 是 jdk1.8 weblogic也是jdk1.8.我这个程序放到tomcat上面运行,调用webservice的时候才零点几秒钟就得到结果了。但是放到weblogic上面,结果差不多要6七秒才得到返回结果,有人知道是什么问题导致的吗。。。。。。webservice是axis2的。。。。。。。对公网开放。

问题一:
调用接口,报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传输到客户端。希望有高人提出更好的解决方法供大家讨论。
温馨提示:内容为网友见解,仅供参考
无其他回答

对Web应用服务器的性能问题诊断(Tomcat、Weblogic中间件)
在开发Web项目时,常用的服务器包括Tomcat、Weblogic和WebSphere等,它们作为中间件,负责处理动态页面请求,提供诸如命名、事务、安全、消息传递和数据访问等功能。对于性能监控和问题诊断,我们有专门的策略:对于Tomcat,作为开源的Java Servlet\/JSP服务器,其性能监控可以从内置的手段开始。首先,Tomcat自带的...

tomcat和weblogic发布同样一个项目两者出现不同?
同意一楼的说法,在weblogic里对检测是很严格的,我曾经出现过你相同的问题,其实是一些编程底层的基础问题,比如说在判断中出现了String xx=="" 这样的判断语句,会导致weblogic的检测不能通过,而在tomcat中是没有问题的,像刚才的判断应该是 "".equals(xx)这样才对,如果你在分页的时候出现了这样的...

Weblogic和Tomcat的区别
WebLogic,由美国BEA公司出品,是一个基于Java EE架构的中间件,最新版本9.0是卓越的商业应用服务器,支持大型分布式应用的开发、集成和管理。它全面遵循J2EE 1.4规范,作为J2EE Container,包含EJB、JSP、Servlet等组件,提供了丰富的开发工具,适合复杂的商业应用需求。相比之下,Tomcat是一个免费开源的Web...

Tomcat、WebLogic、Websphere、Jboss为什么被称作中间件?应怎么理解...
简单来说,中间件就是操作系统和应用程序之间的桥梁。没有中间件,你写出来的应用程序(主要是web application 和 J2EE )就无法运行 我们最早知道的中间件是一个称为Tuxedo的东西,实质上它是一个交易中间件。1998年IDC公司对于中间件有一个定义,并根据用途将其划分为6个类别。如今所保留下来的只有消息...

WebLogic和Tomcat的区别
近日,我研究了Tomcat和WebLogic Server(WLS)这两种常用的Java web服务器,它们虽然都是web服务器,但在功能和特性上有着显著区别。首先,WebLogic是由美国BEA公司出品的Java EE架构的中间件,作为一款商业软件,WebLogic Server 9.0以其卓越性能领先业界。它集成了Java的动态功能和企业级安全性,严格遵循...

eclips用xfire开发webservice在tomcat上运行通过,之后部署到weblogic...
把CXF依赖的jar文件打包成一个jar,然后将这个jar文件放置在%JAVA_HOME%\/jre\/lib\/ext目录下即可,extension classloader将加载这个jar,等到weblogic的类加载器启动的时候发现这些依赖的class已经被加载进来了,所以就不会再重复加载,从而达到目的。希望我的办法能对你解决问题有所帮助。

weblogic和tomcat的区别
WebLogic和Tomcat的区别:区别概述:WebLogic和Tomcat都是Java的Web服务器和应用服务器,但它们之间存在一些显著的区别。详细解释:1. 定位不同:WebLogic是一个全面的企业级应用服务器,提供了丰富的功能和强大的性能,适用于大型企业的关键业务应用。它提供了全面的企业集成解决方案,支持各种企业级的开发特性...

Tomcat和Weblogic的区别
这几天接触到两种Java的web服务器,做项目用的Tomcat,看视频看的是WebLogic Server(WLS),都是web服务器,有什么区别和联系呢?(一)先简单介绍一下这两种服务器。WebLogic是美国bea公司出品的一个application server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogic Server 9....

weblogic和websphere中间件的配置_weblogic是中间件吗
Tomcat服务器是一个的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。WebSphere是IBM...

java 中 webservice项目部署在weblogic服务器上,出现以下2个异常,找了...
Truncated. see log file for complete stacktraceCaused By: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(找不到方法,检查下导入的lib里是不是有老版本的jar包存在,某些方法可能新版jar包才有,你的项目和weblogic是否有重复导入问题 ...

相似回答