标签: biztalk-2013r2

BizTalk JSON反序列化

我必须通过BizTalk连接REST服务.该服务返回JSON响应,如下所示.当BizTalk响应端口尝试解码JSON消息时,我收到有关JSON到XML转换的错误.由于JSON消息中嵌入了HTML标记,因此发生此错误.

错误:

(执行响应(接收)管道失败:"Avansas.Paritus.Suggest.T.JSONReceive,Avansas.Paritus.Suggest.T,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 7b2984270a9ffd13"来源:"JSON解码器"发送端口:"Avansas.Ibrahim.Suggest.T.SendPort"URI:"api1.test.com/services/rest";原因:解析值时遇到意外字符:<.路径'',第0行,位置0 .)

例如:

如下所示,响应消息在JSON中有一个标签元素.Label元素有一个带有html标签(City)的文本,这就是BizTalk尝试将JSON转换为XML时出现错误的原因.我认为BizTalk尝试将JSON转换为图2,但我想将其转换为图3.

我该如何解决这个问题?

有没有任何方法在没有任何架构的情况下在业务流程上进行passthru传输?

图1

{
    "suggestion": [
        {
            "id": "[31 31 31 30 30 39]",
            "label": "Global <b>City</b> 2. Etap Global <b>C?ty</b> ",
            "value": "Global <b>City</b> 2. Etap Villalar? "
        },
        {
            "id": "[39 33 36 32 35 36]",
            "label": "<b>City</b> Aqua Villas Sk.  Ku?adas? Ayd?n",
            "value": "<b>City</b> Aqua Villas Sk.  Ku?adas? Ayd?n"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

图2:

<root>
    <suggestion>
        <id>[31 31 31 30 30 39]</id>
        <label>Global 
            <b>City</b> …
Run Code Online (Sandbox Code Playgroud)

xml rest json biztalk biztalk-2013r2

5
推荐指数
1
解决办法
1311
查看次数

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

在服务器中运行 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]
Run Code Online (Sandbox Code Playgroud)

创建存储过程代码:

CREATE PROCEDURE [dbo].[InsertAccount]
    @AccountName AS NVARCHAR(150) ,
    @ServiceAddress AS NVARCHAR(150) ,
    @AccountNumber AS NVARCHAR(50)
AS 
    INSERT  INTO dbo.accounts
            ( AccountName ,
              ServiceAddress …
Run Code Online (Sandbox Code Playgroud)

biztalk biztalk-2013r2

3
推荐指数
1
解决办法
9923
查看次数

无法在GAC中看到部署的Biztalk项目组件?

我有一个Biztalk项目,它具有以下设置:

General > Redeploy > True
Local Machine > Install to Global Assembly Cache > True
Run Code Online (Sandbox Code Playgroud)

涉及的所有项目都生成了SNK文件.但是,我删除了一个引用,并且根据biztalk文档,它尚未从GAC 中清除.当我尝试在c:\ windows\assembly中找到已安装的程序集时,我找不到我的BiztalkProject.DLL或BiztalkLibraries.DLL项目.这可能是权限问题,还是我处理不同的问题?

biztalk gac windows-server-2012 visual-studio-2013 biztalk-2013r2

1
推荐指数
1
解决办法
1506
查看次数

BizTalk - 无法提升属性

使用BizTalk 2013r2 CU1,我为我的入站xsd创建了一个属性模式并部署了该应用程序.

当我使用标准的"xml接收"管道收到样本xml文档时,我可以看到所需的元素按预期被提升到上下文中.

然后,我创建了一个自定义管道,其中包含"Disassemble"阶段中的"XML反汇编程序"组件和"验证"阶段中的自定义组件.此自定义组件需要从上下文中读取提升的属性.但是,我发现当我将接收位置从"xml接收"管道切换到我的自定义管道时,我的属性不会被提升.我在自定义组件中使用以下代码来写出消息上下文中的项列表:

for (int x = 0; x < contextList.CountProperties; x++)
        {
            contextList.ReadAt(x, out name, out nspace);
            string value = contextList.Read(name, nspace).ToString();
            contextItems += "Name: " + name + " - " + "Namespace: " + nspace + " - " + value + "\r\n";
            if (name == _ContextPropertyName && nspace == _ContextPropertyNamespace)
                promotedPropFound = true;

        }
        Helpers.EventLogHelper eventHelper = new EventLogHelper();
        eventHelper.LogEvent(string.Format("Context items:{0}", contextItems));

        if (promotedPropFound == false)
            throw new Exception(string.Format("Unable to find promoted property with …
Run Code Online (Sandbox Code Playgroud)

biztalk pipeline biztalk-2013r2

1
推荐指数
1
解决办法
956
查看次数

如何在 IDE 之外管理 BizTalk 文件?需要一些架构建议

总的来说,我是 BizTalk 的新手并维护着一个非常旧的设置,BT 2013 R2

总的来说,我精通 .XSLT,并且比在 BT IDE(以及 vstudio IDE)中直接管理 xml 感觉更舒服

所以这里有几个通用的架构问题:

  1. 通过记事本手动管理地图的步骤是什么?我在 .BTM.CS 文件中看到了很多代码,但这些代码似乎没有被提取出来。我似乎必须先更改 .BTM 文件,然后生成 .BTM.CS

  2. 我的地图很大,我正在使用 X12 并且有数千个字段,我该怎么做才能使这更容易?我必须滚动 10 层深才能使任何内容可见,然后展开地图。BT IDE 似乎在处理如此大的文件时遇到了很大的问题

  3. 此外,任何人都可以推荐有关该主题的任何书籍将不胜感激

biztalk biztalk-2013r2

1
推荐指数
1
解决办法
146
查看次数

在业务流程中使用未构造的消息

我有这个问题,希望有人能帮忙解决.

我有一个编排,作为输入接收文件(消息为Microsoft.XLANGs.BaseTypes.Any).只是一个包含一些非结构化文本的文件.

我创建了一个动态发送端口,将接收的文件保存在备份文件夹中.

问题是,当有人发送相同的文件(具有相同的文件名)时,它不会覆盖备份文件夹中的文件.

当在constructMessage形状中尝试以下内容时

Message_new = orgMessage;
Message_new(FILE.CopyMode)= 2; //2=overwrite,
Run Code Online (Sandbox Code Playgroud)

这两个消息都是相同的类型:Microsoft.XLANGs.BaseTypes.Any

我收到这个错误:

错误1使用未构造的消息'orgMessage''':消息尚未初始化

biztalk biztalk-orchestrations biztalk-2013r2

0
推荐指数
1
解决办法
646
查看次数

BizTalk 2013 R2支持SQL 2014 Editon

我们计划将现有的BizTalk应用程序迁移到BizTalk 2013 R2.根据Microsoft文档,它说,推荐的SQL版本应该是SQL Server 2014或SQL Server 2012 SP1(企业版/标准版).建议不要在生产环境中使用SQL Server Express Edition.Express版不包含BizTalk Server所需的某些功能.

我们没有使用任何EDI或BAM.仅使用EAI应用程序.我们还需要SQL标准版还是企业版?我们不能在生产中使用SQL Express版本吗?

biztalk biztalk-2013r2

-1
推荐指数
1
解决办法
88
查看次数