由于Weblogic中包含的相关JWS及JAX-RPC实现的影响使得我们在其中部署相关CXF应用时总是会遇到一些棘手的问题,本人根据自己的实践经验将其中一些注意事项作了一下总结。
1 以EAR形式部署
将CXF的应用以WAR的形式包含在EAR中,在EAR的META-INF中的配置文件application.xml中声明你的WAR,并在weblogic-application.xml中加入以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
<application-param>
<param-name>webapp.encoding.default</param-name>
<param-value>UTF-8</param-value>
</application-param>
<prefer-application-packages>
<package-name>javax.jws.*</package-name>
</prefer-application-packages>
</weblogic-application>
这个配置是告诉应用服务器的类装载器对于该EAR而言优先使用该EAR中javax.jws.*的实现。
2 在应用服务器启动时加入Java VM参数
-Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
好了现在一切搞定!
(蔡超 chaocai2001@yahoo.com.cn)