none
[OXOCNTC]: 2.2.1.1.12 PidLidFileUnderId - Problems accessing as an extended property through EWS RRS feed

  • Question

  • When I retrieve PidLidFileUnderId through EWS as an extended property, I am unable to retrieve anything other than a string value for this property. This does not seem correct as OXOCNTC, the Contact Object Protocol Specification, documents PidLidFileUnderId as a PtypInteger32 in section 2.2.1.1.12.

    Is

    1. There an error in OXOCNTC when it documents PidLidFileUnderId as a PtypInteger32 in section 2.2.1.1.12;
    2. EWS "getting in the way" and "translating" the underlying integer value to its enumeration value name; or
    3. There some other explanation—perhaps I am doing something horribly wrong?

    If I specify integer as the type of the PidLidFileUnderId extended property, as documented in OXOCNTC, I receive in return string values matching the enumeration value names for EWS's FileAsMappingType. For completeness, if I specify string as the type of the PidLidFileUnderId extended property, I receive a "The extedned property attribute combination is invalid" error. Below I have attached abbreviated versions of the XML request and response sent to EWS.

    Based on the above behavior, I assume that EWS or some other layer is directly or indirectly (through serialization, most likely) translating PidLidFileUnderId from its integer value to its corresponding FileAsMappingType enumeration value name, and that there is no way for me to avoid this translation when using EWS?

    For background, I am attempting to access PidLidFileUnderId and PidLidFileUnder to avoid the ErrorInvalidValueForProperty error sometimes returned by EWS when retrieving a contact as documented here [http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3453266&SiteID=17].

    XML request sent to EWS:

    <GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
    <ItemShape>
    <BaseShape xmlns="http://schemas.microsoft.com/exchange/services/2006/types">Default</BaseShape>
    <BodyType xmlns="http://schemas.microsoft.com/exchange/services/2006/types">Text</BodyType>
    <AdditionalProperties xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
    <ExtendedFieldURI PropertySetId="85899866-bfc2-45de-9541-0634b193f7af" PropertyId="1" PropertyType="String"></ExtendedFieldURI>
    <ExtendedFieldURI PropertySetId="85899866-bfc2-45de-9541-0634b193f7af" PropertyId="2" PropertyType="StringArray"></ExtendedFieldURI>
    <ExtendedFieldURI PropertySetId="85899866-bfc2-45de-9541-0634b193f7af" PropertyId="3" PropertyType="String"></ExtendedFieldURI>
    <FieldURI FieldURI="item:Body"></FieldURI>
    <FieldURI FieldURI="contacts:DisplayName"></FieldURI>
    <FieldURI FieldURI="contacts:MiddleName"></FieldURI>
    <FieldURI FieldURI="contacts:Generation"></FieldURI>
    <FieldURI FieldURI="item:Categories"></FieldURI>
    <FieldURI FieldURI="item:ParentFolderId"></FieldURI>
    <ExtendedFieldURI DistinguishedPropertySetId="Address" PropertyId="32774" PropertyType="Integer"></ExtendedFieldURI>
    <ExtendedFieldURI DistinguishedPropertySetId="Address" PropertyId="32773" PropertyType="String"></ExtendedFieldURI>
    </AdditionalProperties>
    </ItemShape>

    XML response received from EWS:

    <m:GetItemResponse xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
    <m:ResponseMessages>
    <m:GetItemResponseMessage ResponseClass="Success">
    <m:ResponseCode>NoError</m:ResponseCode>
    <m:Items>
    <t:Contact>
    <t:ItemId Id="AAMkAGYwNWE5ZmViLThhZGYtNGE3OS05MWQ4LTM1MTFiMTkwMTM2MwBGAAAAAAAg39Z8w4YcR6ugDniaGvl2BwBewkBK06i0Q7zYjB5lK+joABnSSOpxAABewkBK06i0Q7zYjB5lK+joAEBUuOdCAAA=" ChangeKey="EQAAABYAAABewkBK06i0Q7zYjB5lK+joAEBUuQeV"></t:ItemId>
    <t:ParentFolderId Id="AAMkAGYwNWE5ZmViLThhZGYtNGE3OS05MWQ4LTM1MTFiMTkwMTM2MwAuAAAAAAAg39Z8w4YcR6ugDniaGvl2AQBewkBK06i0Q7zYjB5lK+joABnSSOpxAAA=" ChangeKey="AQAAAA=="></t:ParentFolderId>
    <t:Body BodyType="Text"></t:Body>
    <t:HasAttachments>false</t:HasAttachments>
    <t:ExtendedProperty>
    <t:ExtendedFieldURI PropertySetId="85899866-bfc2-45de-9541-0634b193f7af" PropertyId="1" PropertyType="String"></t:ExtendedFieldURI>
    <t:Value>9A49F000-223E-42DC-9D94-6223DF308BF1</t:Value>
    </t:ExtendedProperty>
    <t:ExtendedProperty>
    <t:ExtendedFieldURI PropertySetId="85899866-bfc2-45de-9541-0634b193f7af" PropertyId="2" PropertyType="StringArray"></t:ExtendedFieldURI>
    <t:Values>
    <t:Value><ArrayOfanyType i:type="a:ArrayOfPersona" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/GroupwareAgent.Core"><a:Persona><a:EmailID>duser01@ABQDEV01.LOCAL</a:EmailID><a:SystemID>2332A55D-534B-4E06-A4F2-9A7F2488DB19</a:SystemID><a:UserID>duser01</a:UserID></a:Persona></ArrayOfanyType></t:Value>
    <t:Value><ArrayOfanyType i:type="a:ArrayOfFolder" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/GroupwareAgent.Core"><a:Folder><a:FolderType/><a:GroupwareId>AQEuAAADGkRzkKpmEc2byACqAC/EWgMA6FAL/2jtIEWVE9XsU/kumQAcxYOGqgAAAA==</a:GroupwareId><a:Name>Contacts</a:Name><a:ParentId/><a:Path i:nil="true"/></a:Folder></ArrayOfanyType></t:Value>
    </t:Values>
    </t:ExtendedProperty>
    <t:ExtendedProperty>
    <t:ExtendedFieldURI DistinguishedPropertySetId="Address" PropertyId="32774" PropertyType="Integer"></t:ExtendedFieldURI>
    <t:Value>None</t:Value>
    </t:ExtendedProperty>
    <t:ExtendedProperty>
    <t:ExtendedFieldURI DistinguishedPropertySetId="Address" PropertyId="32773" PropertyType="String"></t:ExtendedFieldURI>
    <t:Value>PL10_Company_1</t:Value>
    </t:ExtendedProperty>
    <t:Culture>en-US</t:Culture>
    <t:FileAs>PL10_Company_1</t:FileAs>
    <t:DisplayName>PL10_First_1 PL10_Last_1 </t:DisplayName>
    <t:CompleteName>
    <t:FirstName>PL10_First_1</t:FirstName>
    <t:LastName>PL10_Last_1</t:LastName>
    <t:Initials>P.P.</t:Initials>
    <t:FullName>PL10_First_1 PL10_Last_1 </t:FullName>
    </t:CompleteName>
    <t:CompanyName>PL10_Company_1</t:CompanyName>
    <t:PhoneNumbers>
    <t:Entry Key="BusinessPhone">111-111-1111</t:Entry>
    <t:Entry Key="HomePhone">333-333-3333</t:Entry>
    </t:PhoneNumbers>
    </t:Contact>
    </m:Items>
    </m:GetItemResponseMessage>
    </m:ResponseMessages>
    </m:GetItemResponse>
    Wednesday, July 23, 2008 10:52 PM

