error on create

X-Application Version: 3.1.2, 3.1.1
Tamino Version : 3.1.1
Platform : NT, Win2k, Solaris, …
WebContainer : Tomcat 3.3
JDK Version : 1.3.1

I use a <bdm:action type=“create” document=“name_doc”> and this sometimes gives some problems… Usually everything is fine, the next page appears and nothing goes wrong.
If one heavily navigates on my site, anyway, sometimes (usually when I’m doing demos for Murphy’s Law) you have an exception.
I really don’t know where to start from to find the problem, can you give any hint? I thought it could be or an improper use of the document I use associate with the action tag (but it all seems fine to me) or something in the schema definition, but that seems right too…

Thanks,
I’d be lost without you!
Pao

ApplicationException: 999: Application Error! Please contact the X-Application-Team.
com.softwareag.xtools.xapplication.common.PreconditionViolation
parent type node ‘element’ must be complex type
at com.softwareag.xtools.xapplication.businessdocument.Schema.lookupElement(Schema.java:502)
at com.softwareag.xtools.xapplication.businessdocument.Path.isValidPathForOptionals(Path.java:503)
at com.softwareag.xtools.xapplication.businessdocument.Path.touchDescendant(Path.java:532)
at com.softwareag.xtools.xapplication.businessdocument.BusinessNodeImpl.touchDescendants(BusinessNodeImpl.java:366)
at com.softwareag.xtools.xapplication.jsp.taglib.ContextTag.getElementValue(ContextTag.java:245)
at com.softwareag.xtools.xapplication.jsp.taglib.FieldTag.doStartTagCore(FieldTag.java:104)
at com.softwareag.xtools.xapplication.jsp.JspTag.doStartTag(JspTag.java:120)
at indirettocreate_1._jspService(indirettocreate_1.java:238)
at org.apache.jasper.runtime.HttpJspBase.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(Unknown Source)
at org.apache.tomcat.core.Handler.invoke(Unknown Source)
at org.apache.tomcat.core.Handler.service(Unknown Source)
at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
at org.apache.tomcat.core.ContextManager.internalService(Unknown Source)
at org.apache.tomcat.core.ContextManager.service(Unknown Source)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown Source)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown Source)
at java.lang.Thread.run(Thread.java:484)
prodotto_diretto.TSD (4.27 KB)

Looking at your schema, I can’t find anything suspicous that could raise this exception.

You’re using xs:float which is not truely supported by X-Application. We treat xs:float as xs:string which will result in ugly error messages if you try to commit documents with, e.g. letters instead of a float. But this is not the error message you got.

And we don’t support enumeration, but this should cause xs:float-like problems when commiting a document with non-enumerated values.

To track down the problem, I’d need a reliable way to reproduce it … . Could you please try out exactly what you have to do to crash it? In particular: what did you enter in the create page when things crashed? Maybe is some particular input that’s not handled properly.

Michael

Software AG Germany, Darmstadt

Actually my create page doesn’t even get loaded…
When I click the link it tries to be loaded then (sometimes) it show up an application error page.
This before datas are entered…
All I know is that if I access this page almost immediately during navigation it all work fine;
this error appears if I use some other query page and then I try to create a new item (it’s a e-commerce application)
I’ll try to find out some more clues…
Thanks a lot
Paolo

I have changed the code using directly X application java API this way:
<%SessionContext sessionContext = ServletSessionContext.getSessionContext(pageContext);
BusinessDocumentWorkspace ws = sessionContext.getWorkspace();
BusinessDocument doc =ws.create(“newprod”,“prodotto_diretto”);
BusinessDocument doc1 =ws.create(“newprod1”,“prodotto_indiretto”);%>

instead of using the <bdm:action type=create>
and the error has disappeared!
Do you know how this is possible?
In my site there are lots of documents and 5 different schemas used… I don’t know if I can give you any more infos.
Anyway, the problem now is solved…till my next demo where for Murphy’s Laws some other bugs will surely show up.
I’ll let you know!
Paolo

Hello Paolo,

Is your scriptlet placed at the create page or at the following page?
If placed at the create page, the scriptlet is more similar to the bdm:directcommand than to the bdm:action.
The directcommand is executed on the page directly while the action is executed on the module tag of the following page.
Could it be that in case of bdm:action a wrong document perhaps with another schema under the same name is accessed on the create page?

I would recommend to track the error situation with the X-Application JSP Tracing. This could help to find out registered documents and the tags operating on them.
See documentation for more detatils.
If you can reproduce the error you could post the resulting jsp trace xml file so that we could have a look at it.

Regards, Harald