(1).
今天,详细研究了在jdk1.6下,jboss4.2 不能正常工作的问题。
出现了如下错误:
setProperty must be overridden by all subclasses of SOAPMessage。。。
出现这个错误的根源,分析如下:
jbossws-client.jar 中有一个类叫做:SOAPMessageImpl, 它的版本是1.5
jboss-saaj.jar 中有一个类叫做 SOAPMessage(这是一个类,而不是一个接口,需要继承),它的版本也是1.5
setProperty 和 getProperty 方法都实现了。
javaee.jar 中也有 SOAPMessage 类,
setProperty 和 getProperty 方法都没有实现。
javaee.jar 和 jboss-saaj.jar 可以共存,系统自动调用 jboss-saaj.jar。
(经验证,与顺序无关,但是不知道为什么可以很好的工作)
但是,当我们使用jdk1.6时,jdk 中包括了新版本的SOAPMessage,
这个新 SOAPMessage 的 setProperty 方法抛出了 UnsupportedOperationException,出现了版本不兼容的问题。
在jdk1.5中并没有这个类。
尝试的解决方法如下:
(a). 将jboss-4.2.3.GA-jdk6中的jbossws-client.jar,拷贝到客户端
问题不能解决。
原因是SOAPMessageImpl并没有override setProperty 方法。
(b). 将jboss-5.1.0.GA-jdk6中的jbossws-