步骤 2:向 SQL Server 发送请求消息并接收响应
完成时间: 10 分钟
目的: 在此步骤中,将发送请求消息以执行 UPDATE_EMPLOYEE 存储过程并接收响应。
必备条件
必须已完成 步骤 1:为UPDATE_EMPLOYEE存储过程创建请求消息。
发送请求消息并接收响应
在现有业务流程中,在“决定”形状的“插入”块下,添加“消息分配”形状。 从“工具箱”中,将 “消息分配” 形状拖动到指示的空间。
注意
将“消息分配”形状拖放到设计图面上时,业务流程Designer会为你创建封闭的“构造消息”形状。
在设计图面上,右键单击 ConstructMessage_1 形状,然后单击“ 属性窗口”。
在ConstructMessage_1形状的“属性”窗格中,指定以下值。
设置此属性 此值 构造的消息 UpdateEmployee 名称 ConstructRequestMessage 双击 MessageAssignment 形状以打开 BizTalk 表达式编辑器。
在 BizTalk 表达式编辑器中,添加以下内容:
UpdateEmployee = UpdateEmployeeMessageCreator.UpdateEmployeeMessageCreator.XMLMessageCreator(); UpdateEmployee(WCF.Action) = "TypedProcedure/dbo/UPDATE_EMPLOYEE";
此处, UpdateEmployee 是在 步骤 2:为 BizTalk 业务流程创建消息 中创建的消息,用于发送 UPDATE_EMPLOYEE 存储过程的请求消息。 在 MessageAssignment 形状中,调用 UpdateEmployeeMessageCreator 类来创建请求消息。 此外,还可以为请求消息设置 WCF 操作。
将以下形状添加到业务流程的 “消息分配” 形状下。
形状 形状类型 属性 SendUpdateMessage 发送 - 将 Message 设置为 UpdateEmployee
- 将 Name 设置为 SendUpdateMessageReceiveUpdateResponse 接收 - 将 “激活” 设置为 “False”
- 将 Message 设置为 UpdateEmployeeResponse
- 将 Name 设置为 ReceiveUpdateResponse将请求-响应发送端口添加到业务流程。 你将使用此端口将请求消息发送到SQL Server并接收响应。 设置端口的以下属性。
设置此属性 此值 通信方向 发送-接收 通信模式 Request-Response Identifier SQLOutboundPort 此外,将操作名称从 Operation_1 更改为 UpdateEmp。
将端口连接到操作形状。 在“业务流程Designer”中,在设计图面上,将端口的绿色箭头形控点拖动到操作形状的相应绿色控点。
注意
在此步骤中,使用拖放方法将端口连接到操作形状。 您可以改用操作形状的操作属性,将操作形状连接到端口。
按如下所示连接端口和操作形状:
将 SendUpdateMessage 操作形状连接到 SQLOutboundPort的请求句柄。
将 ReceiveUpdateResponse 操作形状连接到 SQLOutboundPort 的响应句柄。
下图显示了正在进行的业务流程。
内容回顾
在此步骤中,通过添加 MessageAssignment 形状、发送和接收形状以及端口来更新业务流程。 你连接了形状和端口以发送请求消息以执行UPDATE_EMPLOYEE请求消息并接收响应。
后续步骤
在下一步中,添加业务流程形状以调用 对Purchase_Order 表的插入操作,如 第 4 课:对采购订单表执行插入操作中所述。