Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Exchange
2000.active.directory
2000.admin
2000.announcements
2000.app.conversion
2000.applications
2000.clients
2000.clustering
2000.connectivity
2000.development
2000.documentation
2000.general
2000.information.store
2000.interop
2000.kms
2000.misc
2000.protocols
2000.realtime.collabo.
2000.setup
2000.transport
2000.win2000
admin
application.conversion
applications
clients
clustering
connectivity
design
development
misc
mobility
setup
tools
  
 
date: Wed, 23 Apr 2008 09:32:20 -0500,    group: microsoft.public.exchange.development        back       


Problem Retrieving Extended Property using EWS   
I am having difficulty retrieving a custom property using EWS.



I have created a custom meeting type which includes a custom property called 
MyCustomProp.  Here are the details of the property (from Outlook Spy):







Tag num: 0x83A9001E

Tag sym: 0x83A9

Type: PT_STRING8

Value: testing



GUID: {00020329-0000-0000-C000-000000000046}

Kind: MNID_STRING

ID: MyCustomProp

OOM:





I am trying to retrieve the property using the following code.  The calendar 
item is properly retrieved, but MyCustomProp is not, even though the 
response returns "success"







        private string GetMeetingBody(ExchangeServiceBinding binding, 
CalendarItemType meeting)

        {

            string meetingBody = string.Empty;

            CalendarItemType temp = null;



            GetItemType getItemRequest = new GetItemType();



            getItemRequest.ItemShape = new ItemResponseShapeType();

            // AllProperties on a GetItem request WILL return

            // the message body.

            getItemRequest.ItemShape.BaseShape =

                DefaultShapeNamesType.AllProperties;

            getItemRequest.ItemShape.IncludeMimeContent = true;



            PathToExtendedFieldType PV = new PathToExtendedFieldType();

            PV.DistinguishedPropertySetId = 
DistinguishedPropertySetType.PublicStrings;

            PV.DistinguishedPropertySetIdSpecified = true;

            PV.PropertyType = MapiPropertyTypeType.String;

            PV.PropertyName = "MyCustomProp";



            getItemRequest.ItemIds = new ItemIdType[1];

            getItemRequest.ItemIds[0] = (BaseItemIdType)meeting.ItemId;



            getItemRequest.ItemShape.AdditionalProperties = new 
BasePathToElementType[1];

            getItemRequest.ItemShape.AdditionalProperties[0] = PV;



            // Here is the call to exchange.

            GetItemResponseType getItemResponse =

                binding.GetItem(getItemRequest);



            XMLUtilities xm = new XMLUtilities();

            xm.CreateXmlMessageTextFile(getItemRequest, getItemResponse);



            ItemInfoResponseMessageType getItemResponseMessage =

                getItemResponse.ResponseMessages.Items[0]

                as ItemInfoResponseMessageType;



            if (getItemResponseMessage != null)

            {

                if (getItemResponseMessage.ResponseClass ==

                    ResponseClassType.Success

                    && getItemResponseMessage.Items.Items != null

                    && getItemResponseMessage.Items.Items.Length > 0)

                {

                    temp = 
(CalendarItemType)getItemResponseMessage.Items.Items[0];



                    ExtendedPropertyType[] ex = temp.ExtendedProperty;



                    if (temp.Body != null)

                    {

                        meetingBody = temp.Body.Value;

                    }



                }

            }



            return meetingBody;

        }

    }







Here are the actual XML bodies of the request and response:





<?xml version="1.0" encoding="utf-8"?>

<GetItemType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <ItemShape 
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

    <BaseShape 
xmlns="http://schemas.microsoft.com/exchange/services/2006/types">AllProperties</BaseShape>

    <AdditionalProperties 
xmlns="http://schemas.microsoft.com/exchange/services/2006/types">

      <ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" 
PropertyName="MyCustomProp" PropertyType="String" />

    </AdditionalProperties>

  </ItemShape>

  <ItemIds 
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

    <ItemId 
Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwBGAAAAAAArqh3gzoq6QYzZq9fCpW5pBwCNGYKWK/ImQ6/4EHEK76flAAAa+nVDAACNGYKWK/ImQ6/4EHEK76flAAAwXb+dAAA=" 
ChangeKey="DwAAABYAAACNGYKWK/ImQ6/4EHEK76flAAAwXhFJ" 
xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />

  </ItemIds>

</GetItemType>



<?xml version="1.0" encoding="utf-8"?>

