加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

一个调用WebService的BPEL程序转载http://www.codeproject.com/K

发布时间:2020-12-17 02:06:31 所属栏目:安全 来源:网络整理
导读:下面的展示了用BPEL调用一个外部的或者存在的web service的例子。使用Eclipse-BPEL和Apache ODE ????? 本文章总共分为两部分:一部分开发一个Web Service,一部分实现在BPEL中调用 第一部分: ????? 准备好一个web service 1、首先创建一个web service,名字

下面的展示了用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

如图所示:

wsdl文件

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。如图所示:

invoke模块

5、编辑Assign模块。点击“new”,“From”选择“Fixed Value”然后填入“

”。“to”选择“DSLinkRequestàparameters”。这是会弹出来一个窗口选择“yes”。

如图所示:

Assign

编辑新弹出来的那个在“From”中选择 “From->Variable->input->payload->input”,在“to”中选择“To->Variable->DSLinkRequest->parameters->myinput”后 ,保存。

Assign

6、编辑Assign1代码块。同样点击“new”按钮。在“From”中选择“Fixed Value”,填入

在“To”中选择“To->outputàpayload”;

如图:

Assign1

7、在这个Assign1中再点击“new”按钮,“From中”选择“From->Variable->DSLinkResponse->parameters->dosomethingReturn ”,并且To中选择“To->Variable->output->payload->result”如图所示:

Assign1

8、编辑“CallerArtifacts.wsdl”,添加服务“CallerService”,Port为“CallerPort”,Address为“http://localhost:8080/ode/processes/Caller”,绑定使用的方式为“SOAP”。如图所示:

CallerService

9、创建部署文件deploy.xml。在工程中用new->other->Apache ODE Delopyment Descriptior。然后选择如图所示:

deploy

?

?

?10、将项目放到tomcat的ode的WebINF-process中,启动tomcat。这时候会报错:

error

?

这时候需要将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。可以看见我们发布的服务

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读