第一次用CXF的WebService, 遇到困难无数... 好不容算是可以启动起来然后用URL方式访问了, 但是从其他项目里访问又出了问题. 访问方式如下:
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
...
XXXService xxxService = (XXXService) factory.create();
总之就是创建一个工厂类然后设置一些属性最后让工厂类创建WebService. 但是在执行 "create()" 方法时会报一个错误, 就是说本项目里的 "sessionFactory" 创建失败, 是因为 "sessionFactory" 里面引用的一个Bean未定义云云... 那么这就有两个问题了:
1. WebService的创建我认为应该是在WebServie端的, 为什么要读我本项目的配置文件? 它的创建和我的项目有什么关系? 我的项目应该只是调用它而已啊.
2. 确实, 我的 SessionFactory 里引用的一个 Bean 是定义在其他的配置文件里的, 但是已经在 Struts 配置文件里这种方式关联上了:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="xxx, xxx, xxx, ..." />
</plug-in>
配置文件肯定是没写错的, 否则项目启动肯定就会报错了; 但是它读我的配置文件就只知道读 applicationContext.xml 不知道读其他关联的文件么? 反正无论如何我就奇怪了为什么调用一个WebService还要读我自己的配置文件还要管我怎么配置; 那这还怎么体现所谓的 "调用"?! 请大家无论如何给点儿回复吧, 弄了快一天了, 没结果...