[计算机]BPEL整合WEB服务的一个完整案例.doc_第1页
[计算机]BPEL整合WEB服务的一个完整案例.doc_第2页
[计算机]BPEL整合WEB服务的一个完整案例.doc_第3页
[计算机]BPEL整合WEB服务的一个完整案例.doc_第4页
[计算机]BPEL整合WEB服务的一个完整案例.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010-03-08BPEL整合WEBService服务的一个完整案例 文章分类:Java编程 废话不多说,具体示例更能让大家领会BPEL和WebService技术。 示例目的:用BPEL调用通过CXF项目公布的一个加法服务和减法服务,从而形成一个新服务-运算服务并生成运算服务的wsdl文件。 工具:开发工具使用Eclipse3.5.1,技术框架使用Eclipse-BPEL和Apache ODE,服务器是Tomcat6.0,JDK1.6。 创建服务步骤: 1、首先创建一个java项目,名字叫“AddService”。在该项目下创建属于“com.bpel.sample.caculator.add”包的接口“AddInterface”,增加方法“add”。 2、为该项目添加CXF2.2.5的jar包(不知道如何添加jar包或者如何添加CXF的jar包的读者请自行百度)。 3、利用该java项目生成CXF项目,不知道如何生成CXF项目的请参考这篇文章:使用CXF2.1的STP插件开发WebService。参考该文章时请注意,可能本人的Eclipse插件安装不够完善,或者写该篇文章的作者当时Eclipse版本比较老,本人的Eclipse3.5.1在安装了SOA相关插件后不能按照JAX-WS Java First Project创建模式成功创建CXF项目。Eclipse插件安装的很完善的朋友可以找本人交流,本人QQ:371319819。soa技术交流群:18748450 通过上面的步骤,生成了一系列的java类和wsdl文件,下面列出两个关键java类的源码: AddInterface.java package com.bpel.sample.caculator.add; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebService; WebService(name = AddInterface, targetNamespace = /, wsdlLocation = WEB-INF/wsdl/AddService.wsdl) public interface AddInterface WebMethod(operationName=add, action=urn:Add) public abstract double add(WebParam(name=arg0) double d, WebParam(name=arg1) double d1); AddInterfaceImpl.java package com.bpel.sample.caculator.add; import javax.jws.WebMethod; import javax.jws.WebService; /* * This class was generated by Apache CXF 2.2.5 * Fri Feb 05 14:02:38 CST 2010 * Generated source version: 2.2.5 * */ WebService(endpointInterface = com.bpel.sample.caculator.add.AddInterface, serviceName = AddInterfaceService) public class AddInterfaceImpl implements AddInterface WebMethod(operationName=add, action=urn:Add) public double add(double arg0,double arg1) System.out.println(AddInterfaceService is called.); return arg0 + arg1; 4、完善自动生成的wsdl文件。第一次发帖,没找到附件上传功能,本人下面将wsdl源码贴出来供大家参考。 5、在由java项目生成CXF项目过程中,还会生成有cxf-servlet.xml文件,该文件在部署时可能会出现异常,可以将该xml文件头改成如下: 6、按照以上步骤,一个加法的Web Service项目已经生成了,为了节省篇幅,按照类似步骤生成的减法Web Service项目这里就忽略了,读者可以自己创建。 7、以上创建的加减法项目可以部署到Tomcat里面去,启动服务器,在IE中输入类似于:http:/localhost:8080/AddService/services/AddService/add?arg0=2&arg1=3的语句可以看到返回结果。 8、创建BPEL项目“AddAndSubBpel”,在该项目下创建异步bpel文件“CaculatorBpel”,命名空间“/client/”,不会创建bpel项目的朋友请参考这篇文章学习:使用 Eclipse BPEL 插件开发和执行 WS-BPEL V2.0 业务流程,这是IBM官方网站上公布的一个bpel创建教程,可能需要账号才能查看这篇文章。 9、目前本人的bpel流程逻辑是:有三个输入参数,第一个和第二个是两个double数据,用于进行加减法调用,第三个参数是个字符串,可能值为“add”或者“sub”,如果流程发现第三个参数是“add”,将调用外部服务的加法服务,如果是“sub”,将调用减法服务。不过本人目前还在学习Eclipse bpel的结构活动语法,还没进行完整测试。目前的功能是直接调用加法服务,读这篇文章的朋友请明白这一点,懂Eclipse bpel或者想一起学习的朋友请和我一起学习进步。 10、将上面创建的加法服务和减法服务时生成的两个wsdl文件各拷贝一份到该bpel项目下,和bpel文件放在同个目录下。 11、按照逻辑修改自动生成的wsdl文件:CaculatorBpelArtifacts.wsdl,该wsdl文件的完整代码如下: 12、修改bpel文件,最终的代码如下: 13、生成deploy.xml文件,Eclipse工具本来可以通过可视化界面生成deploy文件的,但是可能还是本人插件安装的不够完好,在生成deploy文件时总会出现一些异常,按照网上前辈的方式创建时不能得到理想的效果,还好deploy.xml文件不大而且逻辑上也很清晰,可以手动创建,源码如下: true 14、至此,一个通过bpel调用Web Service的案例已经完成了。将该bpel项目部署到ode的process目录里,确保已经启动成功Tomcat,在IE中输入http:/localhost:8080/ode/processes/CaculatorBpel/process?arg0=111.0&arg1=3.0&arg2=add,按理应该能得到想要的效果。 15、如果希望能够通过java调用bpel流程文件,在上面的:使用 Eclipse BPEL 插件开发和执行 WS-BPEL V2.0 业务流程教程中可以得到一些启发,不过当前soa相关框架版本变化比较频繁,还有jar包版本的问题,可能网上有些前辈给出的开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论