XFOR: Attempting to Access the Contents Table of Non-Replicated PF Returns Error Code 80004005 (MAPI_E_CALL_FAILED)ID: Q176001
|
Any attempt, by an application, to access the contents table of a non-
replicated Public Folder (PF) will fail and return an error code
80004005 when using the Microsoft Exchange Software Development Kit
(SDK) sample gateway code (and perhaps other components as well).
An example of the call might be:
MAPICALL(lpFBSiteFolder)->GetContentsTAble(lpFBSiteFolder,
MAPI_DEFERRED_ERROR,
&lpTableCont);
Enumerating the local folder hierarchy table will result in success
because of the public folder heirarchy replication, however, when
the application makes the call to lpfolder->GetcontentsTable() to
retrieve a table containing the messages in the folder, the Microsoft
Exchange Server will return a failure meaning that the content hasn't
been replicated. In some cases, where public folder affinity is
enabled, the local Server will attempt to return the content from
another Server. If the account that the application (or connector) is
using does not have permissions to access the folder, this call will
fail as well. This is the case with the GWSample code that creates an
account that will not be able to access the resource.
The actual return code from this function in case of failure should be
MAPI_E_NO_SUPPORT, indicating that the contents table cannot be
returned. However, this is not seen from the GWSample code because it
throws away the return code in the cleanup section and uses
ERROR_INTERNAL_ERROR.
The problem can be resolved by replicating the folder on the local
store. If you need to access a PF on a remote Server, the problem can
also be resolved by writing a MAPI application that uses a normal
user's profile and perform these functions as a Windows NT service.
If you are not using the GWSample code and are experiencing this
problem, verify that you are using the correct account permissions
with public folder affinity. The mysterious error condition can
also be improved by writing a MAPI application that uses the return
value of the GetContentsTable() call to accurately explain the
condition in the event logs so that the problem may be fixed.
Additional query words: replica PF
Keywords : XFOR
Version : 5.0
Platform : winnt
Issue type : kbprb
Last Reviewed: March 11, 1999