Answers

  • Christopher,

    PidLidFileUnderId type is 32 bit integer (PtypInteger32) as documented in the protocol document shown below.  EWS is another interface to Exchange in addition to the Exchange wire protocol (using RPC) from which the protocol documents are based on.   The EWS implementation in Exchange is translating the integer value to it's corresponding FileAsMappingType enumerated value name.   For your needs this is not what you need.

    If you are not already I would work with support to file a bug against Exchange's implementation of EWS.

    <snippet source="[MS-OXPROPS]">

    2.118 PidLidFileUnderId

    Canonical name: PidLidFileUnderId
    Property set: PSETID_Address {00062004-0000-0000-C000-000000000046}
    Property long ID (LID): 0x00008006
    Data type: PtypInteger32, 0x0003
    Area: Contact Properties References: [MS-OXOCNTC]
    Alternate names: dispidFileUnderId

    </snippet>


    Developer Consultant
    Thursday, August 7, 2008 12:47 AM
    Moderator

All replies

  • Thanks for your question clewis!

    We'll investigate this issue and touch base with you with either the answer or questions for clarification.

    Thanks,

    SEBASTIAN CANEVARI - MSFT SEE Protocol Documentation Team
    Thursday, July 24, 2008 4:01 PM
  • Christopher,

    PidLidFileUnderId type is 32 bit integer (PtypInteger32) as documented in the protocol document shown below.  EWS is another interface to Exchange in addition to the Exchange wire protocol (using RPC) from which the protocol documents are based on.   The EWS implementation in Exchange is translating the integer value to it's corresponding FileAsMappingType enumerated value name.   For your needs this is not what you need.

    If you are not already I would work with support to file a bug against Exchange's implementation of EWS.

    <snippet source="[MS-OXPROPS]">

    2.118 PidLidFileUnderId

    Canonical name: PidLidFileUnderId
    Property set: PSETID_Address {00062004-0000-0000-C000-000000000046}
    Property long ID (LID): 0x00008006
    Data type: PtypInteger32, 0x0003
    Area: Contact Properties References: [MS-OXOCNTC]
    Alternate names: dispidFileUnderId

    </snippet>


    Developer Consultant
    Thursday, August 7, 2008 12:47 AM
    Moderator