none
MAPI/RPC solution to access Public Folder on Exchange 2010 RRS feed

  • Question

  • We have written a client application similar to outlook and using it to browse mailboxes and public folders. As of now we are using MAPI/RPC and application is working fine for Exchange 2003 and Exchange 2007. Even able to browse Exchange 2010 mailbox without any problem.

    Now we are facing problem while accessing "Public Folders" from this client application. We are using EcDoConnect API to connect to mailbox and public folders.

    I'm redirected here from Exchange Development Forum. Any Code sample, webpage or document will be welcomed.

    Thanks in advance.

    Peeyush Jain


    Peeyush Jain
    • Moved by Bill Ja - MSFT Monday, September 5, 2011 2:20 PM (From:Outlook for Developers)
    Friday, September 2, 2011 6:04 AM

Answers

  • Hi Peeyush, without knowing the actual ROP you are calling it's hard to say what the problem could be. A quick search of the Exchange Server protocol documents turns up the following…

     

    MS-OXCFOLD 3.2.5.2: RopCreateFolder will fail with 0x80070057 if the FolderType field contain an invalid value.

     

    MS-OXCFOLD 3.2.5.4: RopSetSearchCriteria will fail with 0x80070057 if the SearchFlags field contains an invalid value. The behavior for Exchange 2007 for this one is different per behavior note <8> which basically says that Exchange Server 2007 will ignore invalid bits and does not return the above error code.

     

    MS-OXCFOLD 3.2.5.14: RopGetContentsTable will fail with 0x80070057 if the TableFlags field contains an invalid bit, or if the ConversationMembers bit is set and any other bits other than UseUnicode and DeferredErrors are also set. Per behavior note <10>, Exchange Server 2007 will just ignore and not fail this ROP under the same circumstances.

     

    MS-OXCRPC behavior note <12> states that EcDoConnectEx (opnum 10) will fail with 0x80070057 if cbAuxIn is greater than 0x00000000 and less than 0x00000008.

     

    If this doesn't help, would you be able to provide an unencrypted Netmon trace that contains the request and response from the server?

     


    Josh Curry (jcurry) | Escalation Engineer | US-CSS DSC Protocols Team
    Wednesday, September 7, 2011 9:06 PM
    Moderator

All replies

  • Can a moderator please move this thread to the Exchange Server Protocols forum?

    Peeyush - can you expand on what the problem is which you're having? Are you getting some sort of error?

    Friday, September 2, 2011 1:27 PM
  • Thanks Stephen.

    We're getting error 0x80070057 when API EcDoRPC is called for Public Folder. It seems some bad parameter.

    Do you have idea about the difference between input parameters for Exchange 2007 and Exchange 2010?


    Peeyush Jain
    Monday, September 5, 2011 11:57 AM
  • Hi Peeyush,

    Thanks for your question regarding EcDoRPC and error 0x80070057.  One of the Open Specifications team will respond to you shortly to assist you.

    Best regards,
    Tom Jebo
    Escalation Engineer
    Microsoft Open Specifications

    Monday, September 5, 2011 3:00 PM
  • Peeyush,


    The EcDoRPC call isn't really supported by the Open Specifications set. You need to be using EcDoRPC2 to be in-scope.

    However behaviour with Exchange 2010 is usually the same, so it may help to say which ROP you are having problems with. The documentation does specify some specifics (e.g. you can't use SearchFolder with the public folder type) and Exchange 2010 does check for out-of-limit cases a bit more strongly, so if you can show the ROP and the surrounding EcDoRPC[,2] call.

    Brad

     

    Tuesday, September 6, 2011 12:06 AM
  • Hi Peeyush, without knowing the actual ROP you are calling it's hard to say what the problem could be. A quick search of the Exchange Server protocol documents turns up the following…

     

    MS-OXCFOLD 3.2.5.2: RopCreateFolder will fail with 0x80070057 if the FolderType field contain an invalid value.

     

    MS-OXCFOLD 3.2.5.4: RopSetSearchCriteria will fail with 0x80070057 if the SearchFlags field contains an invalid value. The behavior for Exchange 2007 for this one is different per behavior note <8> which basically says that Exchange Server 2007 will ignore invalid bits and does not return the above error code.

     

    MS-OXCFOLD 3.2.5.14: RopGetContentsTable will fail with 0x80070057 if the TableFlags field contains an invalid bit, or if the ConversationMembers bit is set and any other bits other than UseUnicode and DeferredErrors are also set. Per behavior note <10>, Exchange Server 2007 will just ignore and not fail this ROP under the same circumstances.

     

    MS-OXCRPC behavior note <12> states that EcDoConnectEx (opnum 10) will fail with 0x80070057 if cbAuxIn is greater than 0x00000000 and less than 0x00000008.

     

    If this doesn't help, would you be able to provide an unencrypted Netmon trace that contains the request and response from the server?

     


    Josh Curry (jcurry) | Escalation Engineer | US-CSS DSC Protocols Team
    Wednesday, September 7, 2011 9:06 PM
    Moderator