Tuscany SCA 发布Web Service
2011-04-14 21:14
183 查看
有段时间没有学习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接口实现类-UserServiceImpl.java
补充:也可以在src下新建一文件夹或者包用于存放.composite文件,前提就是需要保证编译后的文件会被放到WEB-INF/classes下面。元素composite中的name为构件名。
3.2 部署文件(sca-contribution.xml),放在WebContent/META-INF下。
将应用发布到应用服务器上,输入http://localhost:8080/TuscanyWebService/UserService?wsdl,即可看到服务UserService的WSDL描述文件,表示web服务发布成功,可以外部调用。(本例是使用的应用服务器为tomcat6.0)。应用发布可以打包成war包放到tomcat/webapps下,启动startup.bat。在eclipse中,直接右键项目,run as, run on server。
在前面的博客中有提到用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实体类
package tuscany.webService.service; import java.util.List; import org.osoa.sca.annotations.Remotable; //测试发现是必须的 @Remotable public interface IUserservice { List<User> getAll(); }
IUserservice接口实现类-UserServiceImpl.java
<?xml version="1.0" encoding="UTF-8"?> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" name="UserComposite" targetNamespace="http://test.tuscany.webService"> <!--composite元素中name为该构件的名,在sca-contribution部署composite时被使用 此处的targetNamespace与sca-contribution中的targetNamespace必须相同 --> <!--组件,实现了服务UserService--> <component name="UserServiceImpl"> <implementation.java class="tuscany.webService.service.UserServiceImpl"></implementation.java> </component> <!--对外提供的服务--> <service name="UserService" promote="UserServiceImpl"> <interface.java interface="tuscany.webService.service.IUserservice" /> <!--定义了发布服务绑定的协议,使用webservice--> <binding.ws></binding.ws> </service> </composite>
补充:也可以在src下新建一文件夹或者包用于存放.composite文件,前提就是需要保证编译后的文件会被放到WEB-INF/classes下面。元素composite中的name为构件名。
3.2 部署文件(sca-contribution.xml),放在WebContent/META-INF下。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>TuscanyWebService</display-name> <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> </web-app>
将应用发布到应用服务器上,输入http://localhost:8080/TuscanyWebService/UserService?wsdl,即可看到服务UserService的WSDL描述文件,表示web服务发布成功,可以外部调用。(本例是使用的应用服务器为tomcat6.0)。应用发布可以打包成war包放到tomcat/webapps下,启动startup.bat。在eclipse中,直接右键项目,run as, run on server。
相关文章推荐
- Tuscany SCA 发布Web Service
- SCA中Web Service的发布及调用分析
- Tuscany发布Web Service示例
- SCA导航2-用Tuscany构建你的第一个web service
- 基于SCA(tuscany)的SOA实践之一(发布服务是如此的简单)
- SCA 之Tuscany 7 ——helloworld use ZIP format contributions
- 如何创建和发布Web Service
- Web Service (二) CXF自动发布Web Service(No Spring)
- 使用Java调用以WSDL形式发布的web service
- 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
- 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
- tomcat发布web service教程
- 使用 Tuscany 域管理器部署 SCA 应用程序
- 使用Java调用以WSDL形式发布的web service
- HTML5 飞鸽传书web service都发布到交互服务器
- java axis发布web service(三) 调用web service
- 发布Web Service 到 Win7 的 IIS 7.0
- Java1.6 发布web service的方法
- 【Web Service】Apache Tuscany发布SOAP
- 发布Web Service 注意的问题