[Chiba-users] Using any other types than basic Schema types
Creators discontinued Chiba & founded betterFORM http://betterform.de
Brought to you by:
chibaxforms,
windauer
From: Tambet M. <tam...@gm...> - 2008-05-06 09:22:20
|
Hi all! I'm working on a WSDL2XForms generator and it already works quite well for my purposes. But I have a problem with xsi:type attribute, which I already mentioned in my previous post. I'll try to explain it in more generic way, maybe someone can help me. Basically I need to use data type, which is not basic Schema type, like string or integer. It has to be declared in instance data with xsi:type attribute. The webservices I'm calling are expecting this specific type (soapenc:Array) and I'm not in position to change those webservices. If I include xsi:type="soapenc:Array" in my instance data, I get NullPointerException from Chiba. Actually I get the same error with any other non-Schema type too. I've tried to define the type by including external schema with <model schema="http://schemas.xmlsoap.org/soap/encoding/">, but that didn't help. I tried to put schema inline, but that didn't change the error either. Currently I'm considering options: 1. Change Chiba core to ignore all types it doesn't know. 2. Use proxy when submitting the data and in this proxy rewrite message to include needed xsi:type attributes. I could use for example attribute xsi_type and rename it into xsi:type in proxy. What path you would suggest? Tambet PS. The full error message: org.chiba.xml.xforms.exception.XFormsException: java.lang.NullPointerException at org.chiba.xml.xforms.Container.dispatch(Container.java:519) at org.chiba.xml.xforms.Container.dispatch(Container.java:475) at org.chiba.xml.xforms.Container.initModels(Container.java:716) at org.chiba.xml.xforms.Container.init(Container.java:330) at org.chiba.xml.xforms.ChibaBean.init(ChibaBean.java:421) at org.chiba.web.WebAdapter.init(WebAdapter.java:199) at org.chiba.web.flux.FluxAdapter.init(FluxAdapter.java:152) at org.chiba.web.session.impl.XFormsSessionBase.init(XFormsSessionBase.java:305) at org.chiba.web.filter.XFormsFilter.doFilter(XFormsFilter.java:141) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at org.chiba.xml.xforms.core.Validator.checkDatatype(Validator.java:353) at org.chiba.xml.xforms.core.Validator.validate(Validator.java:319) at org.chiba.xml.xforms.core.Validator.validate(Validator.java:282) at org.chiba.xml.xforms.core.Validator.validate(Validator.java:261) at org.chiba.xml.xforms.core.Model.revalidate(Model.java:682) at org.chiba.xml.xforms.core.Model.modelConstruct(Model.java:862) at org.chiba.xml.xforms.core.Model.performDefault(Model.java:748) at org.chiba.xml.events.impl.DefaultXMLEventService.dispatch(DefaultXMLEventService.java:286) at org.chiba.xml.xforms.Container.dispatch(Container.java:497) ... 20 more |