技术开发 频道

Biztalk开发之调用Web Services

     四、创建业务流程

    8. 为WebServices1项目添加一个新项,选择BizTalk 业务流程,设置名称为Orchestration1.odx。

    9. 在业务流程视图中创建RequestWebService消息,其消息类型为Web消息类型\WebServices1.localhost.TestService_.CheckUserId_request;创建ResponseWebService消息,其消息类型为Web消息类型\WebServices1.localhost.TestService_.CheckUserId_response;创建InMsg和OutMsg消息,其消息类型为架构\WebServices1.UserInfo。

    10.创建一个端口,设置端口名称为WSPort,使用现有端口类型,选择Web 端口类型\WebServices1.localhost.TestService_.TestService,其余选择默认值完成向导。

    11.为业务流程添加一个接收操作ReceiveInMsg,用于接收外部应用发来的消息;接着添加一个消息赋值操作AssignRequest,自动添加的构造消息命名为ConstructRequest,用于构造RequestWebService消息;添加一个发送消息Call WS和一个接收消息Receive WS操作,用于与WSPort联系,实现对Web Service的调用;添加一个消息赋值操作,命名自动添加的构造消息为ConstructOutMsg,用于生成OutMsg;添加一个发送操作SendOutMsg,用于发送OutMsg消息。

    12.设置Call WS的消息为RequestWebService,并与WSPort的Request端口相连接;设置Receive WS的消息为ResponseWebService,并与WSPort的Response端口相连接。

    13.设置ReceiveInMsg的消息为InMsg,设置SendOutMsg的消息为OutMsg。

    14.设置ConstructRequest的构造的消息为RequestWebService,设置ConstructOutMsg的构造的消息为OutMsg。

    15.为AssignRequest输入如下表达式:
RequestWebService.strUserId = InMsg(WebServices1.PropertySchema.UserId);

    说明:此语句表示将UserId赋值给RequestWebService的strUserId元素。

    16.为AssignOutMsg输入如下表达式:

OutMsg=InMsg; OutMsg(WebServices1.PropertySchema.RoleName) = ResponseWebService.CheckUserIdResult ;

    说明:第一句将输入消息直接赋值给输出消息,第二句更新输出消息的RoleName元素,将其值由Web Service的返回值代替。

    17.在端口图面中放入一个端口,根据端口配置向导设置名称为ReceivePort,端口类型名称为ReceivePortType,端口通信方向为始终在此端口上接收消息,端口指定为立即指定;设置传输为FILE,设置URI为C:\in\*.xml,设置接收管道为Microsoft.BizTalk.DefaultPipelines.XMLReceive。

    18.在端口图面中再放入一个端口,设置名称为SendPort,设置端口类型为SendPortType;设置端口通信方向为始终在此端口上发送消息,设置端口绑定为立即指定,设置传输为File,设置URI为c:\out\%MessageID%.xml,设置发送管道为Microsoft.BizTalk.DefaultPipelines.XMLTransmit。

    19.将接收端口ReceivePort与ReceiveInMsg操作连接起来,将SendPort与SendOutMsg连接起来。

    20.设置ReceiveInMsg操作的激活属性为True。

    五、编译、布署和测试

    21.选择生成\生成解决方案,编译项目。

    22.选择生成\配置管理器菜单,选中部署复选框。

    23.选择项目\WebServices1属性菜单,为项目设置通用属性、程序集\程序集密钥文件。密钥文件的生成详见需要强名称程序集一文。

    24.选择生成\部署解决方案,部署项目。

    25.在BizTalk浏览器中刷新BizTalk配置数据库,将会在业务流程下出现WebServices1.Orchestration1结点,启动该业务流程。

    26.将测试文件放入c:\in文件夹下,将会自动在c:\out文件夹中输出xml文件。

    放入的测试文件test.xml的内容:

<ns0:UserInfo xmlns:ns0="http://WebServices1.UserInfo"> <UserId>xxxx</UserId> <RoleName></RoleName> </ns0:UserInfo>

    输出文件的内容:

<?xml version="1.0" encoding="utf-8"?><ns0:UserInfo xmlns:ns0="http://WebServices1.UserInfo"> <UserId>fengfangfang</UserId> <RoleName>Administrator</RoleName> </ns0:UserInfo>



0
相关文章