一个调用WebService的BPEL程序转载http://www.codeproject.com/KB/webservices/BPELInvokeWebService.aspx?fid=1536656&df=90&mpp=25&noise=3&sort
来源:互联网 发布:钱多多软件下载 编辑:程序博客网 时间:2024/06/13 10:07
下面的展示了用BPEL调用一个外部的或者存在的web service的例子。使用Eclipse-BPEL和Apache ODE
本文章总共分为两部分:一部分开发一个Web Service,一部分实现在BPEL中调用
第一部分:
准备好一个web service
1、首先创建一个web service,名字叫“DoSomethingWebService”。它仅有一个类“DoSomething”,包名为“ws.example”,在这个类中定义一个方法“doSomething”。你可以使用自底向上建立这个类,具体参见:http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/BottomUpWebService/BottomUpWebService.html
在做这个web service时一定要按照步骤一步一步来,看清楚图形表示。
DoSomething代码为:
2、检查所产生的WSDL文件,service名字为“DoSomethingService”,Port为“DoSomething”,绑定地址为“http://localhost:8080/DoSomethingWebService/services/DoSomething”
如图所示:
3、导出这个服务,以war的形式,并把它放到tomcat的webapps下面,客户端也可以导出,方便测试。
导出直接选中wsdl文件导出即可。
第二部分:
1、准备好Apache ode和Eclipse BPEL创建BPEL工程“InvokeWebServiceProj”,然后创建同步 (synchronous )BPEL进程“Caller”,namespace为“http://MyTest.com/Test”。
2、导入WSDL文件即"DoSomething.wsdl",这时候要将先前产生的wsdl文件复制到当前项目中。新建立一个partnerLink,名字叫做“DSLink”。类型(Type)为“DSLinkType”,Partner Role of为“DSProvider” 。如何不知道如何创建partner link参见“http://www.eclipse.org/bpel/users/howto/wsdl.php”
注意:引入的WSDL文件一定要是从本文件中引入,即InvokeWebServiceProj。
3、加入Assign,Assign1和invoke。如图所示:
4、编辑Invoke模块,调用doSomething。如图所示:
5、编辑Assign模块。点击“new”,“From”选择“Fixed Value”然后填入“
”。“to”选择“DSLinkRequestàparameters”。这是会弹出来一个窗口选择“yes”。
如图所示:
编辑新弹出来的那个在“From”中选择 “From->Variable->input->payload->input”,在“to”中选择“To->Variable->DSLinkRequest->parameters->myinput”后 ,保存。
6、编辑Assign1代码块。同样点击“new”按钮。在“From”中选择“Fixed Value”,填入
在“To”中选择“To->outputàpayload”;
如图:
7、在这个Assign1中再点击“new”按钮,“From中”选择“From->Variable->DSLinkResponse->parameters->dosomethingReturn ”,并且To中选择“To->Variable->output->payload->result”如图所示:
8、编辑“CallerArtifacts.wsdl”,添加服务“CallerService”,Port为“CallerPort”,Address为“http://localhost:8080/ode/processes/Caller”,绑定使用的方式为“SOAP”。如图所示:
9、创建部署文件deploy.xml。在工程中用new->other->Apache ODE Delopyment Descriptior。然后选择如图所示:
10、将项目放到tomcat的ode的WebINF-process中,启动tomcat。这时候会报错:
这时候需要将Caller.bpel中的引入伙伴连接的语句import中的location=“file:/E:/eclipse/worksapce/DoSomethingWebService/WebContent/wsdl/DoSomething.wsdl”改成
location="location="DoSomething.wsdl"。同样在CallerArtifacts.wsdl也要做相应的修改,最后启动tomcat。
访问:http://localhost:8080/ode/services/listServices。可以看见我们发布的服务
- 一个调用WebService的BPEL程序转载http://www.codeproject.com/KB/webservices/BPELInvokeWebService.aspx?fid=1536656&df=90&mpp=25&noise=3&sort
- http://www.codeproject.com/KB/database/Building_Dynamic_SQL.aspx?azid=2
- http://www.codeproject.com/KB/IP/persistentevents.aspx
- 抓屏的各种方法(http://www.codeproject.com/KB/dialog/screencap.aspx)
- VS高级调试技巧 转自CodeProject (http://www.codeproject.com/KB/debug/Advanced_Debugging.aspx)
- vc曲线库 http://www.codeproject.com/KB/miscctrl/pgllib.aspx
- 数组作为参数传给存储过程(from:http://www.codeproject.com/KB/database/SQLArrayParameterHandling.aspx)
- 调试指南2:堆栈(原文By Toby Opferman http://www.codeproject.com/KB/debug/cdbntsd2.aspx)
- http://www.eshukan.com/wd/displaywd.aspx?zid=78410
- http://www.fang99.com/know99/question.aspx?Id=0000076838
- http://www.codeproject.com/
- http://www.imooc.com/note/460?sort=last
- http://www.chinaamuse.com/board/member/Enterprise/show_news.aspx?Art_ID=20153703235330 http://nanch
- 人工智能(AI)与游戏算法http://www.j2megame.cn/forumdisplay.php?fid=14
- Android 性能分析的博客推荐 http://www.360doc.com/userhome.aspx?userid=10366845&cid=14
- http://qd.baidupcs.com/file/3dfc64056700abb4f586492e32e618f7?bkt=p2-nj-434&fid=4077152221-250528-866
- JS正则表达式 http://www.xyhhxx.com/display.aspx?subID=4183
- http://www.sellsbrothers.com/writing/default.aspx?content=delegates.htm
- (转)一堂价值39万元的课
- 手把手教你安装虚拟机并配置虚拟机系统上网(适合大学和家庭的类似拨号上网情况的菜鸟们)
- RAC的节点删除
- 5条DBA最佳实践指导(转)
- 实验说明varchar2和char最大长度
- 一个调用WebService的BPEL程序转载http://www.codeproject.com/KB/webservices/BPELInvokeWebService.aspx?fid=1536656&df=90&mpp=25&noise=3&sort
- 初识CPU卡、SAM卡
- Ogre的状态框架
- 【转】事务策略: 了解事务陷阱
- 【编程游戏】贺岁霓虹灯。(参观288楼KiteGirl的霓虹灯,VBScript编写)
- MDI ChildFrame::OnCreate()时去getActiveFrame()问题
- AE创建一个空白的Shapefile
- C代码规范与运行时长分析模板
- JPCAP捕获ARP数据包