调用外部WEB服务 下一步是调用外部WEB服务;股票报价服务将使用Xignite的报价WEB服务,这个服务延时交付来自美国的股票交易所得均价。(纽约证交所、纳斯达克、美国证交所、纳斯达克场外交易公告板和粉单市场) 在BPEL中调用WEB服务,首先需要创建PartnerLink。从组建板选择“服务”拖拽下来,并拽“PartnerLink”到“服务”泳道进入到BPEL流程中。下图为弹出的窗口: 图4 首先输入PartnerLink的名称,例如XigniteQuote。
然后为PartnerLink制定WSDL文件。JDeveloper提供以下的方式: 浏览WSDL文件:我们可以为……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
调用外部WEB服务
下一步是调用外部WEB服务;股票报价服务将使用Xignite的报价WEB服务,这个服务延时交付来自美国的股票交易所得均价。(纽约证交所、纳斯达克、美国证交所、纳斯达克场外交易公告板和粉单市场)
在BPEL中调用WEB服务,首先需要创建PartnerLink。从组建板选择“服务”拖拽下来,并拽“PartnerLink”到“服务”泳道进入到BPEL流程中。下图为弹出的窗口:
图4
首先输入PartnerLink的名称,例如XigniteQuote。然后为PartnerLink制定WSDL文件。JDeveloper提供以下的方式:
浏览WSDL文件:我们可以为WSDL文件定义服务浏览系统文件。
服务浏览器:我们可以浏览在复合应用(如其它BPEL流程或者ESB服务)中已经定义好的服务。
定义继承服务:我们可以在BPEL环境中直接定义继承服务。
输入URL:为WSDL文件直接输入URL到匹配域。
为了我们的目的,我们为Xignite的Quote有一个WSDL的本地复制,称为XigniteQuote,wsdl。单击“浏览WSDL文件”图标(先前截图中的高亮显示),然后浏览选择这个文件(如果提示创建文件本地复制,选择“是”。)
JDeveloper将从语法上分析WSDL,假设它是成功的,将弹出一个窗口说在最近的WSDL中没有PartnerLink类型定义,并询问你是否希望为该文件创建PartnerLink:单击“是”。JDeveloper就会为WSDL中的每个端口类型创建“PartnerLinkType”。
本例子中我们有多样的PartnerLink类型,需要指明流程中使用哪一个。单击拖拽“PartnerLinkType”并选择合适的。本例中我们选择“XigniteQuoteSoap_PL”,如下图:
图5
要指明PartnerRole和MyRole。当调用同步服务的时候。将有一个WSDL单独的对象定义,代表服务提供者。因此为PartnerRole指明这个并遗留MyRole作为未指明。
调用WEB服务
一旦我们为WEB服务定义了PartnerLink,下一步就是调用它。作为其同步服务,我们需要使用<invoke>活动来调用它。
在组件板上,确保“流程活动”的子菜单是挑选出来的,然后从中拖出“Invoke”活动到你的BPEL流程。
接下来,将鼠标箭头放置在下一个“Invoke”活动;单击并按住鼠标在PartnerLink上拖拽箭头,然后释放。下图所示:
图6
随后弹出“Edit Invoke”活动窗口,如下图所示:
图7
我们需要指明许多值进行配置调用活动,命名:
- 名称:我们想指派给调用活动的名称,可以是任何值。为“GETQUOTE”指派一个有意义的值。
- PartnerLink:我们想要调用服务的PartnerLink的值;被设定在使用XigniteQuote中,我们已经将这个活动链接到PartnerLink。
- 运行:一旦我们制定PartnerLink,我们需要指明我么希望调用哪一个运行。
- 输入变量:我们必须指定变量,这个变量包含将要通过WEB服务调用的数据。消息类型的可变因素非常重要。这是运行中预期的消息类型。这个最简单的方式确保得到JDeveloper创建正确的变量输入域。将提出“创建变量”的窗口,如下图所示。看可以看到JDeveloper为变量创建了一个默认的名称,你可以用任何有意义的内容覆盖。
- 输出变量:最后,我们必须指明在WEB服务之后的变量返回值。通过输入变量,应该是消息类型,响应为选择运行在WSDL文件中定义的输出消息。用最简单的方式确保JDeveloper创建你需要的变量。
图8
如上所述,为所有这些定义好值,单击“确定”。
在下一篇文章中,我们将继续为您介绍,如何未变量赋值以及调用WEB服务汇率。
作者
相关推荐
-
保险公司如何能从BPEL中获益
对于保险业整合不同系统是一件寻常的工作。但保险公司经常会面临监管条例改变和应对不同的顾客需求。为了解决这些系统问题,软件专家正在使用一种强大的工具——BPEL。
-
2013年业务流程执行语言(BPEL)现状
在SOA领域中,BPEL拥有属于自己的集成系统和自动化工作流,为协调完全异构系统而提供一致的流程。
-
如何开发BPEL复合应用
大多数软件架构师对应用的组件化、SOA和工作流或者服务总线流程非常熟悉,也对组合应用如何将这些基本元素结合在一起非常熟知。
-
如何在SOA中执行BPEL测试?
几乎所有面向服务架构(SOA)用户都在使用业务流程执行语言(BPEL)。作为编排粗粒度的业务流程流工具,BPEL实际上是行业的标准,但是还是会引起测试问题。