代码之家  ›  专栏  ›  技术社区  ›  Leth

使用Biztalk中WCF-SQL适配器上的模板消息体将提升的属性插入SQL数据库

  •  0
  • Leth  · 技术社区  · 6 年前

    我目前在正文模板中使用以下代码和一些硬编码值:

    <SaveDocument xmlns="http://schemas.microsoft.com/Sql/2008/05/Procedures/dbo">
       <conversationID>123456</conversationID>
      <dataType>OIO</dataType>
      <fromID></fromID>
      <toID></toID>
      <msgInfoExtension><![CDATA[<infoExt><fileInfo fileName="ublinvoice.xml" encoding="utf-8" /></infoExt>]]></msgInfoExtension>
      <msgBody>
      <bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="string"/>
      </msgBody>
      <msgBodyBin></msgBodyBin>
    </SaveDocument>
    

    我需要在XML文档中获取一些提升的属性,而不是硬编码的值,但我不确定如何正确地执行此操作。

    在MS文档中,我找到了这个页面,它描述了请求的结构: https://docs.microsoft.com/en-us/biztalk/adapters-and-accelerators/adapter-sql/message-schemas-for-procedures-and-functions

    2 回复  |  直到 6 年前
        1
  •  0
  •   Dijkgraaf José Ignacio Gutiérrez Guzmán    6 年前
    1. 区分要在SaveDocument架构中设置的属性
    2. 创建一个填充字段的映射,这些字段是要从提升的属性中设置的,只需用映射中的一些常量填充它们即可。
    3. 在业务流程中,有一个构造消息,其中包含指向上述映射的映射形状和消息分配形状。
    4. 在消息分配形状中有如下语句 saveSG.conversationID = sourceMSG(PropmotedProperty) .

    P、 我认为您已经手动尝试创建SaveDocument模式。这可能是不对的。正确的方法是创建存储过程,然后在visualstudio中使用Generate Instance对话框,并将其配置为自动生成架构,作为一种额外的方法,它甚至生成一个包含发送端口所需设置的绑定文件。

        2
  •  0
  •   DTRT    6 年前

    你也许可以使用经常忽略的方法 Property Demotion 功能。

    它基本上与提升相反,由XmlAssembler组件完成。