Environment
Retain 3.x
GroupWise
Situation
My GroupWise archive job is not processing any mailboxes. It errors out at the beginning. Here are a couple of snippits from the Worker log:
DefaultCAAPIErrorHandleStrategy - reportError: getAnyUser :: com.gwava.workerutils.DefaultCAAPIErrorHandleStrategy.returnCaller:55 :: Bad parameter. Internal error , Code: d018com.gwava.gweasysoap.GWSoapAPIException: Bad parameter. Internal error , Code: d018
It repeats that several times and then you see:
DefaultCAAPIErrorHandleStrategy - reportError: ArchiveEmail :: com.gwava.workerutils.DefaultCAAPIErrorHandleStrategy.returnCaller:55 :: loginAsAnyUser: FATAL ERROR !
could not retrieve any user
Or, we've seen this error:
com.gwava.gweasysoap.GWSoapAPIException: User Database is temporarily disabled , Code: d714 at com.gwava.gweasysoap.EasySoap.fire(EasySoap.java:356)
Resolution
There are two critical components to Retain's ability to login to a GroupWise mailbox to archive its contents:
- A trusted application key
- A valid GroupWise account that Retain will use to login to each of the mailboxes.
This issue has to do with Retain's ability to use a valid GroupWise account. When Retain starts the job and connects to the POA via SOAP, it requests the first account in the GroupWise address book so it can use it to login to all of the mailboxes. However, if that mailbox has been disabled, then Retain will request the next one. It does this for 10 accounts until it can find a valid one. If all 10 are disabled users, then this process will fail.
There is a better and more dependable way to go about this though.
1. Create a user in every post office with a userid of "retain".
2. Stop Tomcat.
3. Edit the attachment.properties file for every RetainWorker you have. Go to this directory to find it: /opt/beginifinite/retain/RetainWorker/WEB-INF/classes/config (if on Linux; similar path usually under Program Files for Windows)
4. Find the following lines (before the "=" sign) in that file and change them to read as follows:
soap.login.mailboxid=retain
ab.scan.optimize.standard=0
5. Save your changes and start up tomcat.
6. Start up the archive job.
7. Make a backup copy of that modified attachment.properties file.
Just in case it gets overwritten during a future upgrade. As part of your upgrade procedure each time, you'll want to make sure your *.properties files that you've modified still have your changes.