【发布时间】: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>
非常感谢
【问题讨论】: