I'll pass...PST=BAD >>>-----Original Message----- >>>From: Govardhan Nandi [mailto:[EMAIL PROTECTED]] >>>Sent: Saturday, November 10, 2001 4:23 AM >>>To: Exchange Discussions >>>Subject: Assigning inbox to Rules Object for few exchange >>>users gives MAPI _E_INVALID_ENTRYID >>>Importance: High >>> >>> >>>Dear friends, >>> >>>We have developed a web application which allows our >>>Company's Exchange 5.5 users to manage(add/edit/delete)thier >>>rules for thier inbox (similar to outllok rule wizard)from >>>a web interface. >>> >>>We are using "Rule.dll" found in Exchange 5.5 Platform SDK >>>to create the rules from ASP pages hosted on a IIS. >>> >>>Code runs properly for some users but fails for some other users. >>> >>>3 Steps to Reproduce the Behaviour >>> >>>1>Set delivery to "Personal folders" through the services options in >>>1>Tools >>>option of Outlook >>> This create the "Inbox" folder in your Personal folder >>>which becomes a >>>specialfolder & you can never delete the folder even >>>if u want. >>>Now if you want , you can reset the delivery back to >>>"Mailbox" or keep it pointing to "personal folders" >>>itslef..This wont affect the remaining steps behaviour (Now >>>for outlook 97 clients...u can directly run the code in step >>>3 to get the desired error but for outlook 2000 ..u need to >>>follow step 2 also) >>>2>Now using Outlook rule wizard ,create a client side rule for the >>>2>inbox(e.g >>>move messages from inbox to some personal folder)& turn on the rule >>>3>Now run any of the following two sets of code >>>---------------------------------- >>> Set objInbox = objCDOSession.Inbox >>> set colRules = server.CreateObject("MSExchange.Rules") >>> colRules.Folder = objInbox >>>-----------------------------------OR----------- >>>Set objInfoStore = objCDOSession.InfoStores (2) >>>Set objPrivateFs = objInfoStore.RootFolder.Folders >>> >>>For Each objFolder in objPrivateFs >>> If objFolder.Name = "Inbox" Then >>> Set objInbox = objFolder >>> Exit For >>> End If >>>Next >>> colRules.Folder = objInbox >>>------------------------------------ >>>For both the cases , U will see the following error at >>>"colrules.folder=objInbox" >>> >>>-2147221241006~ASP 0177~Server.CreateObject >>> Failed~The operation completed successfully >>>which corresponds to MAPI_E_INVALID_ENTRYID >>> >>>4>Turn off the outlook client side rule created in step 2 >>>...the code >>>4>works >>>fine.. >>> Turn on the outlook rule again..u will get the same error. >>> Remove the personal folders..u still get the same error. >>> Set delivery to back to "Mailbox" or "personal folders"..u >>>still get the error.. >>> >>>Observations : >>>1>I am very sure that the Inbox folder being passed from my >>>code is the >>>correct >>> folder for which i want to set up rules thru my code. >>>2>It looks like that code inside the RULE.DLL is fetching >>>entry id for >>>inbox for wrong default store & failing when it finds two >>>"Inbox" entry ids (one for Mailbox & another for Personal >>>folder in trooubled profiles )in the Exchange Server... >>> >>>We tried to debug into Rule.dll sourcecode(available in >>>platsdk) in VC++ >>>----------------------------------------------------------- >>>Created a pointer to the IRules interface. >>> >>>I have used the function PutFolder(IDispatch *pVal) in >>>Rules.dll for assigning the folder,the function internally >>>calls put_Folder(LPDISPATCH newVal) of the CRules class. >>> >>>The function load(LPSRowSet lpRowSet) of the CRules class >>>inside put_Folder(LPDISPATCH newVal) is returning 80040107 >>>(MAPI_E_INVALID_ENTRYID). >>> >>>Further I went inside the load(LPSRowSet lpRowSet) function >>>wherein its calling a function load(LPSRow lpSRow,ULONG >>>ulIndex) of CRule class. This function calls the funtion >>>load(LPACTIONS lpActions) of class CActions which calls >>>funtion load(LPACTION lpAction) of class CAction. >>> >>>When the ulIndex is 3 i.e third time.. >>>the >>>MethodInvoke(_Module.m_pCDOSession,_T("GetFolder"),&varResult >>>,&dispParams,DI >>>SPATCH_PROPERTYGET) >>> function is returning 80040107 (MAPI_E_INVALID_ENTRYID). >>>This is happening for some users while others are getting >>>return value of 0 (SUCCESS). >>> >>>----------------------------------------------------------- >>> >>>Expecting some workaround fromu guys... >>> >>>Cheers, >>>Nans >>> >>> >>>_________________________________________________________________ >>>List posting FAQ: http://www.swinc.com/resource/exch_faq.htm >>>Archives: http://www.swynk.com/sitesearch/search.asp >>>To unsubscribe: mailto:[EMAIL PROTECTED] >>>Exchange List admin: [EMAIL PROTECTED] >>>
_________________________________________________________________ List posting FAQ: http://www.swinc.com/resource/exch_faq.htm Archives: http://www.swynk.com/sitesearch/search.asp To unsubscribe: mailto:[EMAIL PROTECTED] Exchange List admin: [EMAIL PROTECTED]