CMS_WEB应用TUSCANY说明
1、 环境准备
下载tuscany资源包:
http://tuscany.apache.org/sca-java-1x-releases.html
将lib目录下的jar包导入CMS_WEB工程(注意jar包冲突,删除tuscany下spring相关jar包,如果web容器为tomcat删除catalina.jar,同时请将不同版本的jar包清理掉)
2、 配置
web.xml中增加tuscany过滤器
<!--tuscany 配置 -->
<context-param>
<param-name>contributionRoot</param-name>
<param-value>WEB-INF/classes</param-value>
</context-param>
<filter>
<filter-name>tuscany</filter-name>
<filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>tuscany</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
说明:不要使用默认配置文件扫描路径,请指定contributionRoot
创建cms.composite文件,具体参考tuscany规范
<?xml version="1.0"encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
xmlns:c="http://cms"
targetNamespace="http://cms"
name="cms">
<service name="CloudService" promote="CloudServiceComponent">
<interface.java interface="com.xxx.cms.modules.organize.interfaces.service.CloudServiceable"></interface.java>
<binding.ws></binding.ws>
</service>
<component name="CloudServiceComponent">
<implementation.java class="com.xxx.cms.modules.organize.service.CloudService"></implementation.java>
</component>
</composite>
说明:.composite文件须置于编译路径下
创建发布文件sca-contribution.xml,具体参考tuscany规范,
<?xml version="1.0"encoding="UTF-8"?>
<contributionxmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:sample="http://cms">
<deployable composite="sample:cms"/>
</contribution>
说明:文件置于编译路径下得META-INF目录下
需要发布为webService服务的接口,使用@Remote注解
注意:1、发布为webService服务的接口中不能有overload的方法
2、引用的实体对象必须含有无参默认构造器
3、实现类需继承SpringBeanAutowiringSupport(作用:将对象置于当前webApplicationContext中,然后可以使用spring依赖注入的对象)
3、 发布和使用
如果配置正常,启动web容器即可发布服务
查看WSDL文件
示例:http://localhost:8080/cms_web/CloudService?wsdl
可以使用soapUI测试