【发布时间】:2018-03-10 02:45:02
【问题描述】:
如何将旧表单保存在新版本中。 我在我们的应用程序中保存了一个表单。下面是我在 builder 和 Runner 中的表单的屏幕截图: 之后我使用(表单生成器)添加了一个新字段,但是当我打开保存的这个表单时,我没有找到添加的字段。 这是我新版表单的截图: 这就是我得到的结果:
编辑
@Avernet,我使用了 CRUD API,并按照以下步骤使用了两种方法:
-
通过强加最新版本号来检索表单的 xml:
使用早期版本创建表单:使用 docId=fd4f49aad1ac3eb5a8ac29b0fa15a8cc1ec6ee6e 和版本 =1 进行测试
-
使用 curl 运行此命令(curl -v -k -H “Orbeon-Form-Definition-Version:2” http://127.0.0.1:8080/orbeon/fr/service/persistence/crud/newProject/test/data/fd4f49aad1ac3eb5a8ac29b0fa15a8cc1ec6ee6e/data.xml)
=>结果 400 错误请求。
=> 如果我把旧版本 1 而不是 2,则没有错误。
-
使用最新版本创建一个空的测试表单并填写 旧版本创建的表单
使用 curl 运行此命令(curl -v -k -H “Orbeon-Form-Definition-Version:1” http://127.0.0.1:8080/orbeon/fr/service/persistence/crud/newProject/test/data/fd4f49aad1ac3eb5a8ac29b0fa15a8cc1ec6ee6e/data.xml >>myData) =>xml文件保存到目录
用新版本(documentId = 40239f94e49538db4e94e4f60ad7b4f312c23f3e)
-
使用 curl ( curl -v -k -d @mydata.xml -H “内容类型:应用程序/xml”-H“Orbeon-Form-Definition-Version: 2" -X 放 http://127.0.0.1:8080/orbeon/fr/service/persistence/crud/newProject/test/data/40239f94e49538db4e94e4f60ad7b4f312c23f3e/data.xml)
=>结果 500 内部服务器错误
这是发生错误时的堆栈跟踪:
|发生错误 | |------------------------------------------------- -------------------------------------------------- -------------------| |致命错误:文档中根元素之后的标记必须格式正确。 | |------------------------------------------------- -------------------------------------------------- -------------------| |应用程序调用栈| |------------------------------------------------- -------------------------------------------------- -------------------| |oxf:/ops/pfc/xforms-xml-submission.xpl |读取处理器输出 | 111| |·················································································································· ·························································································································· ·························································································································· ·························································································································· ··································| |元素= | |名称=数据 | |ref =实例 | |------------------------------------------------- -------------------------------------------------- -------------------| |oxf:/ops/pfc/xforms-xml-submission.xpl |读取处理器输出 | 102| |·················································································································· ·························································································································· ·························································································································· ·························································································································· ··································| |元素= | |名称=数据 | |id =原始实例 | |------------------------------------------------- -------------------------------------------------- -------------------| |:/Users/fkammoun/AppData/Local/Temp/upload__5a2c8fe_15fbb88e967__8000_00000000.tmp| | 1| |------------------------------------------------- -------------------------------------------------- -------------------| |异常:org.orbeon.oxf.common.ValidationException | |------------------------------------------------- -------------------------------------------------- -------------------| |org.orbeon.oxf.xml.XMLParsing$ErrorHandler |fatalError |XMLParsing.java | 221| |orbeon.apache.xerces.util.ErrorHandlerWrapper |fatalError | | | |orbeon.apache.xerces.impl.XMLErrorReporter |reportError | | | |orbeon.apache.xerces.impl.XMLErrorReporter |reportError | | | |orbeon.apache.xerces.impl.XMLErrorReporter |reportError | | | |orbeon.apache.xerces.impl.XMLScanner |reportFatalError | | | |.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher|dispatch | | | |n.apache.xerces.impl.XMLDocumentFragmentScannerImpl|scanDocument | | | |orbeon.apache.xerces.parsers.XML11配置 |解析 | | | |orbeon.apache.xerces.parsers.XML11配置 |解析 | | | |orbeon.apache.xerces.parsers.XMLParser |解析 | | | |orbeon.apache.xerces.parsers.AbstractSAXParser |解析 | | | |processor.generator.URLGenerator$URLResourceHandler|readXML |URLGenerator.java |1042| |org.orbeon.oxf.processor.generator.URLGenerator$1 |readImpl |URLGenerator.java | 545| |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|读取 |ProcessorOutputImpl.java | 257| |org.orbeon.oxf.processor.impl.ProcessorOutputImpl |读取 |ProcessorOutputImpl.java | 394| |org.orbeon.oxf.processor.ProcessorImpl |readInputAsSAX |ProcessorImpl.java | 262| |ssor.pipeline.PipelineProcessor$InternalTopOutput$1|运行 |PipelineProcessor.java | 535| |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeParents |PipelineProcessor.java | 696| |org.orbeon.oxf.processor.pipeline.PipelineProcessor|访问$400 |PipelineProcessor.java | 60| |cessor.pipeline.PipelineProcessor$InternalTopOutput|readImpl |PipelineProcessor.java | 531| |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|读取 |ProcessorOutputImpl.java | 257| |org.orbeon.oxf.processor.impl.ProcessorOutputImpl |读取 |ProcessorOutputImpl.java | 394| |org.orbeon.oxf.processor.ProcessorImpl |readInputAsSAX |ProcessorImpl.java | 262| |org.orbeon.oxf.processor.ProcessorImpl |readInputAsSAX |ProcessorImpl.java | 266| |org.orbeon.oxf.processor.IdentityProcessor$1 |readImpl |IdentityProcessor.java | 33| |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|读取 |ProcessorOutputImpl.java | 257| |org.orbeon.oxf.processor.impl.ProcessorOutputImpl |读取 |ProcessorOutputImpl.java | 394| |org.orbeon.oxf.processor.ProcessorImpl |readInputAsSAX |ProcessorImpl.java | 262| |orbeon.oxf.processor.pipeline.PipelineProcessor$1$1|运行 |PipelineProcessor.java | 93| |org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren |PipelineProcessor.java | 679| |org.orbeon.oxf.processor.pipeline.PipelineProcessor|access$000 |PipelineProcessor.java | 60| |g.orbeon.oxf.processor.pipeline.PipelineProcessor$1|readImpl |PipelineProcessor.java | 91| |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|读取 |ProcessorOutputImpl.java | 257| |org.orbeon.oxf.processor.impl.ProcessorOutputImpl |读取 |ProcessorOutputImpl.java | 394| |processor.pipeline.choose.ConcreteChooseProcessor$1|readImpl |ConcreteChooseProcessor.java | 126| |essor.impl.ProcessorOutputImpl$TopLevelOutputFilter|读取 |ProcessorOutputImpl.java | 257| |org.orbeon.oxf.processor.impl.ProcessorOutputImpl |读取 |ProcessorOutputImpl.java | 394| |org.orbeon.oxf.processor.ProcessorImpl |readInputAsSAX |ProcessorImpl.java | 262| |orbeon.oxf.processor.pipeline.PipelineProcessor$1$1|运行 |PipelineProcessor.java | 93|
谢谢
【问题讨论】:
标签: forms xhtml field orbeon savechanges