<GetItemResponseType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <ResponseMessages 
xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

    <GetItemResponseMessage ResponseClass="Success">

      <ResponseCode>NoError</ResponseCode>

      <Items>

        <CalendarItem 
xmlns="http://schemas.microsoft.com/exchange/services/2006/types">

          <ItemId 
Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwBGAAAAAAArqh3gzoq6QYzZq9fCpW5pBwCNGYKWK/ImQ6/4EHEK76flAAAa+nVDAACNGYKWK/ImQ6/4EHEK76flAAAwXb+dAAA=" 
ChangeKey="DwAAABYAAACNGYKWK/ImQ6/4EHEK76flAAAwXhFJ" />

          <ParentFolderId 
Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwAuAAAAAAArqh3gzoq6QYzZq9fCpW5pAQCNGYKWK/ImQ6/4EHEK76flAAAa+nVDAAA=" 
ChangeKey="AQAAAA==" />

          <ItemClass>IPM.Appointment</ItemClass>

          <Subject>Updated: Video Meeting</Subject>

          <Sensitivity>Normal</Sensitivity>

          <Body BodyType="HTML"><html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<meta name="Generator" content="Microsoft Exchange Server">

<!-- converted from rtf -->

<style>.EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: 
#800000 2px solid; }</style>

</head>

<body>

<font face="Arial, sans-serif" size="2">

<div>When: Wednesday, April 23, 2008 5:00 PM-5:30 PM (GMT-06:00) 
Central Time (US &amp; Canada).</div>

<div>&nbsp;</div>

<div>*~*~*~*~*~*~*~*~*~*</div>

<div>&nbsp;</div>

<div>This meeting will be held on my Video system</div>

<div>&nbsp;</div>

<div>The number is: 7038</div>

<div>&nbsp;</div>

</font>

</body>

</html>

</Body>

          <DateTimeReceived>2008-04-23T12:45:16Z</DateTimeReceived>

          <Size>1807</Size>

          <Importance>Normal</Importance>

          <IsSubmitted>false</IsSubmitted>

          <IsDraft>false</IsDraft>

          <IsFromMe>false</IsFromMe>

          <IsResend>false</IsResend>

          <IsUnmodified>false</IsUnmodified>

          <DateTimeSent>2008-04-23T12:45:16Z</DateTimeSent>

          <DateTimeCreated>2008-04-23T12:45:16Z</DateTimeCreated>

          <ResponseObjects>

            <AcceptItem />

            <TentativelyAcceptItem />

            <DeclineItem />

            <ReplyToItem />

            <ReplyAllToItem />

            <ForwardItem />

          </ResponseObjects>

          <ReminderDueBy>2008-04-23T22:00:00Z</ReminderDueBy>

          <ReminderIsSet>true</ReminderIsSet>

          <ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart>

          <DisplayCc />

          <DisplayTo>Administrator; Mike T</DisplayTo>

          <HasAttachments>false</HasAttachments>

          <Culture>en-US</Culture>

          <EffectiveRights>

            <CreateAssociated>false</CreateAssociated>

            <CreateContents>false</CreateContents>

            <CreateHierarchy>false</CreateHierarchy>

            <Delete>true</Delete>

            <Modify>true</Modify>

            <Read>true</Read>

          </EffectiveRights>

          <LastModifiedTime>2008-04-23T14:08:01Z</LastModifiedTime>

          <UID>040000008200E00074C5B7101A82E008000000008095C2F715A5C801000000000000000010000000227C2C1C87FDAE418ACCC53790EA0A17</UID>

          <DateTimeStamp>2008-04-23T14:08:00Z</DateTimeStamp>

          <Start>2008-04-23T22:00:00Z</Start>

          <End>2008-04-23T22:30:00Z</End>

          <IsAllDayEvent>false</IsAllDayEvent>

          <LegacyFreeBusyStatus>Tentative</LegacyFreeBusyStatus>

          <Location />

          <IsMeeting>true</IsMeeting>

          <IsCancelled>false</IsCancelled>

          <IsRecurring>false</IsRecurring>

          <MeetingRequestWasSent>false</MeetingRequestWasSent>

          <IsResponseRequested>true</IsResponseRequested>

          <CalendarItemType>Single</CalendarItemType>

          <MyResponseType>NoResponseReceived</MyResponseType>

          <Organizer>

            <Mailbox>

              <Name>Administrator</Name>

              <EmailAddress>Administrator@siptest4.austin.p.com</EmailAddress>

              <RoutingType>SMTP</RoutingType>

            </Mailbox>

          </Organizer>

          <RequiredAttendees>

            <Attendee>

              <Mailbox>

                <Name>Administrator</Name>

                <EmailAddress>Administrator@siptest4.austin.p.com</EmailAddress>

                <RoutingType>SMTP</RoutingType>

              </Mailbox>

              <ResponseType>Unknown</ResponseType>

            </Attendee>

            <Attendee>

              <Mailbox>

                <Name>MikeT</Name>

                <EmailAddress>miket@siptest4.austin.p.com</EmailAddress>

                <RoutingType>SMTP</RoutingType>

              </Mailbox>

              <ResponseType>Unknown</ResponseType>

            </Attendee>

          </RequiredAttendees>

          <ConflictingMeetingCount>0</ConflictingMeetingCount>

          <AdjacentMeetingCount>0</AdjacentMeetingCount>

          <Duration>PT30M</Duration>

          <TimeZone>(GMT-06:00) Central Time (US & Canada)</TimeZone>

          <AppointmentSequenceNumber>2</AppointmentSequenceNumber>

          <AppointmentState>3</AppointmentState>

          <ConferenceType>0</ConferenceType>

          <AllowNewTimeProposal>true</AllowNewTimeProposal>

          <IsOnlineMeeting>false</IsOnlineMeeting>

          <NetShowUrl />

        </CalendarItem>

      </Items>

    </GetItemResponseMessage>

  </ResponseMessages>

