【问题标题】:Catching invalid xml error-message捕获无效的 xml 错误消息
【发布时间】:2011-04-13 07:40:20
【问题描述】:

我想知道是否有一种方法可以捕获不是 在 Biztalk 编排中有效。

我的编排将 xml 引入,将其转换为另一种格式,将其存储在数据库中并向发送者发送确认...

请帮忙!

【问题讨论】:

    标签: xml biztalk


    【解决方案1】:

    所有进入 BizTalk 系统的 (Xml) 消息都应在接收位置进行验证,如果验证失败,则会对发件人做出 NACK 响应。

    验证结构,您需要为传入的 Xml 消息定义一个架构,并将其添加到您接收位置的 Xml 接收管道配置的 DocumentSpecNames 属性中。

    但是,如果您需要验证传入消息的内容,则应在消息进入编排后立即使用业务规则 (BRE)。

    【讨论】:

      【解决方案2】:

      我不是 Biztalk 的专家,但你想看看XSD。它是一种可以对 XML 文档施加构建约束的方法。如果您可以访问某些 biztalk XLD,您可以将它们转换为 XSD。我不知道 Biztalk XSD 或 XLD 是否可用。如果没有,您可以自己创建它们...

      【讨论】:

        【解决方案3】:

        对于您的具体问题,您有更多详细信息吗?您要查找的消息是用于验证启动编排的原始消息,还是在编排中创建的消息?

        除了转换,将数据发送到数据库并发送确认之外,您是否还在做任何事情?如果没有,我建议根本不使用编排。所有这些都可以通过地图处理并发送端口订阅。此外,通过将管道添加到您的接收位置,您将获得所需的 XML 模式验证。

        如果需要编排,那么您仍然可以在编排内部使用接收端口(仅用于架构验证有点矫枉过正,但仍有可能),或者您可以按照所述编辑 BTSNTSvc.exe.config 文件@ 987654321@。但是,编辑配置文件可能会带来一些开销,因为它是服务器端设置。

        另一种选择可能是拥有一个验证 XML 的接收端口,然后让您的业务流程仅订阅该接收端口。

        希望对您有所帮助。

        【讨论】:

        • 消息(无效 XML)是编排的第一条消息(输入消息)。
        猜你喜欢
        • 1970-01-01
        • 2014-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-08
        • 1970-01-01
        • 2017-07-27
        • 2016-07-22
        相关资源
        最近更新 更多