xsd - BizTalk 2016 - XMLReceive 管道中的分批 XML 不提升属性
问题描述
我们有这个在 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 中没有推广这个属性,有什么想法吗?
解决方案
您可能将端口管道设置为“通过接收” - 设置为通过时不支持提升。
https://docs.microsoft.com/en-us/biztalk/core/default-pipelines
如果没有,请发布您的属性架构以及您的消息架构。
推荐阅读
- xamarin - cocossharp TilePropertiesForGID(info.Gid) 总是返回 null
- angular - 角度 HttpClient.get 方法的问题
- python - Groupby 使用 2 种不同的函数语法
- javascript - 绑定点击,使用生成元素的类中的方法
- entity-framework-6 - 如何在 C# 上更新和删除 PostgreSQL 实体框架6
- amazon-web-services - 无法删除在 AWS 上使用 Kops 部署的 Kubernetes 集群
- authorization - 评估 XACML 3.0 组合算法
- html - 在 CSS Grid 中混合固定长度和重复()
- python-3.x - 在 xpath 语句上设置条件
- android - 不能让 dagger2 将改造 api 注入单例对象,然后将单例对象注入片段