2017-01-11 9 views
0

У меня есть многослойное сообщение с этой схемой (отредактированный для краткости):Как получить доступ к уважаемому полю в сообщении BizTalk многочастного

<?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, как бы я получить доступ к значению выделенного поля «UPRN» в редакторе выражений BizTalk.

Когда я пытаюсь точечную нотацию все, что я получаю от IntilliSense является MyMessage.Property

+0

UPRN является определяется как minOccurs 0, что может вызвать проблемы. – Dijkgraaf

+0

Очень странно. Я могу воспроизвести проблему со схемой, которую вы предоставили, но когда я вручную заново создала схему, она работает так, как ожидалось. – Dijkgraaf

+0

И теперь я больше не могу воспроизводить. Так должно быть что-то странное. Попробуйте удалить тип сообщения Multi-Part и его повторное создание. – Dijkgraaf

ответ

-1

Это должно быть:.

MessageName.PartName.RootNode.ElememtName [...] FieldName

+0

Итак, этот ответ правильный ... downvote не правильный, извините :( –

+0

Собственно, Rootnode там нет. – Dijkgraaf