BizTalk 2013-在没有业务流程的发送端口上执行存储过程?

BizTalk 2013-在没有业务流程的发送端口上执行存储过程?,biztalk,biztalk-2013,Biztalk,Biztalk 2013,不久前,我设置BizTalk通过FTP获取文件并将其放入网络目录。这都是passsthru,所以我没有使用配器 现在,我被要求在提取文件后执行一个存储过程。该过程不包含任何参数,我不需要该文件的内容 这似乎是一个简单的要求,但我想不出来。有没有办法做到这一点而不使事情过于复杂?MSDN page介绍了该过程,并说:“您必须创建BizTalk业务流程才能使用BizTalk Server在SQL Server上执行操作。” 但是,如果您真的不想使用编排,我相信您可以选择在自定义管道组件中设置操作上下

不久前,我设置BizTalk通过FTP获取文件并将其放入网络目录。这都是passsthru,所以我没有使用配器

现在,我被要求在提取文件后执行一个存储过程。该过程不包含任何参数,我不需要该文件的内容

这似乎是一个简单的要求,但我想不出来。有没有办法做到这一点而不使事情过于复杂?

MSDN page介绍了该过程,并说:“您必须创建BizTalk业务流程才能使用BizTalk Server在SQL Server上执行操作。”


但是,如果您真的不想使用编排,我相信您可以选择在自定义管道组件中设置操作上下文属性。然后,您可以在端口上的映射中初始化消息。理论上,这应该是可行的,但我不能保证。

这可以通过使用WCF-SQL适配器或带有SQL绑定的WCF_自定义适配器来实现。您可以仅使用带有筛选器/映射的发送端口使用消息传递来完成此操作,因此不需要编排

对于SOAP操作头,请使用存储过程的TypedProcedure/dbo/name\u,并在messages选项卡中指定存储过程的参数,以及以以下方式添加有效负载:

<name_of_your_stored_procedure xmlns="http://schemas.microsoft.com/Sql/2008/05/TypedProcedures/dbo">
  <parameter1>XXXX</parameter1>
  <xml_parameter>
    <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="string"/>
  </xml_parameter>
</name_of_your_stored_procedure>
更多细节

哈斯

CREATE PROCEDURE [dbo].[name_of_your_stored_procedure]
    @parameter1 int,
    @xml_parameter nvarchar(max)
AS
BEGIN
    -- your code goes here
END