这可能有点天真,但我对此事感到震惊
DataPower中有一个特定的<result>
元素,通过xslt调用时,我们采用了以下格式(我在某些论坛中发现过)-
<results mode="require-all" multiple-outputs="true" transactional="true" retry-interval="100" asynchronous="false">
<url input="var://the_request_SOAP_Format"asynchronous="true">https://XXXXXXX</url>
现在(URL输入)中是需要发送的请求,(https://XXXXXXX)是需要发送请求的指定后端
现在我还需要发送一些身份验证标头(httpHeaders),如果没有这些标头,则会出现Authorization错误
<xsl:variable name="httpHeaders">
<header name="Content-Type">application/json</header>
<header name="Authorization">
<xsl:value-of select="concat('Bearer ',$some_sessionID)"/>
</header>
</xsl:variable>
是否可以在结果模式元素/ Tab属性中添加这些“ httpHeaders”
谢谢
答案 0 :(得分:0)
我不确定您要实现的目标,但为响应(背面)添加了HTTP标头:
<dp:set-http-response-header name="'HeaderName'" value="$httpHeaders"/>
或
<dp:set-http-request-header name="'HeaderName'" value="$httpHeaders"/>
<results>
是处理策略将作为请求/响应的有效负载输出的数据的集合,并且不包含标头。您不应该尝试更改<results>
对象!
答案 1 :(得分:0)
调用后端的“ results-doc”方法非常强大,但是从您的问题中我不确定您是否完全理解它。 url / @ input属性必须是DataPower上下文:
<url input="var://context/mycontext" ...
要将标头与该上下文相关联,您应该对所需的每个标头执行以下操作:
<dp:set-variable
name="'var://context/mycontext/_extension/header/Content-Type'"
value="'application/json'"/>
(这将在您的XSLT代码中完成,与创建“结果”文档分开,但是在使用Results Action执行之前。)