• 17.09.2015
  • 12 minute de citit
    • o

    • l

    • O

    • L

In acest articol

Aflati mai multe despre identificatorii din Exchange si cum le puteti folosi in aplicatiile dvs. EWS Managed API si EWS.

Fiecare obiect din magazinul Exchange are un identificator unic. Puteti utiliza identificatorul unui obiect pentru a face referire la obiect si pentru a-l distinge de alte obiecte. Cei mai comuni doi identificatori cu care ati putea lucra sunt identificatorii de folder si de articol.

Pentru a intelege identificatorii si modul in care sunt importanti pentru aplicatia dvs., este util sa intelegeti relatia dintre obiectele din Exchange. Cand API-ul EWS Managed sau aplicatia EWS comunica cu Exchange, lucrati cu o ierarhie de obiecte care include obiecte de cutie postala, folder si articol. Un magazin poate fi oricare dintre aceste tipuri de obiecte. Cel mai frecvent, este o cutie postala pe serverul Exchange, dar poate fi si un folder public pe serverul Exchange. (Retineti ca in Exchange Online, Exchange Online ca parte a Office 365 si versiunile Exchange incepand cu Exchange 2013, folderele publice sunt doar un alt tip de cutie postala si nu un alt tip de magazin.) Magazinul contine foldere si foldere contin elemente si fiecare dintre aceste foldere si articole are un identificator, asa cum se arata in figura urmatoare.

Figura 1. Ierarhie cutie postala, folder si articol

Identificatori EWS

Identificatorii folositi de EWS pentru foldere si articole se numesc identificatori EWS sau EwsIds. EwsIds pot fi gasite in multe obiecte diferite din cadrul EWS, dar sunt numite ceva diferit pentru diferite obiecte. Deoarece este posibil sa utilizati aceste obiecte in aplicatia dvs., veti dori sa intelegeti cum se identifica identificatorii acestor obiecte cu EwsId.

Identificatorii din EWS se aplica si API-ului EWS Managed. In API-ul EWS Managed, identificatorii sunt proprietati ale obiectelor si sunt gestionate intern pentru a se asocia la elementele EWS.

Tabelul 1. Identificatori de obiecte in EWS

Identificator de obiect Cum se leaga de EwsId? CalendarItem

Elementul element ItemId contine identificatorul unic al elementului de calendar.

Elementul copil ItemId este acelasi cu EwsId pentru acest element.

ConversationId Id atribut contine identificatorul pentru conversatie ca acest element face parte. Id – ul atribut este acelasi ca EwsId pentru acest articol. AttachmentId Ofera identificatorul unic al atasamentului. Atributul RootItemId contine identificatorul unic al articolului de stocare radacina la care este atasat atasamentul.

Atasamentele pot fi alte articole din magazinul Exchange, caz in care AttachmentId este acelasi cu EwsId. In toate cazurile, RootItemId este un EwsId deoarece face referire la un articol din magazin.

PersonaId Id atribut returneaza un sir de caractere care contine identificatorul persona. Id – ul atribut este acelasi ca EwsId pentru persona. ContactID Id atribut returneaza un sir de caractere care contine identificatorul contactului. Id – ul atribut este acelasi ca EwsId pentru contactul. Groupid Id atribut returneaza un sir care contine identificatorul grupului.

Atributul Id este acelasi cu EwsId pentru grup.

AssociatedCalendarItemId Id atribut identifica elementul de calendar care este asociat cu un MeetingMessage, MeetingRequest, MeetingResponse sau MeetingCancellation. Id – ul atribut este acelasi ca EwsId pentru elementul de calendar. UserConfigurationProperties Valoarea Id pentru acest element specifica proprietatea identificatorului. Acest identificator nu se mapeaza direct la EwsId, deoarece este un identificator de proprietate si nu un element. OccurrenceItemId RecurringMasterId atribut identifica comandantul unui element recurent.

Valoarea OccurrenceItemId nu se mapeaza direct la EwsId, dar RecurringMasterId o face deoarece face referire la obiectul de nivel superior al elementului recurent.

StoreEntryId

Contine identificatorul magazinului Exchange al unui articol.

Valoarea StoreEntryId nu se mapeaza la EwsId, dar da identificatorul magazinului in care sunt pastrate articolele.

Lucrul cu identificatorii

