bpel_使用来自BPEL流程的HTTP基本认证来调用安全的Web服务

bpel

安全性对于任何分布式计算环境都是重要的。 但是,由于Web服务调用是通过公共Internet进行的,因此安全性对于Web服务变得越来越重要。 同样,服务使用者和服务提供者之间的交互有望继续从专用Intranet扩展到Internet,从而引起更多的安全问题。


本教程向您展示如何调用需要HTTP基本身份验证的Web服务。 HTTP基本认证使用用户名和密码来认证服务客户端到安全端点。 您可以在发送或接收Web服务请求时设置HTTP基本身份验证。

在IBM Business Process Manager V8.0.1中构造服务组件体系结构(SCA)模块时,可以使用中介流功能来动态创建新的HTTP认证标头,并在标头中指定用户名和密码信息。 然后,可以为JAX-WS导入绑定发送的Web服务请求启用HTTP基本认证。

本教程指导您完成从IBM Integration Designer V8.0.1中的业务流程执行语言(BPEL)流程调用安全的Web服务的步骤。

了解如何使用Integration Designer中可用的HTTP Header Setter中介原语来启用HTTP基本认证。 Integration Designer提供了开发环境,以实现提供Web服务集成的SCA应用程序。

本教程假定您已经具有要从BPEL流程调用的安全Web服务。 不包括用于创建Web服务的步骤。 使用已经创建的安全的Web服务来完成本教程的步骤:使用已经创建的Web服务定义进行安全的Web服务调用。

要调用需要HTTP基本认证的Web服务,请完成以下步骤:

  • 创建一个BPEL流程。
  • 创建一个设置HTTP身份验证的中介组件。
  • 接线组件。
  • 测试模块。

先决条件

  • 您必须具有使用IBM Integration Designer的动手经验。
  • 您必须熟悉BPEL流程和中介。
  • 您必须熟悉Web服务。

本教程的系统要求

您必须有一台Microsoft Windows计算机。

您必须安装以下产品之一:

  • 随单元测试环境一起安装的IBM Integration Designer V8.0.1
  • 已安装IBM Business Process Manager(BPM)Advanced V8.0.1和IBM Integration Designer V8.0.1

持续时间

本教程大约需要一到两个小时。

准备环境

在本教程中,以下安装路径变量和目录用于组件:

  • Integration Designer工作空间: C:\IBM\Workspace\IID8\workspace1
  • 应用程序服务器根目录: C:\IBM\BPM\v8.0.1

创建一个BPEL流程

第一个任务是创建一个称为POFetchProcess的BPEL流程。 本教程假定所需的接口和数据已经可用。

  1. 使用新的工作空间打开IBM Integration Designer,然后打开“业务集成”透视图。
  2. 通过单击文件>新建>模块来创建模块,并将其命名为POModule
  3. 创建或导入所需的接口和数据。 确保导入Web服务定义。 您应该看到与图1所示相同的接口,数据和Web服务端口。
    图1:接口,数据和Web服务端口
    示例界面,数据和Web服务端口的屏幕​​截图

    注意:如图1所示,本教程使用带有MXPOPortType接口以及MXPOSOAP11PortMXPOSOAP12Port端口的示例Web服务。 QueryPO是一个示例接口,它将BPEL流程暴露给外界。

  4. 双击POModule下的装配图
  5. 从组件面板中拖放一个Process组件,并将其命名为POFetchProcess ,如图2所示。单击Ctrl + S保存您的工作。
    图2:添加一个流程
    将流程添加到图中的屏幕截图
  6. 右键单击该进程,选择添加>接口,然后将适当的接口添加到该进程。
  7. 双击POFetchProcess来实现它。 该流程以默认的BPEL流程打开,如图3所示。
    图3:默认的BPEL流程
    默认BPEL流程流程图的屏幕截图
  8. 从调色板中拖动“ 分配”活动,并将其放在“接收”和“回复”活动之间的图上。 同样,将“ 调用”活动拖放到“分配”和“答复”活动之间。 给图分配和调用活动的名称,如图4所示。然后保存您的工作。
    图4:添加分配和调用活动
    添加Assign活动和Invoke活动的屏幕截图
  9. 为要调用的外部Web服务创建引用伙伴。 单击WSInvoke活动,然后转到“ 属性”选项卡的“ 详细信息”部分。 单击Partner字段旁边的Browse ,如图5所示。
    图5:浏览WSInvoke活动的参考伙伴
    WSInvoke活动的“属性”选项卡的屏幕截图,其中显示了“浏览”按钮
  10. 在Select a Partner窗口中,单击New ,为该伙伴提供一个名称,然后选择适当的接口,如图6所示。单击OK
    图6:添加参考伙伴
    “添加参考合作伙伴”窗口的屏幕截图
  11. 请注意,接口和操作已填充。 从“操作”列表中选择适当的操作,如图7所示。
    图7:选择一个操作
    WSInvoke活动的Details属性的屏幕截图
  12. 为所选操作创建必要的输入和输出变量,如图8所示。
    图8:创建变量
    WSInvoke活动的Details属性的屏幕截图
  13. 要删除“分配”活动上的错误,请单击“分配”活动,然后转到“ 属性”选项卡的“ 详细信息”部分。 然后提供可能需要的必要语句,以填充Web服务调用的输入。 有关分配语句的示例,请参见图9。
    图9:Assign语句
    分配活动的“详细信息”属性的屏幕截图
  14. 保存您的工作。 确保WSInvoke和Assign活动上没有错误。

