我的Calabash xproc管道使用p:http-request来触发GET请求。服务器需要身份验证,所以我使用带有username / password / auth-method属性的c:request。我正在努力解决如何动态填充c:request的href属性的问题。
Calabash似乎不喜欢:
<c:request method="GET" href="{$href}" username="username" password="password" auth-method="basic" detailed="false"/>这并不奇怪,因为动态设置href在p:load上也不起作用。但在后一种情况下,添加一个p:with-option子级会有所帮助。对于c:request,它不会。
因此,这让我想知道是否还有其他解决方案?
发布于 2014-07-17 22:52:19
XProc 1.0不支持属性值模板。但是,还有一个可选但非常有用的p:template步骤(据我所知,Calabash支持这个步骤)-- Introduction部分准确地介绍了您的用例。
发布于 2014-07-16 04:02:11
我认为这里的解决方案是动态构造c:request元素+属性。
工作示例如下所示:
<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0">
<p:input port="source">
<p:inline>
<c:request method="GET" username="username" password="password" auth-method="basic"/>
</p:inline>
</p:input>
<p:output port="result"/>
<p:option name="area" select="'testvalue1'"/>
<p:option name="work" select="'testvalue2'"/>
<p:add-attribute match="/c:request" attribute-name="href">
<p:with-option name="attribute-value" select="concat('http://localhost:8181/exist/rest/db/OEP/code/test/testGet.xql?area=', $area, '&work=', $work)"/>
</p:add-attribute>
<p:http-request/>
</p:declare-step>我仍然对一种更好的方式感兴趣,因为这看起来不太对:-(
https://stackoverflow.com/questions/24757859
复制相似问题