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。
我正在使用 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。