Serverul Exchange gestioneaza identificatorii in mai multe moduri diferite. Luati in considerare urmatoarele cand va dezvoltati aplicatia EWS Managed API sau EWS:

  • Valoarea elementului ItemID pentru foldere si articole este diferentiata de majuscule si minuscule. Daca va uitati la ID-ul articolului pentru un folder sau element returnat prin operatia FindItem (sau metoda FindItems EWS Managed API), s-ar putea sa credeti ca este un duplicat al unui alt ID de articol; cu toate acestea, unul sau mai multe caractere din ID-urile articolelor pentru cele doua articole vor avea un caz diferit.

  • Daca aveti de gand sa stocati ID-ul articolului intr-o baza de date pentru a-l recupera ulterior, va recomandam ca dimensiunea campului sa fie de 512 octeti, astfel incat sa fie suficient de mare pentru a contine GUID-ul.

  • Nu presupuneti ca ID-ul articolului dvs. va fi intotdeauna valid daca trebuie sa il recuperati ulterior. Daca un articol este mutat in magazin, ID-ul se poate schimba din cauza modului in care este gestionata o mutare. Un element este copiat de fapt si se genereaza un nou ID, apoi elementul original este sters. Retineti ca ID-urile folderelor sunt imuabile si nu se vor schimba atunci cand sunt mutate in magazin.

  • Identificatorii in schimb sunt opaci. De exemplu, EwsId este creat din mai multe informatii care nu sunt importante pentru dvs. ca dezvoltator, dar sunt importante pentru Exchange.

  • Cand lucrati cu elemente in Exchange, o alta valoare de care trebuie sa aveti in vedere este atributul ChangeKey . Aceasta valoare, pe langa ID-ul articolului, este utilizata pentru a urmari starea unui articol. De fiecare data cand un element este schimbat, este generata o noua cheie de modificare. De exemplu, cand efectuati o operatiune UpdateItem, puteti utiliza atributul ChangeKey pentru a informa serverul ca actualizarea dvs. este aplicata la cea mai recenta versiune a elementului. Daca o alta aplicatie a modificat elementul pe care il actualizati, tastele de modificare nu se vor potrivi si nu veti putea efectua actualizarea.

ID-uri de dosare distincte

Exchange include un numar de foldere predefinite ale casutei postale, carora li se atribuie un identificator, cunoscut sub numele de ID de folder distinct. Acestea sunt definite de enumerarea WellKnownFolderName EWS Managed API si de elementul DistinguishedFolderId EWS. Puteti utiliza aceste ID-uri de dosare distincte pentru a face referinta mai usor la unul dintre folderele predefinite. De exemplu, pentru folderul Inbox, puteti utiliza pur si simplu „inbox” pentru identificator, mai degraba decat sa determinati identificatorul folderului.

Alte foldere pe care le creati pentru a organiza elementele de e-mail au, de asemenea, un ID unic pentru acel folder. Acest ID nu se schimba chiar daca modificati alte proprietati din folder.

Puteti utiliza ID-uri de dosare distincte ca punct de intrare pentru accesul delegat. Cand initiati accesul delegat, cautati articole sau foldere si furnizati ID-ul folderului distinct pentru a specifica unde sa cautati.

mamadas en la playa follando cincuentonas
intercambio amateur peliculas porno de incesto
videos porno maduras españa orgias de maduros
porno rspañol mi primera follada
madre española follando con su hijo videos pornos muy guarros
española pillada xxx orgias
abuelas a cuatro patas porbo
putasfollando españolas pajeandose
abuelos calientes sexo camara oculta españa
me corro en su boca sin avisar hermanos jovenes follando
negros follando maduras videos porno morbosos
españolas pajeandose videos de peliculas eroticas
maduritas cachondas trios con españolas
follame xxx porno bix
madres viciosas hijas calientes
pajas entre amigos se follan a mi mujer
ancianas españolas follando zoofilia con abuelas
porno español trans viejas zoofilia
venezolanas desnudas pollas arabes
incesto clasico tias follando con animales

Atunci cand un utilizator delegat acceseaza serverul, un element de cutie postala care este un element al elementului DistinguishedFolderId este utilizat pentru a specifica in mod explicit casuta postala pentru accesarea delegatului.

Gestionarea erorilor

Fiecare program va primi o eroare din cand in cand, iar aplicatiile bazate pe EWS nu fac exceptie (joc de cuvinte). S-ar putea sa primiti unele erori legate de identificator in elementul ResponseCode EWS sau ca parte a enumerarii API ServiceError EWS Managed.

Urmatoarele erori pot aparea in aplicatia dvs. EWS Managed API sau EWS. Daca lucrati cu o aplicatie API gestionata EWS, erorile sunt de obicei probleme cu valorile proprietatii; pentru aplicatiile EWS, erorile sunt asociate cu valorile elementului XML sau cu operatiile.

Tabelul 2. Erori legate de identificator

Eroare Are loc atunci cand … Descriere ErrorCalendarCannotUseIdForOccurrenceId

Valoarea OccurenceID nu corespunde unui element de calendar recurente valabil.

