DatabaseTableResourceAdapter

I am developing on IdM/IdA 6.0 SP1. I am trying to create a DatabaseTableResourceAdapter to connect to a table called USERID on an Oracle database. I have tried going through the wizard numerous times but keep receiving errors, either "null value exception" or "root element must be well-formed" errors. I am a newbie to creating such a resource adapter, so I am obviously missing something like an Identity template or something. I was wondering if someone who has sucessfully created a DatabaseTableResourceAdapter could export the xml object for the resource so I could get a clue as to what it should look like?

While going through the wizard I sucessfully connect to the database and choose the USERID table and select the key column called userid, and identify some additional read-only columns. I then choose the $accountId$ Identity template, (not sure if that is correct to do), then choose an Organization for the resource and receive an error when I try to save. I have been unable to find an example of this adapter anywhere in docs or online. Thanks . . .

[1081 byte] By [LarryViars] at [2007-11-26 9:05:18]
# 1

Does the following error message give a clue as to where I should look for this suspected configuration problem? I have a Service Request open with SUN, but they have provided nothing yet.

[[8/9/06 14:48:11:827 CDT] 6dabd245 SystemErrR com.waveset.util.XmlParseException: XML Error: 3:16: The markup in the document following the root element must be well-formed.

at com.waveset.util.WavesetException.checkBreakpoint(WavesetException.java(Compiled Code))

at com.waveset.util.WavesetException.<init>(WavesetException.java(Compiled Code))

at com.waveset.util.XmlParseException.<init>(XmlParseException.java(Compiled Code))

at com.waveset.util.XmlParser.wrapException(XmlParser.java(Compiled Code))

at com.waveset.util.XmlParser.parseString(XmlParser.java(Compiled Code))

at com.waveset.util.XmlUtil.parseString(XmlUtil.java(Compiled Code))

at com.waveset.util.XmlObjectFactory.create(XmlObjectFactory.java:269)

at com.waveset.util.XmlObjectFactory.create(XmlObjectFactory.java:245)

at com.waveset.util.XmlObjectFactory.clone(XmlObjectFactory.java:416)

at com.waveset.workflow.WorkflowExecutor.execute(WorkflowExecutor.java:146)

at com.waveset.task.Scheduler.execute(Scheduler.java(Compiled Code))

at com.waveset.task.Scheduler.launchTask(Scheduler.java(Compiled Code))

at com.waveset.task.Scheduler.launchTask(Scheduler.java:1286)

at com.waveset.task.TaskManager.launchTask(TaskManager.java:267)

at com.waveset.server.InternalSession.runTask(InternalSession.java:3221)

at com.waveset.server.ViewMaster.runTask(ViewMaster.java:918)

at com.waveset.view.AbstractViewHandler.launchProcess(AbstractViewHandler.java:193)

at com.waveset.view.ResourceViewer.launchProcess(ResourceViewer.java:1041)

at com.waveset.view.ResourceViewer.checkinView(ResourceViewer.java:936)

at com.waveset.object.ViewMaster.checkinView(ViewMaster.java:725)

at com.waveset.session.LocalSession.checkinView(LocalSession.java:709)

at com.waveset.ui.util.GenericViewSource.checkinView(GenericViewSource.java:522)

at com.waveset.ui.util.GenericEditForm.process(GenericEditForm.java:593)

at org.apache.jsp._modify._jspService(_modify.java:623)

at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)

at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))

at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:344)

at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:683)

at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:781)

at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))

at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java(Compiled Code))

at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java(Compiled Code))

at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java(Compiled Code))

at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java(Inlined Compiled Code))

at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java(Compiled Code))

at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java(Compiled Code))

at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java(Inlined Compiled Code))

at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java(Compiled Code))

at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java(Compiled Code))

at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java(Compiled Code))

at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled Code))

at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled Code))

at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled Code))

at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled Code))

at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java(Compiled Code))

at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled Code))

at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java(Compiled Code))

at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled Code))

at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled Code))

at com.ibm.ws.http.HttpConnection.run(HttpConnection.java(Compiled Code))

at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912)

LarryViars at 2007-7-6 23:17:03 > top of Java-index,Web & Directory Servers,Directory Servers...
# 2
The portion of the error that states "Error: 3:16: The markup in the document following the root element must be well-formed." Would indicate to me that for some reason the xml is not valid. Have you tried viewing the xml for that adapter and trying to validate it?
JimBeard at 2007-7-6 23:17:03 > top of Java-index,Web & Directory Servers,Directory Servers...
# 3
There in lies the problem, Jim. After I receive the error while going through the Wizard, no XML gets created. Catch 22
LarryViars at 2007-7-6 23:17:03 > top of Java-index,Web & Directory Servers,Directory Servers...
# 4
You might try generating a base resource definition by going through the wizard and making no selections except 'no password'. This would give you the most basic object to start with.
IdMdMan at 2007-7-6 23:17:03 > top of Java-index,Web & Directory Servers,Directory Servers...
# 5

> You might try generating a base resource definition

> by going through the wizard and making no selections

> except 'no password'. This would give you the most

> basic object to start with.

Good suggestion, IdMdMan

I did as you suggested and was able to manually create a base resource definition. Then everytime I tried to edit it through the Wizard, the problem resurfaced.

However, through some very painstaking debugging and manually crafting by hand an XML file with a required attributes I was sucessfully able to import an adapter. It appears that the Wizard has a bug where it is creating a Resource Attribute called 'password', which is the problem. If I manually change the attribute with an uppercase 'P', ie "Password", the adapter then shows up in the resource list. If i then update any parameters through the Wizard for that resource, the Wizard changes to the invalid attribute name again and breaks the adapter.

LarryViars at 2007-7-6 23:17:03 > top of Java-index,Web & Directory Servers,Directory Servers...