2013-04-22 33 views
1

我有一组XForms已经在eXist-db中运行,这些XForms是由XQuery自动生成的。有没有什么办法可以调用由Orbeon提供的REST服务,运行在单独的tomcat服务器上,将XForms文件转换为可以在Web浏览器中显示的HTML文件?使用Orbeon作为REST服务的最佳方式

换句话说,我想这样做:

xquery version "1.0"; 
... 
let $my-xforms-file := local:my-generate-xforms($spec-file) 
let $orbeon-rendered-xforms := httpclient:post('http://localhost/tomcat/orbeon/getpost', $my-xforms-file) 
return $html-file 

我想是真的只是一个渲染的XForms,在文档身体得到一个HTTP POST与XForms的转换服务,它返回的东西我可以使用Web浏览器进行渲染。

Orbeon中是否有组件可以执行此操作?我很高兴记录这一点,提供一个XQuery模块来支持它并与其他人共享。

回答

4

有一个使用Orbeon表单运行器的REST服务,但它使用HTTP GET,而不是HTTP POST。

该服务提供为一体的构成部分亚军“沙盒”这里有一个例子:

如果你有8081端口(不是默认的)运行Tomcat和存在的端口8080上运行,则下面的工作:

http://localhost:8081/orbeon/xforms-sandbox/run?url=http://localhost:8080/exist/apps/grants/orbeon-tests/01-min.xml 

沙盒也有办法从文件系统

你不能形成从菜单亚军standbox获取数据。要到达那里,您必须手动将以下网址放入浏览器:

http://localhost:8081/orbeon/xforms-sandbox/ 
+0

确实,我认为这是更好的方法。也就是说,浏览器不是打开你的应用程序(你自己的eXist中的XQuery),而是你的应用程序将XForms推送给Orbeon进行处理,浏览器击中Orbeon,从你的应用程序(在这种情况下为eXist)中抽取表单。使用XForms沙盒是使其工作的快捷方式,但您也可以使用XPL和Orbeon中的页面流来开发自己的自定义逻辑,这些操作类似。 – avernet 2013-04-23 18:12:49

+0

您也可以从Sandbox应用获得灵感,并通过POST支持创建自己的灵感。 – ebruchez 2013-04-23 21:53:27

相关问题