Tuscany SCA 发布Web Service

有段时间没有学习SOA了,最近偶然碰到一个例子,运行修改理解后发布到此。

在前面的博客中有提到用axis2发布web service,借用了插件,并且步骤较繁多,现在来看下tuscany简单地通过配置文件来发布web service。(工具eclipse 3.5)

1. 新建动态web项目,指定classpath编译后的存储路径为WebContent/WEB—INF/classes。(可右键项目,属性,Java Build Path,Source修改)将Tuscany的jar包都复制到webContent/Web-INF/lib下(此处使用的Tuscany 1.6,最新版本是2.0以上,不要提醒我说有些jar包不是必须的...都加进去也不多,省的到处提示你报错)。

2. 新建接口、实现类等。

     User实体类

IUserservice服务接口

IUserservice接口实现类-UserServiceImpl.java

      给出文件结构图,便于设置发布文件时对照观看-

3. 配置发布文件

3.1 构件配置文件(.composite)-构件配置文件是用于指出发布的服务(service)和实现该服务的组件(component)

在classpath(根路径下)新建User.composite

补充:也可以在src下新建一文件夹或者包用于存放.composite文件,前提就是需要保证编译后的文件会被放到WEB-INF/classes下面元素composite中的name为构件名

3.2 部署文件(sca-contribution.xml),放在WebContent/META-INF下。

补充:.composite中的targetNamespace=sca-contribution.xml中的xmlns:tuscanyWeb的值!xmlns:tuscanyWeb可以随便命名,只是用来代表命名空间,在deployable元素中使用,deployable元素中指出的构件名为.composite文件中composite元素的name属性值。无需指出composite文件的存储位置,tuscany会自动搜索。

4. web.xml中配置Tuscany拦截器

 将应用发布到应用服务器上,输入http://localhost:8080/TuscanyWebService/UserService?wsdl,即可看到服务UserService的WSDL描述文件,表示web服务发布成功,可以外部调用。(本例是使用的应用服务器为tomcat6.0)。应用发布可以打包成war包放到tomcat/webapps下,启动startup.bat。在eclipse中,直接右键项目,run as,  run on server。

原文地址:https://www.cnblogs.com/whuqin/p/4982096.html