由于Biztalk中的Typed Polling架构,无法调试映射文件

时间:2016-02-01 16:14:45

标签: namespaces biztalk biztalk-mapper

我有下面提到的源架构。

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="TypedPolling">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="TypedPollingResultSet0">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="TypedPollingResultSet0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="strPortName" type="xs:string" />
                    <xs:element name="LastRun_UTC" type="xs:dateTime" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

目标架构是

<?xml version="1.0" encoding="utf-16" ?> 
<xs:schema xmlns="http://_024_EmailNotifications_Schemas.BizTalkDTADBExtractMod" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://_024_EmailNotifications_Schemas.BizTalkDTADBExtractMod" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Root">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="Notification">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="strPortName" type="xs:string" /> 
              <xs:element name="LastRun_UTC" type="xs:string" /> 
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

我有一张地图,如下所示enter image description here

地图的输入文件是

<ns0:Root xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003/aggschema">
<InputMessagePart_0>
    <ns1:EmailNotifications xmlns:ns1="http://024_EmailNotifications_Schemas.XMLConfig">
        <App>
            <Name>App1</Name>
            <Port>Port1</Port>
            <Email>email</Email>
        </App>
        <App>
            <Name>App2</Name>
            <Port>Port2</Port>
            <Email>Email2</Email>
        </App>
        <App>
            <Name>App3</Name>
            <Port>Port3</Port>
            <Email>Email3</Email>
        </App>
        <App>
            <Name>App4</Name>
            <Port />
            <Email>Email4</Email>
        </App>
    </ns1:EmailNotifications>
</InputMessagePart_0>
<InputMessagePart_1>
    <ns2:TypedPolling xmlns:ns2="http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications">
        <TypedPollingResultSet0>
            <TypedPollingResultSet0>
                <strPortName>Port1</strPortName>
                <LastRun_UTC>2016-01-29T10:20:10.083Z</LastRun_UTC>
            </TypedPollingResultSet0>
            <TypedPollingResultSet0>
                <strPortName>Port2</strPortName>
                <LastRun_UTC>2016-01-29T11:37:38.82Z</LastRun_UTC>
            </TypedPollingResultSet0>
            <TypedPollingResultSet0>
                <strPortName>Port3</strPortName>
                <LastRun_UTC>2016-01-29T11:37:39.353Z</LastRun_UTC>
            </TypedPollingResultSet0>
        </TypedPollingResultSet0>
    </ns2:TypedPolling>
</InputMessagePart_1>
</ns0:Root>

当我尝试在地图中运行调试选项时,我收到此错误,导致我无法调试地图,并且我不知道如何修复它。感谢我能得到的任何帮助

  

E:\ temp \ EmailNotifications \ InputInternal.xml:error btm1044:输入验证错误:元素&#39; TypedPolling&#39;在命名空间&#39; http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications&#39;具有无效的子元素&#39; TypedPollingResultSet0&#39;在命名空间&#39; http://schemas.microsoft.com/Sql/2008/05/TypedPolling/EmailNotifications&#39;。预期可能元素的列表:&#39; TypedPollingResultSet0&#39;。

2 个答案:

答案 0 :(得分:0)

如果未指定maxOccurs,则默认为1.尝试设置嵌套&lt; TypedPollingResultSet0&gt; element的maxOccurs to unbounded:

    <xs:element name="TypedPollingResultSet0">
      <xs:complexType>
        <xs:sequence>
          <xs:element maxOccurs="unbounded" name="TypedPollingResultSet0">

答案 1 :(得分:0)

我不能100%肯定纠正我的问题。 我将名称空间从.... / EmailNotifications更改为.... / EmailNotification 这解决了visual studio中输入xml文件中的摇摆线问题。

然后我从输入文件重新生成模式文件,并且中提问题得到了解决。

感谢Gruff的帮助