创建中介组件

对于下一个任务,创建使用HTTP Header Setter中介原语设置HTTP身份验证的中介组件。

  1. 双击装配图以将其打开。 从组件面板中拖放中介流组件,然后键入一个对您的环境有意义的名称,例如Component1HTTPSetterMediationComponent
  2. 双击新创建的中介组件以实现它。
  3. 单击添加引用,然后为Web服务选择适当的界面,如图10所示。
    图10:添加参考
    “添加参考”窗口的屏幕截图
  4. 单击要调用的操作,然后单击Blank Mediation Flow ,如图10所示。
    图11:空白中介流模板
    选择中介流模板的选项的屏幕截图
  5. 从面板的transformation部分中将HTTP Header Setter中介原语拖放到图上,如图12所示。
    图12:HTTP标头设置器中介原语
    HTTP Header Setter中介原语的图的屏幕截图
  6. 单击HTTPHeaderSetter,然后选择“ 属性”选项卡的“ 详细信息”部分。 添加Web服务认证用户名和密码详细信息,如图13所示。
    图13:添加用户名和密码
    HTTP Header Setter的Details属性的屏幕截图
  7. 拖放Service Invoke组件以执行所需的操作,并连接这些组件,如图14所示。保存您的工作。
    图14:添加服务调用和连接
    QueryMXPO的“请求”选项卡的屏幕截图

连接组件

下一个任务是为Web服务创建导入并生成绑定。 然后,通过连接BPEL流程,中介组件和Web服务导入来完成该模块。

  1. 双击POModule下的Assembly Diagram
  2. 从面板中拖放一个导入组件。 键入导入的名称,例如WSImport1Import1 ,然后添加要调用的Web服务的适当接口。
  3. 右键单击导入,然后选择生成绑定> Web服务绑定
  4. 连接三个组件,如图15所示。
    图15:连接组件
    组装图的屏幕截图

测试模块

对于最后一项任务,测试POModule以验证其行为是否符合预期。 使用中介组件中提供的HTTP身份验证详细信息调用安全Web服务。

  1. 如果尚未启动,请启动IBM Process Server。 Process Server可以是Integration Designer单元测试环境服务器,也可以是IBM BPM安装期间创建的服务器。
  2. 双击POModule下的Assembly Diagram 。 右键单击POFetchProcess,然后选择“ 测试组件”
  3. 研究集成测试客户端跟踪,以验证是否已使用所需的HTTP身份验证调用了Web服务,并且收到了预期的响应,如图16所示。
    图16:集成测试客户端
    集成测试客户端的屏幕截图

结论

在本教程中,您学习了如何从Integration Designer V8.0.1中的BPEL流中调用安全的Web服务。 首先,您创建了BPEL流程。 然后,您创建了使用HTTP Header Setter中介原语来传播HTTP身份验证详细信息的中介组件。 最后,您测试了模块以验证其是否有效。

现在,配备了此示例,您可以在自己的环境中从BPEL流程调用安全的Web服务。

致谢

作者要感谢Smitha Venugopal的宝贵评论和评论。


翻译自: https://www.ibm.com/developerworks/bpm/library/techarticles/1410_sharath/1410_sharath.html

bpel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值