[Chiba-users] Re: instance submission failed
Creators discontinued Chiba & founded betterFORM http://betterform.de
Brought to you by:
chibaxforms,
windauer
From: Josep Cester-B. <Jos...@bu...> - 2005-03-31 12:29:38
|
I've investigated a bit and I've found this in ServletAdapter: if (this.formPath !=3D null) { File f =3D new File(locateFile(this.formPath)); this.formURI =3D f.toURI(); // chibaBean.setBaseURI(f.getParentFile().toURI().toString()); } if (this.formURI !=3D null) { this.chibaBean.setBaseURI(this.formURI.toString()); this.chibaBean.setXMLContainer(this.formURI); } else { // todo: base uri // this.chibaBean.setBaseURI(...); this.chibaBean.setXMLContainer(this.formNode); } So when I pass the Xform as a Document (and not as a file)=20 chibaBean.setBaseURI(...) function is not executed. Why is this line=20 commented? I'm using chiba as a jar (ServletAdapter is inside this jar),=20 so I would not like to modify ServletAdapter. After=20 servletAdapter.init() in my servlet I've included this line: this.servletAdapter.getChibaBean().setBaseURI(this.contextRoot); I get the same error as before, but at the end of the exception now i=20 get this message: Caused by: org.chiba.xml.xforms.exception.XFormsException: no=20 submission handler registered for '' at=20 org.chiba.xml.xforms.connector.DefaultConnectorFactory.createSubmissionHa= ndler(Unknown=20 Source) ... 58 more Thanks for any tips! Josep. Josep Cester-Bofarull a =E9crit : > Hello, > > I'm working with Chiba-1.0.0.jar and using ServletAdapter with XForms=20 > Documents. My Servlet's doGet appears to work well, but when I submit=20 > the Xform I get this error when in doPost I execute=20 > servletAdapter.executeHandler() function: > > > ERROR org.chiba.xml.xforms.Container : keeping=20 > org.chiba.xml.xforms.exception.XFormsSubmitError for rethrowal > WARN org.chiba.xml.xforms.Model : [xf:model id=3D'model'] submit error= : > FATAL org.chiba.xml.xforms.Container : non-throwable xforms error > org.chiba.xml.xforms.exception.XFormsSubmitError: instance submission=20 > failed > at org.chiba.xml.xforms.Submission.submit(Unknown Source) > at org.chiba.xml.xforms.Submission.performDefault(Unknown Source= ) > at org.chiba.xml.xforms.XFormsDocument.performDefault(Unknown=20 > Source) > at org.chiba.xml.xforms.XFormsDocument.dispatchEvent(Unknown=20 > Source) > at org.apache.xerces.dom.NodeImpl.dispatchEvent(Unknown Source) > at org.chiba.xml.xforms.Container.dispatch(Unknown Source) > at org.chiba.xml.xforms.Container.dispatch(Unknown Source) > at org.chiba.xml.xforms.ui.Submit.handleEvent(Unknown Source) > at org.apache.xerces.dom.DocumentImpl.dispatchEvent(Unknown=20 > Source) > at org.chiba.xml.xforms.XFormsDocument.dispatchEvent(Unknown=20 > Source) > at org.apache.xerces.dom.NodeImpl.dispatchEvent(Unknown Source) > at org.chiba.xml.xforms.Container.dispatch(Unknown Source) > at org.chiba.xml.xforms.Container.dispatch(Unknown Source) > at org.chiba.xml.xforms.Container.dispatch(Unknown Source) > at org.chiba.xml.xforms.ChibaBean.dispatch(Unknown Source) > at=20 > org.chiba.adapter.web.HttpRequestHandler.handleRequest(Unknown Source) > at org.chiba.adapter.web.HttpRequestHandler.execute(Unknown=20 > Source) > at org.chiba.adapter.web.ServletAdapter.executeHandler(Unknown=20 > Source) > at=20 > mc.formgenerator.servlets.ServletBonitaForm.doPost(ServletBonitaForm.ja= va:483)=20 > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) > at sun.reflect.GeneratedMethodAccessor222.invoke(Unknown Source) > at=20 > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso= rImpl.java:25)=20 > > at java.lang.reflect.Method.invoke(Method.java:324) > at=20 > org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAsPrivileged(Subject.java:500) > at=20 > org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:272= ) > at=20 > org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.ja= va:161)=20 > > at=20 > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic= ationFilterChain.java:245)=20 > > at=20 > org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationF= ilterChain.java:50)=20 > > at=20 > org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilter= Chain.java:156)=20 > > at java.security.AccessController.doPrivileged(Native Method) > at=20 > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil= terChain.java:152)=20 > > at=20 > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal= ve.java:214)=20 > > at=20 > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC= ontext.java:104)=20 > > at=20 > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:= 520)=20 > > at=20 > org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCo= ntextValve.java:198)=20 > > at=20 > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal= ve.java:152)=20 > > at=20 > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC= ontext.java:104)=20 > > at=20 > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticato= rBase.java:540)=20 > > at=20 > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC= ontext.java:102)=20 > > at=20 > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:= 520)=20 > > at=20 > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav= a:137)=20 > > at=20 > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC= ontext.java:104)=20 > > at=20 > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav= a:118)=20 > > at=20 > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC= ontext.java:102)=20 > > at=20 > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:= 520)=20 > > at=20 > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve= .java:109)=20 > > at=20 > org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveC= ontext.java:104)=20 > > at=20 > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:= 520)=20 > > at=20 > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) = =20 > at=20 > org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) > at=20 > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:7= 99)=20 > > at=20 > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process= Connection(Http11Protocol.java:705)=20 > > at=20 > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:5= 77)=20 > > at=20 > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo= l.java:684)=20 > > at java.lang.Thread.run(Thread.java:534) > Caused by: org.chiba.xml.xforms.exception.XFormsException: no base uri=20 > present > at=20 > org.chiba.xml.xforms.connector.ConnectorFactory.getAbsoluteURI(Unknown=20 > Source) > at=20 > org.chiba.xml.xforms.connector.DefaultConnectorFactory.createSubmission= Handler(Unknown=20 > Source) > ... 58 more > > > My submission is like this: > > <xf:model id=3D"model"> > <xf:instance xmlns=3D"" id=3D"instance"=20 > src=3D"contextobject:$instance"> > </xf:instance> =20 > <xf:submission id=3D"bValider" action=3D"" method=3D"put" replace=3D"no= ne"/> > </xf:model> > > Any idea of what can happen? > > Thanks. > |