Valoarea OccurenceId care a fost specificata in cerere ar putea fi valida in structura, dar solicitarea nu a putut sa o potriveasca cu un master recurent existent. Elementul recurent poate fi eliminat din calendar. Verificati daca elementul exista in continuare si ca utilizati identificatorul corect.

ErrorCalendarCannotUseIdForRecurringMasterId RecurringMasterId atribut nu corespunde unui eveniment valida a OccurrenceId elementului. Valoarea

RecurringMasterId care a fost specificat in cerere ar putea fi valid in structura, dar solicitarea nu a putut sa o potriveasca cu o aparitie existenta a articolului. Aparitia articolului ar putea fi eliminata din calendar. Verificati daca elementul exista in continuare si ca utilizati identificatorul corect.

ErrorCannotUseFolderIdForItemId ID – ul care a fost trecut reprezinta un dosar in loc de un element. Identificatorul ar putea fi valid in format, dar nu la ceea ce astepta serverul pentru operatie. Verificati daca faceti referire la identificatorul corect pentru operatie. ErrorCannotUseItemIdForFolderId ID – ul care a fost trecut in reprezinta un element in loc de un dosar.

Identificatorul ar putea fi valid in format, dar nu la ceea ce astepta serverul pentru operatiune. Verificati daca faceti referire la ID-ul corect pentru operatiune.

ErrorChangeKeyRequiredForWriteOperations

O cheie de modificare valida trebuie furnizata atunci cand efectuati anumite operatiuni de actualizare.

Fie ati omis o valoare ChangeKey cand ati solicitat o actualizare, fie cheia de modificare a fost incorecta. Verificati daca aveti cheia corecta de modificare atunci cand efectuati operatiuni de actualizare.

ErrorInvalidAttachmentId

Atasamentul nu a fost gasit in colectia de atasamente pentru element.

Este posibil sa primiti acest cod de raspuns daca aveti un ID de atasamentsi apoi atasamentul este sters si incercati sa apelati operatia GetAttachment pe ID-ul atasamentului. Verificati daca atasamentul exista in colectia de atasamente.

ErrorInvalidChangeKey

A fost transmisa o cheie de modificare nevalida.

Retineti ca multe operatii si metode nu necesita trecerea unei chei de modificare. Cu toate acestea, daca furnizati o cheie de modificare, aceasta trebuie sa fie valabila, desi nu trebuie neaparat sa fie actualizata.

ErrorInvalidFolderId ID-ul

folderului este deteriorat. Asigurati-va ca aveti un identificator valid formatat si corect. ErrorInvalidId Structura ID-ului si / sau a cheii de modificare este inconsecventa la nivel intern. Exchange a intampinat o problema cu

ID-ul dupa ce a fost analizat. Este posibil sa fi aparut o eroare la conversie. Acest lucru se poate intampla, de exemplu, daca aveti un IdFormatType.HexEntryId pentru un element in Outlook, dar il convertiti intr-un EwsId, considerand ca este un format IdFormatType.EntryId . Asigurati-va ca utilizati tipul de conversie corect.

ErrorInvalidIdEmpty

Aplicatia a specificat un ID care este gol.

Aplicatia dvs. a trecut intr-un sir gol pentru identificator. Asigurati-va ca aveti un identificator valid formatat si corect.

ErrorInvalidIdMalformed

Structura ID-ului este inconsecventa la nivel intern.

Exchange a intampinat o problema cu ID-uldupa ce a fost analizat. Este posibil ca ID-ul sa nu fi fost convertit corect. Asigurati-va ca utilizati tipul de conversie corect.

ErrorInvalidIdMalformedEwsLegacyIdFormat

Un folder sau un ID de articol care utilizeaza formatul Exchange 2007 a fost specificat pentru o cerere cu o versiune de Exchange 2007 SP1 sau o versiune ulterioara.

Nu puteti utiliza ID-urile Exchange 2007 in cererile Exchange 2007 SP1 sau ulterioare. Trebuie sa utilizati operatiunea ConvertId EWS sau metoda ConvertId EWS Managed API pentru a le converti mai intai.

ErrorInvalidIdNotAnItemAttachmentId

Proprietatea AttachmentId nu se refera la un atasament de articol.

Identificatorul ar putea fi valid in format, dar nu la ceea ce astepta serverul pentru operatie. Verificati daca faceti referire la identificatorul corect pentru operatie.

ErrorInvalidIdReturnedByResolveNames

Un contact din cutia postala este corupt.

Operatiunea ResolveNames EWS sau metoda ResolveName EWS Managed API au returnat unul sau mai multi identificatori, dar nu sunt valabili. Este posibil sa trebuiasca sa recreati contactul.

ErrorInvalidIdStoreObjectIdTooLong

Structura ID-ului este inconsecventa la nivel intern.

