代码之家  ›  专栏  ›  技术社区  ›  Christopher Schultz

来自另一条管道的茧环

  •  0
  • Christopher Schultz  · 技术社区  · 8 年前

    我有一个Cocoon设置,带有一个管道,其变压器包含如下内容:

    <cinclude:include src="https://my-app/get-some-data" />
    

    现在,这里包含的URL实际上来自Cocoon,我有一个Java不信任的TLS证书,所以我得到了关于PKI证书路径的错误。我可以通过为JVM进程指定包含服务器TLS证书的信任库来“轻松”解决这个问题(现在已经有一段时间了)。

    我想停止这样做至少有两个原因:

    1. 当我的服务器证书需要更新时,我必须更新我的信任存储并跳出Cocoon
    2. 它可能更高效(无环回HTTP请求、无TLS握手等)

    cinclude了解Cocoon的相对路径吗?

    我在找这样的东西:

    <cinclude:include src="cocoon://get-some-data" />
    

    存在这样的情况吗?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Christopher Schultz    8 年前

    是的,你完全可以做到这一点。所需的语法已经在问题中,只需稍作修改。例如,假设我们有这个 match 在中配置 sitemap :

    <map:match pattern="get-some-data">
       ...
    </map:match>
    
    <map:match pattern="primary-request">
      ...
      <map:transform type="cinclude" />
      ..
    </map:match>
    

    使用 <cinclude> 在“主请求”管道中包含来自其他管道的请求只需要:

    <cinclude:include src="cocoon:/get-some-data?parameters" />
    

    此特定项仅适用于同一站点地图内的管道。如果您需要在其他站点地图中引用管道,则需要进行更多设置,但这超出了问题的范围。