Question

I have done a bit of searching and am unable to find a list of legal properties for use with the FindItem <Restriction> element, specificially what can I use in

<IsEqualTo><FieldURI FieldURI="???"></IsEqualTo>
that will not result in a ErrorUnsupportedPathForQuery error?

(Using EWS Exchange2010_SP1)

Was it helpful?

Solution

I wrote an integration test which performs a FindItem using an exists filter for each of the UnindexedFieldURIType. Sorry private project, can't post code.

These fields work:

  • ITEM_BODY
  • CONVERSATION_GLOBAL_UNIQUE_UNREAD_SENDERS
  • MESSAGE_IS_DELIVERY_RECEIPT_REQUESTED
  • ITEM_LAST_MODIFIED_NAME
  • CONVERSATION_GLOBAL_UNIQUE_SENDERS
  • CONTACTS_CHILDREN
  • FOLDER_CHILD_FOLDER_COUNT
  • CONVERSATION_FLAG_STATUS
  • CONTACTS_INITIALS
  • ITEM_INTERNET_MESSAGE_HEADERS
  • CONTACTS_MILEAGE
  • TASK_STATUS
  • CONTACTS_FILE_AS
  • CONVERSATION_MESSAGE_COUNT
  • ITEM_DATE_TIME_CREATED
  • CONVERSATION_LAST_DELIVERY_TIME
  • CALENDAR_IS_RECURRING
  • TASK_OWNER
  • CONTACTS_DISPLAY_NAME
  • TASK_ASSIGNED_TIME
  • CONVERSATION_GLOBAL_FLAG_STATUS
  • CONTACTS_FILE_AS_MAPPING
  • CONVERSATION_SIZE
  • CONTACTS_OFFICE_LOCATION
  • CALENDAR_APPOINTMENT_SEQUENCE_NUMBER
  • CALENDAR_CONFERENCE_TYPE
  • CALENDAR_MEETING_WORKSPACE_URL
  • CALENDAR_MEETING_REQUEST_WAS_SENT
  • CONTACTS_GIVEN_NAME
  • CONVERSATION_HAS_ATTACHMENTS
  • MESSAGE_RECEIVED_BY
  • FOLDER_DISPLAY_NAME
  • CONVERSATION_GLOBAL_SIZE
  • CONTACTS_BUSINESS_HOME_PAGE
  • TASK_COMPANIES
  • FOLDER_TOTAL_COUNT
  • ITEM_DATE_TIME_SENT
  • CALENDAR_APPOINTMENT_REPLY_TIME
  • ITEM_SENSITIVITY
  • TASK_IS_RECURRING
  • ITEM_DATE_TIME_RECEIVED
  • CONTACTS_MIDDLE_NAME
  • CONTACTS_JOB_TITLE
  • MESSAGE_FROM
  • CONTACTS_PROFESSION
  • ITEM_ITEM_CLASS
  • CONTACTS_BIRTHDAY
  • MEETING_RESPONSE_TYPE
  • FOLDER_FOLDER_CLASS
  • CONTACTS_WEDDING_ANNIVERSARY
  • MESSAGE_IS_RESPONSE_REQUESTED
  • TASK_DELEGATION_STATE
  • CALENDAR_APPOINTMENT_STATE
  • MESSAGE_RECEIVED_REPRESENTING
  • CONVERSATION_GLOBAL_MESSAGE_COUNT
  • CALENDAR_MY_RESPONSE_TYPE
  • TASK_BILLING_INFORMATION
  • ITEM_CATEGORIES
  • MESSAGE_INTERNET_MESSAGE_ID
  • ITEM_SUBJECT
  • FOLDER_UNREAD_COUNT
  • CALENDAR_NET_SHOW_URL
  • ITEM_IMPORTANCE
  • ITEM_CONVERSATION_ID
  • TASK_IS_TEAM_TASK
  • TASK_DELEGATOR
  • CONTACTS_HAS_PICTURE
  • CALENDAR_ORGANIZER
  • MESSAGE_IS_READ_RECEIPT_REQUESTED
  • TASK_MILEAGE
  • CONTACTS_MANAGER
  • CONTACTS_POSTAL_ADDRESS_INDEX
  • ITEM_DISPLAY_TO
  • CONVERSATION_ITEM_CLASSES
  • TASK_ACTUAL_WORK
  • TASK_TOTAL_WORK
  • CONTACTS_ASSISTANT_NAME
  • CONVERSATION_GLOBAL_UNREAD_COUNT
  • CALENDAR_LOCATION
  • MESSAGE_SENDER
  • CONTACTS_SURNAME
  • CALENDAR_LEGACY_FREE_BUSY_STATUS
  • TASK_DUE_DATE
  • TASK_IS_ASSIGNMENT_EDITABLE
  • CALENDAR_IS_ALL_DAY_EVENT
  • MESSAGE_REFERENCES
  • CONVERSATION_GLOBAL_UNIQUE_RECIPIENTS
  • TASK_CHANGE_COUNT
  • CONTACTS_SPOUSE_NAME
  • CONVERSATION_UNREAD_COUNT
  • CONVERSATION_IMPORTANCE
  • ITEM_IN_REPLY_TO
  • CALENDAR_WHEN
  • ITEM_REMINDER_IS_SET
  • MESSAGE_CONVERSATION_TOPIC
  • MESSAGE_CONVERSATION_INDEX
  • TASK_PERCENT_COMPLETE
  • TASK_COMPLETE_DATE
  • CONVERSATION_UNIQUE_UNREAD_SENDERS
  • CALENDAR_START
  • TASK_IS_COMPLETE
  • CONVERSATION_UNIQUE_RECIPIENTS
  • ITEM_REMINDER_MINUTES_BEFORE_START
  • CONVERSATION_GLOBAL_HAS_ATTACHMENTS
  • CONVERSATION_GLOBAL_IMPORTANCE
  • ITEM_SIZE
  • TASK_CONTACTS
  • CALENDAR_ALLOW_NEW_TIME_PROPOSAL
  • CONTACTS_DEPARTMENT
  • CONVERSATION_GLOBAL_LAST_DELIVERY_TIME
  • CALENDAR_END
  • POSTITEM_POSTED_TIME
  • CALENDAR_TIME_ZONE
  • ITEM_LAST_MODIFIED_TIME
  • CONTACTS_NICKNAME
  • MEETING_REQUEST_INTENDED_FREE_BUSY_STATUS
  • TASK_START_DATE
  • CONTACTS_COMPANY_NAME
  • MEETING_HAS_BEEN_PROCESSED
  • CONVERSATION_UNIQUE_SENDERS
  • ITEM_DISPLAY_CC
  • CONTACTS_GENERATION

It's worth noting that of the fields that produce an error, most fail with an ERROR_UNSUPPORTED_PATH_FOR_QUERY, but others fail with a ERROR_INVALID_PROPERTY_FOR_EXISTS. That suggests that some fields work with some some SearchExpressionTypes while others don't.

OTHER TIPS

See http://msdn.microsoft.com/en-us/library/aa494315(v=EXCHG.140).aspx. But if you are using a .NET based language, you should use the EWS Managed API, which is much more simpler to use.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top