Exchange a intampinat o problema cu IDul dupa ce a fost analizat. Este posibil ca ID-ul sa nu fi fost convertit corect. Asigurati-va ca utilizati tipul de conversie corect.

ErrorInvalidIdTooManyAttachmentLevels

Ierarhiile atasamentelor depasesc maximum 255 de niveluri adancime.

Valoarea proprietatii AttachmentId care a fost specificata in cerere ar putea fi valida in structura, dar atasamentul solicitat este prea adanc in ierarhie. Este posibil ca codul dvs. sa fi incercat sa ataseze un articol peste limita de 255 de niveluri.

ErrorInvalidImContactId

Aceasta eroare poate fi returnata atunci cand persoana de contact nu poate fi gasita in grupul IM cand utilizati operatiunea RemoveImContactFromGroup. Aceasta eroare se aplica clientilor care vizeaza Exchange Online si versiunile Exchange incepand cu Exchange 2013.

Valoarea ContactIdproprietatea specificata in cerere ar putea fi valida in structura, dar niciun contact din cutia postala nu se potriveste cu aceasta structura. Este posibil ca contactul sa fi fost deja eliminat.

ErrorInvalidImGroupId

Aceasta eroare poate fi returnata atunci cand grupul nu poate fi gasit in cutia postala atunci cand utilizati operatiunea RemoveImGroup. Aceasta eroare se aplica clientilor care vizeaza Exchange Online si versiunile Exchange incepand cu Exchange 2013.

Valoarea proprietatii GroupId care a fost specificata in cerere ar putea fi valida in structura, dar niciun grup din cutia postala nu se potriveste cu aceasta structura. Este posibil ca grupul sa fi fost deja eliminat.

ErrorInvalidReferenceItem

Identificatorul articolului la care se face referinta nu este un mesaj sau un tipExchangeWebServices.CalendarItemTypeType sau unul dintre descendentii lor. Identificatorul articolului de referinta este pentru un obiect CalendarItemType, iar organizatorul incearca sa raspunda sau sa raspunda la toate.

Identificatorul ar putea fi valid in format, dar nu la ceea ce astepta serverul pentru operatie. Verificati daca faceti referire la identificatorul corect pentru operatie.

ErrorMissingManagedFolderId

Proprietatea ID-urilor politicii, eticheta de proprietate 0x6732, pentru dosar, lipseste.

Dosarul este deteriorat. Luati in considerare recrearea acestuia.

Conversia identificatorilor

S-ar putea sa fie nevoie sa convertiti un identificator dintr-un format in altul. De exemplu, poate fi necesar sa convertiti un identificator din afara EWS, cum ar fi un identificator care provine dintr-o conexiune MAPI, intr-un format pe care aplicatia dvs. il poate utiliza. Pentru a face acest lucru, puteti utiliza operatiunea ConvertId EWS sau metoda ConvertId EWS Managed API.

De exemplu, un EntryID este un identificator unic generat de magazinul de mesaje MAPI care este atribuit de magazin atunci cand elementul este salvat. Pentru a utiliza un EntryID in aplicatia dvs., trebuie mai intai sa il convertiti intr-un EwsId.

Outlook Web App foloseste propria sa versiune de identificatori, numita OwaId, in adresele URL pentru a accesa directoare si elemente. Daca aplicatia dvs. trebuie sa acceseze elementele din Outlook Web App, trebuie sa convertiti OwaId intr-un EwsId.

Puteti utiliza operatiunea sau metoda ConvertId pentru a converti mai multe formate de identificare diferite.

Tabelul 3. Formate de identificare convertibile in Exchange

Format Descriere EwsLegacyId

EwsId care se aplica Exchange 2007.

EwsId

EwsId care se aplica Exchange Online si versiunilor Exchange incepand cu Exchange 2007 SP1.

StoreId

Identificatorul magazinului Exchange in care sunt stocate folderele si articolele.

OwaId Identificatorul

Outlook Web App utilizat cu Outlook Web App in Exchange 2007 si Exchange 2010.

NOTA : Exchange Online si versiunile Exchange incepand cu Exchange 2013 utilizeaza EwsId pentru Outlook Web App.

EntryId

Un identificator MAPI care este cunoscut in mod obisnuit ca proprietatea PR_ENTRYID a unui mesaj MAPI.

HexEntryId

O reprezentare codificata hexazecimal a proprietatii PR_ENTRYID care este utilizata pentru identificatorul evenimentului calendarului de disponibilitate. Acesta este, de asemenea, formatul de identificare pe care il foloseste Outlook.

Vezi si

  • Dezvolta clienti de servicii web pentru Exchange
  • Operatiunea ConvertId
  • Enumerare ServiceError
  • Stergerea articolelor utilizand EWS in Exchange