在服务器中运行我的 BizTalk 包时出现以下错误:
无法路由已发布的消息,因为未找到订阅者
包说明:使用存储过程将 CSV 平面文件导入 SQL Server。
分解:
创建表代码:
CREATE TABLE [dbo].[Accounts](
[Id] [int] IDENTITY(1,1) NOT NULL,
[AccountName] [nvarchar](150) NULL,
[ServiceAddress] [nvarchar](150) NULL,
[AccountNumber] [nvarchar](50) NULL,
CONSTRAINT [PK_Accounts] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
创建存储过程代码:
CREATE PROCEDURE [dbo].[InsertAccount]
@AccountName AS NVARCHAR(150) ,
@ServiceAddress AS NVARCHAR(150) ,
@AccountNumber AS NVARCHAR(50)
AS
INSERT INTO dbo.accounts
( AccountName ,
ServiceAddress ,
AccountNumber
)
SELECT @AccountName ,
@ServiceAddress ,
@AccountNumber
平面文件:将其命名为 sample.csv
Account Name,Service Address,Account Number
JOE BLOW,ADDRESS X CITYX IL 61999,932F623Y52
接收端口配置
发送端口配置
我创建了一条消息来接收平面文件
我创建了一条消息以将 XML 发送到 SQL
我删除了 Send 组件并分配了 Stored Proc Message
我为存储过程删除了一个接收响应组件
然后我删除了一个 Construct Message 组件来初始化 XML 文档并创建地图。
我将包部署到服务器,没有部署到 GAC,然后我手动在 GAC 中注册了组件。
在服务器中:
我设置了所有的接收和发送端口:
发送端口
我配置应用程序
我启动了应用程序:
- 接收位置启用
- 发送端口已启动
- 我完全停止并重新启动了应用程序。
我删除了文件,文件消失了,我得到了错误
我收到以下错误
消息引擎无法处理适配器提交的消息:文件源 URL:C:\Biztalk Test\Sales\SampleFile*.csv。详细信息:无法路由已发布的消息,因为找不到订阅者。如果尚未征用订阅编排或发送端口,或者未提升订阅评估所需的某些消息属性,则会发生此错误。请使用 Biztalk 管理控制台解决此故障。
适配器“FILE”在接收位置“ServerReceiveLocation”上接收到的消息被挂起,URI 为“C:\Biztalk Test\Sales\SampleFile*.csv”。错误详细信息:无法路由已发布的消息,因为未找到订阅者。如果尚未征用订阅编排或发送端口,或者未提升订阅评估所需的某些消息属性,则会发生此错误。请使用 Biztalk 管理控制台解决此故障。