Axis2C Staff REST 登录服务

Axis2C Staff REST login service

我正在使用 Axis2/C 非官方的 Staff 项目来简单地将一组方法扩展到 return 具有 REST 范例的数据集。

现在我需要对用户进行身份验证,我想使用 "staff.Login" 内置的 Staff 服务,始终采用 REST 方法。

我可以调用 "login" 和 "openSession" 方法(它们都 return 我是一个有效的 sessionID),但我无法在后续调用中保持此会话,因为如果我之后调用方法 "getUserName" 它说我是访客用户而不是我之前验证过的用户!

我是否必须像令牌一样在每次对服务的后续调用中传递会话 ID? 有人 link 可以给我任何关于登录服务的文档或示例吗? (我在网上找不到太多)

谢谢。

PS: 工作人员有一个用于测试此服务的示例客户端,它运行正常,但我需要通过具有 REST 方法的浏览器使用该服务。

当使用 REST+JSON 时,您的请求可能是这样的:

{
  "@headers": {
    "SessionId":"SID"
  },
  "GetUserName": {}
}

如果您使用的是 REST+SOAP,您的请求可能是这样的:

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Header>
    <sid:SessionId xmlns:sid="http://tempui.org/staff/sessionid">SID</sid:SessionId>
  </soapenv:Header>
  <soapenv:Body>
    <ns0:GetUserName xmlns:ns0="http://tempui.org/staff.Login"/>
  </soapenv:Body>
</soapenv:Envelope>

其中 SID 是由 "openSession" 或 "login" 返回的会话 ID。