【问题标题】:Regarding <Results> Element/propery/Tag/Function in DataPower xslt关于 DataPower xslt 中的 <Results> 元素/属性/标签/功能
【发布时间】:2018-09-03 14:26:47
【问题描述】:

这可能有点幼稚,但我对这个问题很震惊

DataPower 中有一个特定的 &lt;result&gt; 元素,当通过 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),否则我将收到授权错误

    <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”

谢谢

【问题讨论】:

    标签: xslt ibm-datapower


    【解决方案1】:

    我不确定您要实现什么,但为您使用的响应(后端)添加 http 标头:

    <dp:set-http-response-header name="'HeaderName'" value="$httpHeaders"/>
    

    <dp:set-http-request-header name="'HeaderName'" value="$httpHeaders"/>
    

    &lt;results&gt; 是处理策略将作为请求/响应的有效负载输出且不包含标头的数据集合。您不应该尝试更改 &lt;results&gt; 对象!

    【讨论】:

      【解决方案2】:

      调用后端的“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 代码中完成,与创建“结果”文档分开,但在您使用结果操作执行之前。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-10
        • 1970-01-01
        相关资源
        最近更新 更多