问题标签 [biztalk-pipelines]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# 将 FileStream.WriteLine 转换为 MemoryStream
我在控制台程序中编写了一些代码并使用文件进行了测试。现在我想将它移植到实现特定接口的 BizTalk 管道组件。我不知道从文件到内存流的方法.Write
和方法是如此不同。.WriteLine
我以为我只能交换我的对象。没有.WriteLine
方法,.Write 方法需要偏移量和字节(附加参数)。
所以现在,鉴于我有很多 .WriteLine 语句,将测试代码更改为写入内存流的最佳方法是什么。我可以先写入 StringBuffer,但我认为这会破坏流式传输的概念(即一次将整个文档放在内存中)。
这里没有显示更多代码。以上只是为我所做的事情做准备。
biztalk - 验证 BizTalk 管道组件中的 PropertyBag 值
Microsoft 在 BizTalk Pipeline 界面中提供了如下所示的验证组件。
这是我尝试过的,但似乎根本不起作用:
说
“这些错误消息显示为编译器错误消息。要报告成功的属性验证,该方法应返回一个空枚举数。”
.
但是当我输入无效值时,我没有收到任何编译器消息。此外,它不会在 BTS-Admin 中进行验证,它不会有“编译器消息”吗???
此外,为什么 Validate 接收一个泛型对象作为参数而不是强类型参数?什么时候调用验证?每次更改 propertyBag 值时?
更新于 2017 年 5 月 11 日上午 11:55 CT
我又尝试了几件事,其中两件很难在这里一一列出。我终于得到了一个错误,但在 VS 编译错误中不是一个非常有用的错误,请参见下面的屏幕截图。这绝对不是我返回的错误。也许这在 VS2015 上有问题。
我还遇到了一个问题,我修复了我的数据,但仍然出现错误。由于 Pipeline Componenet 是 GAC 的,因此我每次都关闭并重新打开 Visual Studio 以确保它获得了新副本。
我在想也许返回 null 以外的任何东西都是问题所在。总之,如果它在 BTS-ADMIN 中不起作用,我发现它实际上毫无用处。所以我只会做运行时错误。也许这就是为什么关于这个主题的文档和文章/博客如此之少的原因。
c# - 将命名空间和别名添加到现有 xml
我正在使用下面的代码来更改 BizTalk 管道组件中现有 XML 消息中的命名空间。这可行,但我如何也将命名空间别名添加到文档中。
c# - 在 BizTalk 发送端口中生成两条消息(来自一条输入消息)
我想在管道组件中创建两条消息,并将其传递到 Assemble 阶段,它将通过 BTAHL7 Microsoft Accelerator。
管道组件将放置在发送管道的“预组装”阶段。
这是将返回消息的代码。
出于测试目的,我将这两个添加pInMsg
到一个数组中,并循环访问该数组以将其添加到队列中。然后,将消息分开返回。
但是,虽然队列有 2 个值,但在管道的其他部分(Assemble 和 Encode)中,它只返回一条消息。
为什么这样做?我怎样才能让它返回两条消息?
biztalk - 未设置通过管理控制台设置的 Biztalk 发送管道属性
我有一个带有 Rcv 和发送管道的接收位置。两条管道都有一个自定义管道组件,该组件具有一些设计时属性。在发送管道中,如果我通过 BizTalk 管理控制台设置这些属性,则不会覆盖这些属性。但是,对于 Rcv 管道,同样的事情完全可以正常工作。我不能只在设计时设置属性,因为它是基于环境的值,需要在运行时设置。
biztalk - BizTalk:BTAHL72XReceivePipeline 管道组件
我设置了两个应用程序,一个带有 FILE 接收端口,另一个带有一个发送端口订阅该接收端口,过滤器设置为BTS.ReceivePortName == {ReceivePortNameHere}
. 我正在使用 BizTalk 2013 R2。
在接收端口中,我使用的是管道“BTAHL72XReceivePipeline”。而且,在发送端口中,我使用的是管道“BTAHL72XSendPipeline”。
当我将 HL7 消息放入接收端口文件位置时,会产生错误:
消息引擎无法处理适配器提交的消息:文件源 URL:E:\InboundToBizTalk\*.hl7。详细信息:无法路由已发布的消息,因为找不到订阅者。如果尚未征用订阅编排或发送端口,或者未提升订阅评估所需的某些消息属性,则会发生此错误。请使用 Biztalk 管理控制台解决此故障。
但是,我确实有一个订阅集。为什么会出现这个错误?管道组件或我使用它的方式有问题吗?
biztalk - 没有文档架构的 BizTalk 管道自定义组件反汇编
我将根据存储在 SQL Server 数据库表中的业务逻辑来解析和格式化平面文件输入。我没有输入的文档架构。我为反汇编编写了一个 C# 自定义组件类。当我在接收管道的 Disassemble 阶段使用自定义组件时,我收到未找到文档架构的错误。
有没有人遇到过同样的情况并以不同的方式处理?.
json - 发送带有数字和 guid 属性名称的 JSON
从 BizTalk 我必须发送一个看起来像这样的 JSON 文件。
在 BizTalk 架构中,我无法定义这样的内容。Guid
in和attr
number 属性名称attributes
不固定,可能是其他值。
我有实现将 BizTalk XML 转换为输出 JSON 的自定义管道组件的想法。但我不知道如何解决属性名称的问题,因为这些不是有效的 XML 名称。
解决这个问题的最优雅的方法是什么?
提前致谢。
更新更多信息
要获得JSON
上面的喜欢,XML
必须看起来是无效的
要获得有效的XML
,我必须更改无效元素,即,而不是<4 />
可能<e4 />
,<element name="4" />
或类似的东西。然后解析器(或其他东西?)必须将此XML
元素映射到正确的元素JSON
。
biztalk - 在将 EDI 消息发送到 BizTalk Server 中的目标时处理重音字符
我有一个要求,我需要硬编码(强制)一个带有重音字符的值('AH La Kélisére'),将其映射到 EDI 模式中的一个字段,然后使用生成的消息将生成的消息发送到 URI(动态发送端口) AS2 运输。我在发送端口中使用了默认管道“AS2EdiSend”,但出现以下错误:
执行发送管道失败:……</p>
我需要按原样发送值。如何做到这一点?
biztalk - BizTalk 中同一终结点上收到的两方的路由消息
我在同一端点上接收两方的消息。我的接收端口接收 AS2 消息,而不是 EDI,我正在尝试路由此消息。
如何将收到的消息路由到各方的不同位置?