Wednesday, 21 December 2011

agent.RunOnServer - cannot create automated object

The other day I had to make some changes to process an incoming html page containing client data from a paid service.
To limit the access to this service, it can only be called from the domino servers. And is currently done  through a scheduled agent.
But now some users also need to be able to call the service on demand. To keep the restriction of calling only from a domino server I created a lotusscript button that runs the process via an agent.RunOnServer call.
This agent is reusing the code from the scheduled agent and does a CreateObject of the MSXML service to handle the incoming html/xml.
It constantly failed with an error message "cannot create automated object" on the console.
After some searching and a tip by Dennis van Remortel I found a technote (21088529) through the LDD forum that explained this error and how to work around it. It notes it affects releases 5, 6 & 6.5, but appearantly it is still valid for 8.5.x as well!!

The workaround is to create another agent that is called from the client button with the RunOnServer method an to have this agent call the original agent with the Run method.


Dennis van Remortel said...

You are welcome for the tip ;-)

Tom Steenbergen said...

Rectified, thanx Dennis ;-)