【问题标题】:WSO2 ESB - How to get and set cookies in WSDL calls inWSO2 ESB - 如何在 WSDL 调用中获取和设置 cookie
【发布时间】:2014-12-26 18:28:50
【问题描述】:

我使用 WSO2 ESB 并希望将 2 个 Web 服务连接在一起 - 在计时器上从一个服务中提取数据并将其推送到另一个服务。

问题是其中一项服务使用 cookie 对调用者进行身份验证。您首先需要使用用户名和密码调用 GetSession 方法。对此调用的响应设置了一个 cookie。然后用这个 cookie 进行其他调用。

我在文档中找不到任何地方,如何从一次调用的结果中获取 cookie 并将其设置为后续调用。它完全可以实现吗?如果是这样 - 如何?

这是我的序列码:

<sequence xmlns="http://ws.apache.org/ns/synapse" name="SampleName" trace="enable">
   <payloadFactory media-type="xml">
      <format>
         <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
            <Body>
               <GetSessionWithCredentials xmlns="blabla">
                  <User>bla</User>
                  <Password>bla</Password>
               </GetSessionWithCredentials>
            </Body>
         </Envelope>
      </format>
   </payloadFactory>
   <call>
      <endpoint key="conf:/Tracker"></endpoint>
   </call>
   <payloadFactory media-type="xml">
      <format>
         <GetTrackingList xmlns="blabla"></GetTrackingList>
      </format>
   </payloadFactory>
   <property xmlns:ns="http://org.apache.synapse/xsd" name="Cookie" expression="$trp:Cookie"></property>
   <call>
      <endpoint key="conf:/Tracker"></endpoint>
   </call>
   <log level="full"></log>
</sequence>

非常感谢

【问题讨论】:

    标签: cookies wsdl wso2 wso2esb


    【解决方案1】:

    获取 Cookie 标头:&lt;property name="Cookie" expression="$trp:Cookie"/&gt; 如果你想得到一个 cookie 并且它的值,例如使用带有 'substring' 的 xpath 表达式

    使用值 JSESSIONID=1 设置 cookie 标头:&lt;property name="Cookie" value="JSESSIONID=1" scope="transport"/&gt;

    【讨论】:

    • 谢谢,让-米歇尔!但我无法让它工作。我在问题中附加了序列码,你能告诉我我做错了什么吗?第二次调用返回“No valid session”错误。
    • 顺便问一下,有没有办法调试 ESB 中的标头?谢谢
    • 与 org.apache.synapse/xsd" name="Cookie" expression="$trp:Cookie">,你只是定义了一个名为 'Cookie ' 它的值就是你在 Cookie header 中找到的值...在 ESB_HOME/bin 你会找到 tcpmon,用它​​来调试 http headers
    • 它有效,但我必须使用 $trp.Set-Cookie 而不是 $trp.Cookie!
    • 我尝试使用 WSO2 ESB 4.8.1 进行此操作,但不适用于我。我使用 $trp.Set-Cookie 收到空值
    猜你喜欢
    • 2018-09-06
    • 2013-02-21
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多