eclips用xfire开发webservice在tomcat上运行通过,之后部署到weblogic上,访问可以访问,但是客户端调用就

报异常,
Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Fault: java.lang.UnsupportedOperationException
org.codehaus.xfire.fault.XFireFault: Fault: java.lang.UnsupportedOperationException
at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(Soap11FaultSerializer.java:31)
at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(SoapFaultSerializer.java:28)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(ReadHeadersHandler.java:111)
跪求解释。。。。。

不知道你使用的是weblogic的什么版本,我们做过在9.2版本下面使用xfire1.2.6发布服务没有什么问题。

我在使用CXF2.6 + weblogic9.2时也遇到类似的问题,当时花了不少时间来查找原因,原来是和类加载的顺序有关,weblogic在启动的时候会加载一些内置的jar包,其中就包含了与发布web服务和解析xml等相关的jar文件,但它们的版本实在是太老啦,像CXF这种新框架完全无法使用这些jar包,必须使用新版本的jar包来替换它们。

我的解决办法相当简单,把CXF依赖的jar文件打包成一个jar,然后将这个jar文件放置在%JAVA_HOME%/jre/lib/ext目录下即可,extension classloader将加载这个jar,等到weblogic的类加载器启动的时候发现这些依赖的class已经被加载进来了,所以就不会再重复加载,从而达到目的。

希望我的办法能对你解决问题有所帮助。追问

weblogic11g

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-29
使用的 xfire 版本不对,导致不支持某类的某方法。
相似回答