【发布时间】:2017-01-11 16:04:48
【问题描述】:
我有一条包含此架构的多部分消息(为简洁而编辑):
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://MyCompany/Schemas/Canonical/Property/1.0" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://MyCompany/Schemas/Canonical/Property/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Property">
<xs:annotation>
<xs:appinfo>
<b:properties>
<b:property distinguished="true" xpath="/*[local-name()='Property' and namespace-uri()='http://MyCompany/Schemas/Canonical/Property/1.0']/*[local-name()='UPRN' and namespace-uri()='']" />
</b:properties>
</xs:appinfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="Addresses">
<xs:complexType />
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UPRN" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
鉴于业务流程中的消息名称是 MyMessage,我将如何访问 BizTalk 表达式编辑器中可分辨字段“UPRN”的值。
当我尝试点表示法时,我从 IntilliSense 得到的只是 MyMessage.Property
【问题讨论】:
-
UPRN 被定义为 minOccurs 0,这可能会导致您出现问题。
-
很奇怪。我可以使用您提供的架构重现该问题,但是当我手动重新创建架构时,它会按预期工作。
-
现在我无法再复制了。所以一定是发生了什么奇怪的事情。尝试删除多部分消息类型并重新创建它。
标签: biztalk