多部分/表单数据提交的XForms实例的结构

时间:2015-08-17 16:18:27

标签: curl solr orbeon xforms

我在通过带有multipart / form-data序列化的XForms提交来确定如何提交二进制文件时遇到了一些麻烦。对于某些背景,我试图使用ExtractingRequestHandler将文档文件(例如PDF)发布到Apache Solr中。我能够在命令行上成功发布CURL,但是我很难从XForms引擎发布(具体来说,我使用的是Orbeon)。

这是我的提交:

<xforms:submission 
    id="extract-document"
    action="{instance('config')/solr}update/extract?literal.id={instance('doc')/mods:mods/mods:recordInfo/mods:recordIdentifier}&amp;fmap.content=text"
    ref="instance('form-data')"
    replace="none" 
    method="post" 
    serialization="multipart/form-data">

我的表单数据实例是:

<xforms:instance id="form-data">
    <formData>
        <myFile
            xsi:type="xs:anyURI" 
            filename="file.pdf" 
            size="2957563" 
            mediatype="application/pdf">file:/path/to/file.pdf</myFile>
    </formData>
</xforms:instance>

我尝试从myFile元素中排除属性,但提交失败。我根本不知道如何构建表单数据实例。

感谢您的帮助。

2017年8月8日更新:在xforms:提交中通过multipart / form-data发布的问题从未真正得到解决。我在将表单数据发布到Web服务时尝试附加XML文件,但根据multipart/form-data XForms instance model的W3C规范,它没有被附加。

我创建了一个失败的全功能测试,即使<fname>输入已正确绑定到xforms:upload控件,也会产生未附加文件的响应。我可以验证规范的第一部分(&#34;每个元素只有一个文本节点子项被选中包含。&#34;)在将身份验证信息传递给Web服务时确实起作用,因为我没有得到关于xforms-submit-error中事件(&#39; response-body&#39;)中缺少用户名或密码的错误。

这是要点:https://gist.github.com/ewg118/c182a8b4a69ff57bdb6b025950332e55

应根据XForms规范附加XML文件(如果我已正确完成所有操作),但它似乎无法正常工作。我正在测试Orbeon 2017.1,但它也没有在2015年末的版本中工作。

0 个答案:

没有答案