问题标签 [biztalk-2013]
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.
biztalk - 恢复 Biztalk 实例时转换日期出错
当我尝试恢复 BizTalk 实例时,我从 BT 控制台收到以下错误:
从字符串转换日期和/或时间时转换失败。
我在不同的服务器上有 BizTalk server 2013 和 MsgBox DB。
有没有人遇到过这个问题?
biztalk - 消息数据属性相关的消息中不存在
尝试编译包含相关集的编排时,出现以下错误:
message data property <promoted property> in correlation <correlation> does not exist in message <messagename>
编排引用了一个包含 HL7v2 架构的 dll,其中提升的属性确实存在,但无论出于何种原因,编排/相关集在编译期间看不到它,并且由于上述错误,项目将无法编译。
细节:
- 在 Orchestration 视图中,Correlation Type 和 Correlation Set 都设置成功。
- 在我的关联类型的关联属性中,我可以浏览并查看对提升字段的引用并成功选择它。
- 我每次都在删除/重新添加 dll 引用,以确保它不是过时的引用
- 我一直在检查 GAC,并且在重新编译架构时正在更新 dll
- 尝试将属性架构上的命名空间更改为自定义和默认并返回,但仍然没有帮助。
我现在想知道
- 包含提升属性的模式是否必须与编排在同一个项目中?
- 相关性和 HL7 模式有什么特别之处吗(所有相关性示例都在“Hello World”级别,所以没有多大帮助)
- 我可以尝试完成这项工作的其他任何事情,我们需要使用几个提升的属性来关联 2 条消息。
biztalk - 提升 HL7v2 模式中的字段以在相关集中使用
假设我要在 HL7 v2 架构上创建提升属性。我想使用这个提升的属性来关联并行车队中的两条消息。我在没有使用 HL7 模式的情况下做了一个虚拟应用程序,一切都按预期工作。总结一下我所做的,请参阅本教程。
这实际上很简单,这就是为什么我想知道在 HL7 模式方面有一个问题。
我创建了 PropertySchema,在 HL7 正文模式中提升了我所追求的字段,一切编译和部署都很好,我在接收端口上运行了订阅查询,它们看起来不错
但是,我得到一个
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.
并查看 Biztalk Group 管理控制台,当我查看挂起的消息时,我没有看到该属性已被提升
编辑以添加消息上下文
错误报告上下文
我已经检查并仔细检查了,架构在那里,A message was received of type http://microsoft.com/HealthCare/HL7/2X#ORU_ALL_25_GLO_DEF
当我收到消息时,事件日志甚至显示了重复的架构。
所以现在,我想我有两个问题:
- 如果促销成功进行,它们会显示在 Message --> Context 对话框中吗(它们在我的非 HL7 虚拟应用程序中显示)
- 如果它们不应该显示,是否有我错过的设置/属性/任何东西是使用 HL7v2 模式所独有的?
biztalk - 将备用管道与 BizTalk WCF 服务一起使用
我正在尝试创建一个处理 XML 格式的 BizTalk 业务流程,然后将此业务流程公开为接收和返回字符串的 WCF 服务,使用特定的发送和接收管道将字符串与 XML 格式之间的转换由编排。
我所做的是这样的:
- 基于 XML 格式创建编排(在我的例子中是医疗保健 EDI XML 模式)
- 在编排中创建尚未绑定到物理端口的双向端口
- 部署编排
- 运行 BizTalk WCF 服务向导以将业务流程公开为服务
此时,服务已发布,需要 BizTalk EDI XML 架构。由于这很复杂,并且当 BizTalk 具有内置管道来执行此操作时,我不想执行将 EDI 字符串转换为此架构的工作。
为了做到这一点,我做了以下步骤:
- 使用接受字符串的双向端口创建虚拟编排
- 再次运行服务向导以将此编排发布为服务
- 将已发布的字符串服务中的字符串模式复制到已发布的真实服务的 App Data 文件夹中
- 修改真实服务中的服务 XML 文件以使用新的字符串架构而不是复杂的 EDI 架构
- 打开双向 WCF 端口的接收位置,将接收管道更改为“EDI Receive”,将发送管道更改为“EDI Send”
虽然这确实让服务工作并发布 WSDL,但它似乎并不正确。当我向该服务添加服务引用时,该服务引用只接受一个原始 WCF 消息对象(它没有作为任何特定类型输入)。当我尝试手动构建一条消息并提交它时,我收到一个错误响应,告诉我该操作未实现(就像您从NotImplementedException
)。
我做错了吗?这似乎不应该那么复杂,但我很难过。
web-services - 构建期间 BizTalk 映射无限循环(易于复制)
我正在尝试在 BizTalk (2013) 中使用 Web 服务,但构建过程最终消耗 3 GB 内存并在 10 分钟后退出而没有指定错误。
我不确定我是否做错了什么,或者这只是 WSDL 的组合方式。任何建议,将不胜感激!
复制问题的步骤
- 添加生成的项目 > 使用 WCF 服务 > https://webservice.s6.exacttarget.com/etframework.wsdl
- 添加新地图
- 源架构:任何东西
- 目标架构:RetrieveRequest
- 无需实际映射。构建项目并观察您的资源被消耗
注意:删除“Retrieves”节点仅解决 RetrieveRequest 的问题。
我不确定这是否相关,但我注意到复杂类型“DataFolder”有一个名为“ParentFolder”的元素,它属于复杂类型 DataFolder。WSDL 中还有许多其他类似的实例,所以我希望这不是问题!
biztalk - Biztalk 在映射转换之前预加载输出消息
我有来自 2 个不同系统(SystemA 和 SystemB)的 2 条相关传入消息,我只想将 SystemA 消息中的几个字段复制到 SystemBmessage。
所以我的 Construct Message 形状如下所示:
消息分配形状里面只有这个代码:
然后,该映射只有左侧的 2 个输入(SystemA 模式和 SystemB 模式)ORU 消息和右侧的输出 ORU 消息,它们也与 SystemB 输入消息共享相同的模式。
我希望我可以只使用上面的消息分配代码来分配输出msgComboWithAttach
消息,然后使用映射器将我们需要的几个字段从 SystemA 消息映射到 SystemB 消息。
但似乎一旦我应用地图,它就会msgComboWithAttach
在执行转换之前清除预加载的消息,然后应用地图。然后,生成的消息仅包含在映射中复制的那些字段,并且不包含在消息分配pre-load中分配的其他段/字段。
这是预期的行为吗,在这种情况下,我必须对地图中的所有部分进行批量复制?或者有没有办法像我想要的那样预加载/复制消息,然后只映射几个字段?
biztalk - 将 BizTalkMessage 转换为 XLANGMessage
是否可以将 Microsoft.BizTalk.Operations.BizTalkMessage 实例转换为 Microsoft.XLANGs.BaseTypes.XLANGMessage 实例(不会丢失 BizTalkMessage 的上下文)?
原因是我想检索所有构造的编排消息实例,然后将这些消息添加到 ESB Toolkit 方法中:
那么,主要问题是如何实现ConvertToXLANGMessage
方法?
谢谢!
xml - BizTalk :: 名称为“X”和命名空间“Y”的开始元素是意外的
我在 BizTalk 中遇到以下错误消息:
适配器无法传输要发送端口“TIMESHEET_ODS_GMPS_FAB”的消息,URL 为“mssql://SINGVSQLD8/VID08/GMPS?InboundId=CSP_BT_TIMESHEET_ODS_TO_GMPS”。它将在为此发送端口指定的重试间隔后重新传输。详细信息:“Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException:名称为“CSP_BT_TIMESHEET_ODS_TO_GMPS”和命名空间“ http://schemas.microsoft.com/Sql/2008/05/Procedures/dbo/GMPS ”的开始元素是意外的。请确保您的输入 XML 符合操作的架构。
我知道以前有几个相同主题的帖子,但不幸的是没有一个适用,因为我尝试了以下尝试但没有结果:
- 验证运行时消息和模式之间的实例,以确保输入 XML 符合模式
- 确保在整个编排流程中将消息设置为正确的消息类型
- 在架构中使用一致的命名空间 http://schemas.microsoft.com/Sql/2008/05/Procedures/dbo/GMPS
- 在 SOAP Action Header 中使用 Operation Name "CSP_BT_TIMESHEET_ODS_TO_GMPS" 与 Send Port Operation Identifier 匹配,并使用 Operation Action "Procedure/dbo/CSP_BT_TIMESHEET_ODS_TO_GMPS" 与 Namespace 匹配
此外,还有其他几件事可能相关,也可能不相关:
- 我试图设置根引用属性
- 没有使用相同命名空间的架构
- 没有使用相同 InboundID 的端口
- 我没有为这个特定的模式使用 XML Transmit
我的运行时 [但缩短] 消息如下:
我的架构如下:
我的 SOAP 操作标头如下:
如果您曾经遇到过类似的错误消息或发现我的代码有问题,我们将不胜感激。
visual-studio - BizTalk 解决方案的 Visual Studio 重新部署功能不起作用
我的 BizTalk 解决方案有 10 个相互引用的 BizTalk 项目。在每个项目的属性中,我都将重新部署功能设置为“真”(默认情况下)。
但是,当我尝试从 VS 2012 重新部署整个解决方案时,解决方案中的某些项目出现以下错误:
错误 201 添加资源失败。某些资源的更改请求失败。BizTalkAssemblyResourceManager 未能完成结束类型更改请求。无法更新程序集“Project1,Version=1.0.0.0,Culture=neutral”,因为它由不在要更新的程序集集中的程序集使用。要更新程序集,请删除以下程序集:Project2、Version=1.0.0.0、Culture=neutral Project3、Version=1.0.0.0、Culture=neutral Project4、Version=1.0.0.0、Culture=neutral Project5、Version=1.0.0.0 , 文化=中性 Project6, 版本=1.0.0.0, 文化=中性
正如我从这篇文章中读到的:http: //blog.codit.eu/post/2013/07/30/Redeployment-notes-of-a-BizTalk-solution-from-Visual-studio.aspx
在部署 BizTalk 程序集的过程中,您首先需要在 BizTalk Server 中手动停止、取消登记和取消绑定程序集中包含的项目,然后在部署之前从 BizTalk 管理(配置)数据库中删除该程序集。Visual Studio 将使用此选项重新部署为您处理所有这些步骤。
我的问题和可能的解决方案可能是什么原因?
biztalk - 使用 Map 转换 HL7,源端缺少 2 个输入消息字段
考虑这样一种情况,您有 2 个接收位置,每个接收位置都有自己独特的消息类型。基于这些消息中的每一个中的共享唯一值,存在一个具有并行关联的编排。
一旦出现相关集,编排就会运行,它的工作是合并来自 2 条消息的数据并从中创建 1 条消息。我的想法是使用一个包含 2 条输入消息的地图:相关性中每种类型的 1 条。目标模式恰好与输入模式之一相同(所以我们基本上只是从另一个向其中一个添加数据)
我可以创建地图,选择 2 输入消息模式和目标模式。映射器比打开并且在源端看起来像这样:
这很好。
当您开始扩展节点时,问题就出现了,它们似乎只深了 1 级。例如,这里是源和目标并排,相同的模式,除了一个是 2 部分源的第 1 部分,另一个是单个目标部分:
这只是一个示例,但请比较 EVN_5。左边没有孩子,右边有。这是相同的模式,但一个是多输入源的一部分,另一个是目标。
有什么办法可以解决这个问题,还是不可能?按名称/结构进行链接会导致数据丢失,因为源“认为”它不存在。
编辑:我只是想添加一个细节,即在映射器中仅显示一级深度元素的问题在两个输入模式中都发生了。