</GetItemResponseType>





I am expecting the MyCustomProp item to appear in the response.



Help will be appreciated!



Thanks,



Mike
date: Wed, 23 Apr 2008 09:32:20 -0500   author:   Michael

Re: Problem Retrieving Extended Property using EWS   
One other detail ... the custom property (MyCustomProp) was created in the 
AppointmentItem in an Outlook add-in using the method:

Outlook.AppointmentItem.ItemProperties.Add("MyCustomProp", 
Microsoft.Office.Interop.Outlook.OlUserPropertyType.olText.false,null);

Mike


"Michael"  wrote in message 
news:%231ZKY7UpIHA.3568@TK2MSFTNGP04.phx.gbl...
>I am having difficulty retrieving a custom property using EWS.
>
>
>
> I have created a custom meeting type which includes a custom property 
> called MyCustomProp.  Here are the details of the property (from Outlook 
> Spy):
>
>
>
>
>
>
>
> Tag num: 0x83A9001E
>
> Tag sym: 0x83A9
>
> Type: PT_STRING8
>
> Value: testing
>
>
>
> GUID: {00020329-0000-0000-C000-000000000046}
>
> Kind: MNID_STRING
>
> ID: MyCustomProp
>
> OOM:
>
>
>
>
>
> I am trying to retrieve the property using the following code.  The 
> calendar item is properly retrieved, but MyCustomProp is not, even though 
> the response returns "success"
>
>
>
>
>
>
>
>        private string GetMeetingBody(ExchangeServiceBinding binding, 
> CalendarItemType meeting)
>
>        {
>
>            string meetingBody = string.Empty;
>
>            CalendarItemType temp = null;
>
>
>
>            GetItemType getItemRequest = new GetItemType();
>
>
>
>            getItemRequest.ItemShape = new ItemResponseShapeType();
>
>            // AllProperties on a GetItem request WILL return
>
>            // the message body.
>
>            getItemRequest.ItemShape.BaseShape =
>
>                DefaultShapeNamesType.AllProperties;
>
>            getItemRequest.ItemShape.IncludeMimeContent = true;
>
>
>
>            PathToExtendedFieldType PV = new PathToExtendedFieldType();
>
>            PV.DistinguishedPropertySetId = 
> DistinguishedPropertySetType.PublicStrings;
>
>            PV.DistinguishedPropertySetIdSpecified = true;
>
>            PV.PropertyType = MapiPropertyTypeType.String;
>
>            PV.PropertyName = "MyCustomProp";
>
>
>
>            getItemRequest.ItemIds = new ItemIdType[1];
>
>            getItemRequest.ItemIds[0] = (BaseItemIdType)meeting.ItemId;
>
>
>
>            getItemRequest.ItemShape.AdditionalProperties = new 
> BasePathToElementType[1];
>
>            getItemRequest.ItemShape.AdditionalProperties[0] = PV;
>
>
>
>            // Here is the call to exchange.
>
>            GetItemResponseType getItemResponse =
>
>                binding.GetItem(getItemRequest);
>
>
>
>            XMLUtilities xm = new XMLUtilities();
>
>            xm.CreateXmlMessageTextFile(getItemRequest, getItemResponse);
>
>
>
>            ItemInfoResponseMessageType getItemResponseMessage =
>
>                getItemResponse.ResponseMessages.Items[0]
>
>                as ItemInfoResponseMessageType;
>
>
>
>            if (getItemResponseMessage != null)
>
>            {
>
>                if (getItemResponseMessage.ResponseClass ==
>
>                    ResponseClassType.Success
>
>                    && getItemResponseMessage.Items.Items != null
>
>                    && getItemResponseMessage.Items.Items.Length > 0)
>
>                {
>
>                    temp = 
> (CalendarItemType)getItemResponseMessage.Items.Items[0];
>
>
>
>                    ExtendedPropertyType[] ex = temp.ExtendedProperty;
>
>
>
>                    if (temp.Body != null)
>
>                    {
>
>                        meetingBody = temp.Body.Value;
>
>                    }
>
>
>
>                }
>
>            }
>
>
>
>            return meetingBody;
>
>        }
>
>    }
>
>
>
>
>
>
>
> Here are the actual XML bodies of the request and response:
>
>
>
>
>
> <?xml version="1.0" encoding="utf-8"?>
>
> <GetItemType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>
>  <ItemShape 
> xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
>
>    <BaseShape 
> xmlns="http://schemas.microsoft.com/exchange/services/2006/types">AllProperties</BaseShape>
>
>    <AdditionalProperties 
> xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
>
>      <ExtendedFieldURI DistinguishedPropertySetId="PublicStrings" 
> PropertyName="MyCustomProp" PropertyType="String" />
>
>    </AdditionalProperties>
>
>  </ItemShape>
>
>  <ItemIds 
> xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
>
>    <ItemId 
> Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwBGAAAAAAArqh3gzoq6QYzZq9fCpW5pBwCNGYKWK/ImQ6/4EHEK76flAAAa+nVDAACNGYKWK/ImQ6/4EHEK76flAAAwXb+dAAA=" 
> ChangeKey="DwAAABYAAACNGYKWK/ImQ6/4EHEK76flAAAwXhFJ" 
> xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
>
>  </ItemIds>
>
> </GetItemType>
>
>
>
> <?xml version="1.0" encoding="utf-8"?>
>
> <GetItemResponseType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>
>  <ResponseMessages 
> xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
>
>    <GetItemResponseMessage ResponseClass="Success">
>
>      <ResponseCode>NoError</ResponseCode>
>
>      <Items>
>
>        <CalendarItem 
> xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
>
>          <ItemId 
> Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwBGAAAAAAArqh3gzoq6QYzZq9fCpW5pBwCNGYKWK/ImQ6/4EHEK76flAAAa+nVDAACNGYKWK/ImQ6/4EHEK76flAAAwXb+dAAA=" 
> ChangeKey="DwAAABYAAACNGYKWK/ImQ6/4EHEK76flAAAwXhFJ" />
>
>          <ParentFolderId 
> Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwAuAAAAAAArqh3gzoq6QYzZq9fCpW5pAQCNGYKWK/ImQ6/4EHEK76flAAAa+nVDAAA=" 
> ChangeKey="AQAAAA==" />
>
>          <ItemClass>IPM.Appointment</ItemClass>
>
>          <Subject>Updated: Video Meeting</Subject>
>
>          <Sensitivity>Normal</Sensitivity>
>
>          <Body BodyType="HTML"><html>
>
> <head>
>
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
>
> <meta name="Generator" content="Microsoft Exchange Server">
>
> <!-- converted from rtf -->
>
> <style>.EmailQuote { margin-left: 1pt; padding-left: 4pt; 
> border-left: #800000 2px solid; }</style>
>
> </head>
>
> <body>
>
> <font face="Arial, sans-serif" size="2">
>
> <div>When: Wednesday, April 23, 2008 5:00 PM-5:30 PM (GMT-06:00) 
> Central Time (US &amp; Canada).</div>
>
> <div>&nbsp;</div>
>
> <div>*~*~*~*~*~*~*~*~*~*</div>
>
> <div>&nbsp;</div>
>
> <div>This meeting will be held on my Video system</div>
>
> <div>&nbsp;</div>
>
> <div>The number is: 7038</div>
>
> <div>&nbsp;</div>
>
> </font>
>
> </body>
>
> </html>
>
> </Body>
>
>          <DateTimeReceived>2008-04-23T12:45:16Z</DateTimeReceived>
>
>          <Size>1807</Size>
>
>          <Importance>Normal</Importance>
>
>          <IsSubmitted>false</IsSubmitted>
>
>          <IsDraft>false</IsDraft>
>
>          <IsFromMe>false</IsFromMe>
>
>          <IsResend>false</IsResend>
>
>          <IsUnmodified>false</IsUnmodified>
>
>          <DateTimeSent>2008-04-23T12:45:16Z</DateTimeSent>
>
>          <DateTimeCreated>2008-04-23T12:45:16Z</DateTimeCreated>
>
>          <ResponseObjects>
>
>            <AcceptItem />
>
>            <TentativelyAcceptItem />
>
>            <DeclineItem />
>
>            <ReplyToItem />
>
>            <ReplyAllToItem />
>
>            <ForwardItem />
>
>          </ResponseObjects>
>
>          <ReminderDueBy>2008-04-23T22:00:00Z</ReminderDueBy>
>
>          <ReminderIsSet>true</ReminderIsSet>
>
>          <ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart>
>
>          <DisplayCc />
>
>          <DisplayTo>Administrator; Mike T</DisplayTo>
>
>          <HasAttachments>false</HasAttachments>
>
>          <Culture>en-US</Culture>
>
>          <EffectiveRights>
>
>            <CreateAssociated>false</CreateAssociated>
>
>            <CreateContents>false</CreateContents>
>
>            <CreateHierarchy>false</CreateHierarchy>
>
>            <Delete>true</Delete>
>
>            <Modify>true</Modify>
>
>            <Read>true</Read>
>
>          </EffectiveRights>
>
>          <LastModifiedTime>2008-04-23T14:08:01Z</LastModifiedTime>
>
> 
> <UID>040000008200E00074C5B7101A82E008000000008095C2F715A5C801000000000000000010000000227C2C1C87FDAE418ACCC53790EA0A17</UID>
>
>          <DateTimeStamp>2008-04-23T14:08:00Z</DateTimeStamp>
>
>          <Start>2008-04-23T22:00:00Z</Start>
>
>          <End>2008-04-23T22:30:00Z</End>
>
>          <IsAllDayEvent>false</IsAllDayEvent>
>
>          <LegacyFreeBusyStatus>Tentative</LegacyFreeBusyStatus>
>
>          <Location />
>
>          <IsMeeting>true</IsMeeting>
>
>          <IsCancelled>false</IsCancelled>
>
>          <IsRecurring>false</IsRecurring>
>
>          <MeetingRequestWasSent>false</MeetingRequestWasSent>
>
>          <IsResponseRequested>true</IsResponseRequested>
>
>          <CalendarItemType>Single</CalendarItemType>
>
>          <MyResponseType>NoResponseReceived</MyResponseType>
>
>          <Organizer>
>
>            <Mailbox>
>
>              <Name>Administrator</Name>
>
> 
> <EmailAddress>Administrator@siptest4.austin.p.com</EmailAddress>
>
>              <RoutingType>SMTP</RoutingType>
>
>            </Mailbox>
>
>          </Organizer>
>
>          <RequiredAttendees>
>
>            <Attendee>
>
>              <Mailbox>
>
>                <Name>Administrator</Name>
>
> 
> <EmailAddress>Administrator@siptest4.austin.p.com</EmailAddress>
>
>                <RoutingType>SMTP</RoutingType>
>
>              </Mailbox>
>
>              <ResponseType>Unknown</ResponseType>
>
>            </Attendee>
>
>            <Attendee>
>
>              <Mailbox>
>
>                <Name>MikeT</Name>
>
>                <EmailAddress>miket@siptest4.austin.p.com</EmailAddress>
>
>                <RoutingType>SMTP</RoutingType>
>
>              </Mailbox>
>
>              <ResponseType>Unknown</ResponseType>
>
>            </Attendee>
>
>          </RequiredAttendees>
>
>          <ConflictingMeetingCount>0</ConflictingMeetingCount>
>
>          <AdjacentMeetingCount>0</AdjacentMeetingCount>
>
>          <Duration>PT30M</Duration>
>
>          <TimeZone>(GMT-06:00) Central Time (US & Canada)</TimeZone>
>
>          <AppointmentSequenceNumber>2</AppointmentSequenceNumber>
>
>          <AppointmentState>3</AppointmentState>
>
>          <ConferenceType>0</ConferenceType>
>
>          <AllowNewTimeProposal>true</AllowNewTimeProposal>
>
>          <IsOnlineMeeting>false</IsOnlineMeeting>
>
>          <NetShowUrl />
>
>        </CalendarItem>
>
>      </Items>
>
>    </GetItemResponseMessage>
>
>  </ResponseMessages>
>
> </GetItemResponseType>
>
>
>
>
>
> I am expecting the MyCustomProp item to appear in the response.
>
>
>
> Help will be appreciated!
>
>
>
> Thanks,
>
>
>
> Mike
>
>
>
date: Wed, 23 Apr 2008 12:24:11 -0500   author:   Michael

Re: Problem Retrieving Extended Property using EWS   
On Apr 23, 10:24 pm, "Michael"  wrote:
> One other detail ... the custom property (MyCustomProp) was created in the> AppointmentItem in an Outlook add-in using the method:
>
> Outlook.AppointmentItem.ItemProperties.Add("MyCustomProp",
> Microsoft.Office.Interop.Outlook.OlUserPropertyType.olText.false,null);
>
> Mike
>
> "Michael"  wrote in message
>
> news:%231ZKY7UpIHA.3568@TK2MSFTNGP04.phx.gbl...
>
>
>
> >I am having difficulty retrieving a custom property using EWS.
>
> > I have created a custom meeting type which includes a custom property
> > called MyCustomProp.  Here are the details of the property (from Outlook
> > Spy):
>
> > Tag num: 0x83A9001E
>
> > Tag sym: 0x83A9
>
> > Type: PT_STRING8
>
> > Value: testing
>
> > GUID: {00020329-0000-0000-C000-000000000046}
>
> > Kind: MNID_STRING
>
> > ID: MyCustomProp
>
> > OOM:
>
> > I am trying to retrieve the property using the following code.  The
> > calendar item is properly retrieved, but MyCustomProp is not, even though
> > the response returns "success"
>
> >        private string GetMeetingBody(ExchangeServiceBinding binding,
> > CalendarItemType meeting)
>
> >        {
>
> >            string meetingBody = string.Empty;
>
> >            CalendarItemType temp = null;
>
> >            GetItemType getItemRequest = new GetItemType();> >            getItemRequest.ItemShape = new ItemResponseShapeType();
>
> >            // AllProperties on a GetItem request WILL return> >            // the message body.
>
> >            getItemRequest.ItemShape.BaseShape =
>
> >                DefaultShapeNamesType.AllProperties;
>
> >            getItemRequest.ItemShape.IncludeMimeContent = true;
>
> >            PathToExtendedFieldType PV = new PathToExtendedFieldType();
>
> >            PV.DistinguishedPropertySetId =
> > DistinguishedPropertySetType.PublicStrings;
>
> >            PV.DistinguishedPropertySetIdSpecified = true;
>
> >            PV.PropertyType = MapiPropertyTypeType.String;
>
> >            PV.PropertyName = "MyCustomProp";
>
> >            getItemRequest.ItemIds = new ItemIdType[1];
>
> >            getItemRequest.ItemIds[0] = (BaseItemIdType)meeting.ItemId;
>
> >            getItemRequest.ItemShape.AdditionalProperties = new
> > BasePathToElementType[1];
>
> >            getItemRequest.ItemShape.AdditionalProperties[0] = PV;
>
> >            // Here is the call to exchange.
>
> >            GetItemResponseType getItemResponse =
>
> >                binding.GetItem(getItemRequest);
>
> >            XMLUtilities xm = new XMLUtilities();
>
> >            xm.CreateXmlMessageTextFile(getItemRequest, getItemResponse);
>
> >            ItemInfoResponseMessageType getItemResponseMessage =
>
> >                getItemResponse.ResponseMessages.Items[0]> >                as ItemInfoResponseMessageType;
>
> >            if (getItemResponseMessage != null)
>
> >            {
>
> >                if (getItemResponseMessage.ResponseClass ==
>
> >                    ResponseClassType.Success
>
> >                    && getItemResponseMessage.Items.Items != null
>
> >                    && getItemResponseMessage.Items.Items.Length > 0)
>
> >                {
>
> >                    temp =
> > (CalendarItemType)getItemResponseMessage.Items.Items[0];
>
> >                    ExtendedPropertyType[] ex = temp.ExtendedProperty;
>
> >                    if (temp.Body != null)
>
> >                    {
>
> >                        meetingBody = temp.Body.Value;
>
> >                    }
>
> >                }
>
> >            }
>
> >            return meetingBody;
>
> >        }
>
> >    }
>
> > Here are the actual XML bodies of the request and response:
>
> > <?xml version="1.0" encoding="utf-8"?>
>
> > <GetItemType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>
> >  <ItemShape
> > xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
>
> >    <BaseShape
> > xmlns="http://schemas.microsoft.com/exchange/services/2006/types">AllProperties</BaseShape>
>
> >    <AdditionalProperties
> > xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
>
> >      <ExtendedFieldURI DistinguishedPropertySetId="PublicStrings> > PropertyName="MyCustomProp" PropertyType="String" />
>
> >    </AdditionalProperties>
>
> >  </ItemShape>
>
> >  <ItemIds
> > xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
>
> >    <ItemId
> > Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwBGAAAAAAArqh3gzoq­6QYzZq9fCpW5pBwCNGYKWK/ImQ6/4EHEK76flAAAa鵐쀀⍆悥諼覐М䊻䀀గ­琀="
> > ChangeKey="DwAAABYAAACNGYKWK/ImQ6/4EHEK76flAAAwXhFJ"
> > xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />
>
> >  </ItemIds>
>
> > </GetItemType>
>
> > <?xml version="1.0" encoding="utf-8"?>
>
> > <GetItemResponseType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>
> >  <ResponseMessages
> > xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
>
> >    <GetItemResponseMessage ResponseClass="Success">
>
> >      <ResponseCode>NoError</ResponseCode>
>
> >      <Items>
>
> >        <CalendarItem
> > xmlns="http://schemas.microsoft.com/exchange/services/2006/types">
>
> >          <ItemId
> > Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwBGAAAAAAArqh3gzoq­6QYzZq9fCpW5pBwCNGYKWK/ImQ6/4EHEK76flAAAa鵐쀀⍆悥諼覐М䊻䀀గ­琀="
> > ChangeKey="DwAAABYAAACNGYKWK/ImQ6/4EHEK76flAAAwXhFJ" />
>
> >          <ParentFolderId
> > Id="AAMkAGY5MGE3MDE5LTZjMjEtNGFjZS05NjdkLWZkOWY5NTY3MjEzNwAuAAAAAAArqh3gzoq­6QYzZq9fCpW5pAQCNGYKWK/ImQ6/4EHEK76flAAAa鵐쀀="
> > ChangeKey="AQAAAA==" />
>
> >          <ItemClass>IPM.Appointment</ItemClass>
>
> >          <Subject>Updated: Video Meeting</Subject>
>
> >          <Sensitivity>Normal</Sensitivity>
>
> >          <Body BodyType="HTML"><html>
>
> > <head>
>
> > <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
>
> > <meta name="Generator" content="Microsoft Exchange Server">
>
> > <!-- converted from rtf -->
>
> > <style>.EmailQuote { margin-left: 1pt; padding-left: 4pt;
> > border-left: #800000 2px solid; }</style>
>
> > </head>
>
> > <body>
>
> > <font face="Arial, sans-serif" size="2">
>
> > <div>When: Wednesday, April 23, 2008 5:00 PM-5:30 PM (GMT-06:00)
> > Central Time (US &amp; Canada).</div>
>
> > <div>&nbsp;</div>
>
> > <div>*~*~*~*~*~*~*~*~*~*</div>
>
> > <div>&nbsp;</div>
>
> > <div>This meeting will be held on my Video system</div>
>
> > <div>&nbsp;</div>
>
> > <div>The number is: 7038</div>
>
> > <div>&nbsp;</div>
>
> > </font>
>
> > </body>
>
> > </html>
>
> > </Body>
>
> >          <DateTimeReceived>2008-04-23T12:45:16Z</DateTimeReceived>
>
> >          <Size>1807</Size>
>
> >          <Importance>Normal</Importance>
>
> >          <IsSubmitted>false</IsSubmitted>
>
> >          <IsDraft>false</IsDraft>
>
> >          <IsFromMe>false</IsFromMe>
>
> >          <IsResend>false</IsResend>
>
> >          <IsUnmodified>false</IsUnmodified>
>
> >          <DateTimeSent>2008-04-23T12:45:16Z</DateTimeSent>
>
> >          <DateTimeCreated>2008-04-23T12:45:16Z</DateTimeCreated>
>
> >          <ResponseObjects>
>
> >            <AcceptItem />
>
> >            <TentativelyAcceptItem />
>
> >            <DeclineItem />
>
> >            <ReplyToItem />
>
> >            <ReplyAllToItem />
>
> >            <ForwardItem />
>
> >          </ResponseObjects>
>
> >          <ReminderDueBy>2008-04-23T22:00:00Z</ReminderDueBy>
>
> >          <ReminderIsSet>true</ReminderIsSet>
>
> >          <ReminderMinutesBeforeStart>15</ReminderMinutesBeforeStart>
>
> >          <DisplayCc />
>
> >          <DisplayTo>Administrator; Mike T</DisplayTo>
>
> >          <HasAttachments>false</HasAttachments>
>
> >          <Culture>en-US</Culture>
>
> >          <EffectiveRights>
>
> >            <CreateAssociated>false</CreateAssociated>
>
> >            <CreateContents>false</CreateContents>
>
> >            <CreateHierarchy>false</CreateHierarchy>
>
> >            <Delete>true</Delete>
>
> >            <Modify>true</Modify>
>
> >            <Read>true</Read>
>
> >          </EffectiveRights>
>
> >          <LastModifiedTime>2008-04-23T14:08:01Z</LastModifiedTime>
>
> > <UID>040000008200E00074C5B7101A82E008000000008095C2F715A5C80100000000000000­0010000000227C2C1C87FDAE418ACCC53790EA0A17</UID>
>
> >          <DateTimeStamp>2008-04-23T14:08:00Z</DateTimeStamp>
>
> >          <Start>2008-04-23T22:00:00Z</Start>
>
> >          <End>2008-04-23T22:30:00Z</End>
>
> >          <IsAllDayEvent>false</IsAllDayEvent>
>
> >          <LegacyFreeBusyStatus>Tentative</LegacyFreeBusyStatus> >          <Location />
>
> >          <IsMeeting>true</IsMeeting>
>
> >          <IsCancelled>false</IsCancelled>
>
> >          <IsRecurring>false</IsRecurring>
>
> >          <MeetingRequestWasSent>false</MeetingRequestWasSent>
>
> >          <IsResponseRequested>true</IsResponseRequested>
>
> >          <CalendarItemType>Single</CalendarItemType>
>
> >          <MyResponseType>NoResponseReceived</MyResponseType>
>
> >          <Organizer>
>
> >            <Mailbox>
>
> >              <Name>Administrator</Name>
>
> > <EmailAddress>Administra...@siptest4.austin.p.com</EmailAddress>
>
> >              <RoutingType>SMTP</RoutingType>
>
> >            </Mailbox>
>
> >          </Organizer>
>
> >          <RequiredAttendees>
>
> >            <Attendee>
>
> >              <Mailbox>
>
> >                <Name>Administrator</Name>
>
> > <EmailAddress>Administra...@siptest4.austin.p.com</EmailAddress>
>
> >                <RoutingType>SMTP</RoutingType>
>
> >              </Mailbox>
>
> >              <ResponseType>Unknown</ResponseType>
>
> >            </Attendee>
>
> >            <Attendee>
>
> >              <Mailbox>
>
> >                <Name>MikeT</Name>
>
> >                <EmailAddress>mi...@siptest4.austin.p.com</EmailAddress>
>
> >                <RoutingType>SMTP</RoutingType>
>
> >              </Mailbox>
>
> >              <ResponseType>Unknown</ResponseType>
>
> >            </Attendee>
>
> >          </RequiredAttendees>
>
> >          <ConflictingMeetingCount>0</ConflictingMeetingCount>
>
> >          <AdjacentMeetingCount>0</AdjacentMeetingCount>
>
> >          <Duration>PT30M</Duration>
>
> >          <TimeZone>(GMT-06:00) Central Time (US & Canada)</TimeZone>
>
> >          <AppointmentSequenceNumber>2</AppointmentSequenceNumber>
>
> >          <AppointmentState>3</AppointmentState>
>
> >          <ConferenceType>0</ConferenceType>
>
> >          <AllowNewTimeProposal>true</AllowNewTimeProposal>
>
> >          <IsOnlineMeeting>false</IsOnlineMeeting>
>
> >          <NetShowUrl />
>
> >        </CalendarItem>
>
> >      </Items>
>
> >    </GetItemResponseMessage>
>
> >  </ResponseMessages>
>
> > </GetItemResponseType>
>
> > I am expecting the MyCustomProp item to appear in the response.
>
> > Help will be appreciated!
>
> > Thanks,
>
> > Mike- Hide quoted text -
>
> - Show quoted text -

Hi Mike,
I am trying to access the lastmodified property of an appointment in
Exchange Store by using an extended property provision.Can you please
let me know how this can be done to implement my requirement.?

Thanks,
Pavithra
date: Thu, 29 May 2008 00:24:18 -0700 (PDT)   author:   vsp

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us