【问题标题】:Orbeon to eXist-db loosing query-stringOrbeon 到 eXist-db 丢失查询字符串
【发布时间】:2015-01-10 00:35:54
【问题描述】:

当我使用自定义标头直接通过端口 8877 调用 eXist-db 时,我有一个回显设置,告诉我它可以正常到达那里。这条路线在互联网上通常是封闭的。

当我使用下面的 page-flow.xml 行通过 Orbeon (3.9) 调用 eXist-db 时,我不仅丢失了相同的标题,而且丢失了调用中的查询参数。

页面流:

<page id="fhir" path-info="/fhir/(.*)" matcher="oxf:perl5-matcher" view="http://localhost:8877/fhir/${1}"/>

调用(显然只适用于我的机器...):

curl -v -H "X-Request-Echo: true" http://localhost:8080/art-decor/fhir/ValueSet/?_lastUpdated=%3E2015

我可以在 Orbeon 的配置中做些什么吗?事实证明,升级 Orbeon 并非易事,因为 css 模型发生了变化,而且很多页面在加载时都会出现有用的错误,所以我希望得到不同的答案。

【问题讨论】:

    标签: orbeon


    【解决方案1】:

    控制器仅匹配路径,而不匹配查询参数。所以${...}的替换语法不会有查询字符串。

    实际上,您正在尝试代理请求,对吗?如果是这样,我担心控制器不是理想的工具。

    【讨论】:

    • 查询参数不需要匹配。它只需要准确转发我在转发之前拥有的标题和查询字符串。我现在正在丢失信息。我现在使用 httpd/nginx 解决了它。
    • 关键是控制器只匹配 path,因此正则表达式组 (.*)(在 view 上可用作 ${1})只包含该路径上匹配的内容。它既不转发查询参数也不转发标头。您使用其他工具来进行这种代理是正确的。简而言之,控制器不打算用作代理。
    • 哎哟。这是一个相当严重的限制。谢谢。
    • 也许可以,但控制器从未打算成为 mod_rewrite 或 mod_proxy ;) 我建议您改用 UrlRewriteFilter,它可以用作代理。
    猜你喜欢
    • 2018-09-22
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多