在jbk6中访问jboss的webservice,会出现如下异常
java.lang.UnsupportedOperationException:
setProperty must be overridden by all subclasses of SOAPMessage
原因是Jboss的soap实现的是老的javax.xml.soap.SoapMessage接口,这个接口的setProperty方法在老版本是不需要override的,但是到了Java6,由于Java6的jdk本身自带soap包,而自带的这个包的SoapMessage接口对setProperty方法又强制其实现类要override自身,否则则抛出上述异常。
解决方法:将jboss_home/client 下的jbossws-native-jaxws.jar, jbossws-native-saaj.jar,
jbossws-native-jaxrpc.jar, jbossws-native-jaxws-ext.jar 复制到jboss_home/lib/ endorsed中
如果要在eclipse中启动jboss还需要在eclipse中jboss的启动配置中添加:
-Djava.endorsed.dirs=jboss_home/lib/endorsed