【发布时间】:2019-02-07 20:57:28
【问题描述】:
我们有这个在 BizTalk 2009 中工作的架构,在接收端口中对 XML 消息进行分批。此架构和带有 XMLReceive 管道的接收位置,分批消息并生成 POLLINGSTMTRECORD 消息,并提升了 OperationType 和 ProcesoType 属性。
但现在,在 BizTalk 2016 中,这不会发生,只是分批消息,而不是提升属性。
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns:tns="http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns0="https://ServicesPlatform.Common.Schemas.PropertySchema" elementFormDefault="qualified" targetNamespace="http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:annotation>
<xs:appinfo>
<fileNameHint xmlns="http://schemas.microsoft.com/servicemodel/adapters/metadata/xsd">POLLINGSTMTCOMMON</fileNameHint>
<b:schemaInfo is_envelope="yes" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" />
<b:imports>
<b:namespace prefix="ns0" uri="https://ServicesPlatform.Common.Schemas.PropertySchema" location=".\propertyschema.xsd" />
</b:imports>
</xs:appinfo>
</xs:annotation>
<xs:complexType name="POLLINGSTMTRECORD">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="ID_SOLICITUD" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="OPERACION" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="40" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="NUM_REINTENTOS" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="4000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PROCESO" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="POLLINGSTMTRECORD" nillable="true" type="tns:POLLINGSTMTRECORD">
<xs:annotation>
<xs:appinfo>
<b:properties>
<b:property name="ns0:OperationType" xpath="/*[local-name()='POLLINGSTMTRECORD' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']/*[local-name()='OPERACION' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']" />
<b:property distinguished="true" xpath="/*[local-name()='POLLINGSTMTRECORD' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']/*[local-name()='ID_SOLICITUD' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']" />
<b:property distinguished="true" xpath="/*[local-name()='POLLINGSTMTRECORD' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']/*[local-name()='NUM_REINTENTOS' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']" />
<b:property name="ns0:ProcesoType" xpath="/*[local-name()='POLLINGSTMTRECORD' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']/*[local-name()='PROCESO' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']" />
<b:property distinguished="true" xpath="/*[local-name()='POLLINGSTMTRECORD' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']/*[local-name()='PROCESO' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']" />
<b:property distinguished="true" xpath="/*[local-name()='POLLINGSTMTRECORD' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']/*[local-name()='OPERACION' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']" />
</b:properties>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:complexType name="ArrayOfPOLLINGSTMTRECORD">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="POLLINGSTMTRECORD" type="tns:POLLINGSTMTRECORD" />
</xs:sequence>
</xs:complexType>
<xs:element name="ArrayOfPOLLINGSTMTRECORD" nillable="true" type="tns:ArrayOfPOLLINGSTMTRECORD" />
<xs:element name="POLLINGSTMT">
<xs:annotation>
<xs:documentation>
<doc:action xmlns:doc="http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation">http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMT</doc:action>
</xs:documentation>
<xs:appinfo>
<b:recordInfo body_xpath="/*[local-name()='POLLINGSTMT' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']/*[local-name()='POLLINGSTMTRECORD' and namespace-uri()='http://Microsoft.LobServices.OracleDB/2007/03/POLLINGSTMTCOMMON']" />
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="POLLINGSTMTRECORD" nillable="true" type="tns:ArrayOfPOLLINGSTMTRECORD" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
但是在 BizTalk 2016 中并没有推广这个属性,你知道吗?
【问题讨论】:
-
您升级了项目还是移动了工件?
-
另外,如果你自己处理debatched消息,Properties是否被提升了?
-
问题是提升的属性也是区分属性。然后使用管道分批,这些属性不会得到提升。我可以看到它有区别但没有提升。