您的位置:首页 > 产品设计 > 产品经理

setProperty must be overridden by all subclasses of SOAPMessage 解决办法

2015-03-13 10:16 671 查看
javax.xml.ws.WebServiceException:

java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage at org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:404)
at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:314) at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:172) at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:152) at $Proxy355.getUserList(Unknown
Source)

.......

开发环境

(1)JBoss:4.2.3

(2)jdk:1.6.25

异常描述:

webservice客户端用 jdk1.6的wsimport 生成的,然后将工程部署在Jboss里运行,结果上面的报错。 在网上搜索了下,说是“Jboss的soap实现的是老的javax.xml.soap.SoapMessage接口,这个接口的setProperty方法在老版本是不需要override的,但是到了Java6,由于Java6的jdk本身自带soap包,而自带的这个包的SoapMessage接口对setProperty方法又强制其实现类要override自身,否则则抛出上述异常”。

解决方法

(1)网上提供的解决方法(未解决问题):

将Jboss\lib下的几个包拷贝到Jboss\lib\endorsed下

jboss-jaxrpc.jar

jboss-jaxws.jar

jboss-jaxws-ext.jar

jboss-saaj.jar

jaxb-api.jar

但没能解决问题,已然包上面的错。

(2)自己的解决方法(成功)

既然Jboss的webservice 包跟 jdk1.6的包不兼容,而且我本意是用要jdk1.6的webservice,所以索性将jboss里跟webservice的jar包去掉。 结果验证成功。(唉,搞了我好几天...)

去掉的包:

jboss-jaxrpc.jar

jboss-jaxws.jar

jboss-jaxws-ext.jar

jboss-saaj.jar

jaxb-api.jar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