gpt4 book ai didi

biztalk - 无法路由已发布的消息,因为未找到订阅者

转载 作者:行者123 更新时间:2023-12-05 01:02:31 25 4
gpt4 key购买 nike

在服务器中运行我的 BizTalk 包时出现以下错误:

无法路由发布的消息,因为找不到订阅者

包装说明:使用存储过程将 CSV 平面文件导入 SQL Server。

enter image description here

分割:

创建表代码:

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

我正在使用 WCF 连接到数据库 enter image description here

我正在使用存储过程 enter image description here

我为平面文件创建了一个架构 enter image description here

接收端口配置

enter image description here enter image description here enter image description here

发送端口配置

enter image description here enter image description here enter image description here

我创建了一条消息来接收平面文件

enter image description here

我创建了一条将 XML 发送到 SQL 的消息

enter image description here

我删除了接收组件并分配了平面文件消息 enter image description here

我删除了 Send 组件并分配了 Stored Proc Message

enter image description here

我删除了存储过程的接收响应组件

enter image description here

然后我删除了一个 Construct Message 组件来初始化 XML 文档并创建 map 。

enter image description here enter image description here enter image description here

我将包部署到服务器,没有部署到 GAC,然后我手动在 GAC 中注册了组件。

enter image description here

在服务器中:

我设置了所有的接收和发送端口:

enter image description here enter image description here enter image description here

发送端口

enter image description here enter image description here

我配置应用程序

enter image description here

我启动了应用程序:

  • 启用接收位置
  • 发送端口已启动
  • 我完全停止并重新启动了应用程序。

我删除了文件,文件消失了,我得到了错误

我收到以下错误

The Messaging engine failed to process a message submitted by adapter:FILE Source URL:C:\Biztalk Test\Sales\SampleFile*.csv. Details:The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

A message received by adapter "FILE" on receive location "ServerReceiveLocation" with URI "C:\Biztalk Test\Sales\SampleFile*.csv" is suspended. Error details: The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

enter image description here enter image description here

最佳答案

基本上,您的业务流程订阅与收到的消息的上下文属性不匹配。

当您收到该错误时,您需要做的就是查看 Suspended 消息并查看它的外观并将其上下文属性与 BizTalk Administrator 中的订阅进行比较。

在你的情况下,问题似乎是你没有一个接收管道,它有一个平面文件反汇编程序,上面指定了平面文件方案,它将其转换为 XML 并使用消息类型上下文属性发布它架构名称

所以发生的事情是它将原始平面文件发布到没有消息类型的消息框,并且消息类型也是编排订阅的内容,并且您没有特定的订阅规则来监听来自该消息的消息然后可以处理原始消息的端口。因此它不知道如何处理该消息并因上述错误而将其挂起。

关于biztalk - 无法路由已发布的消息,因为未找到订阅者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34049244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com