首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReportExecutionService2005 soap4r SOAP::FaultError:缺少会话标识符

ReportExecutionService2005 soap4r SOAP::FaultError:缺少会话标识符
EN

Stack Overflow用户
提问于 2011-02-16 21:56:25
回答 1查看 2.5K关注 0票数 0

我应该如何设置与服务器通信的会话标识符?

代码语言:javascript
复制
@service = SOAP::WSDLDriverFactory.new(WSDL_URL).create_rpc_driver

@service.getExecutionInfo({})

SOAP::FaultError:缺少会话标识符。此操作需要会话标识符。->缺少会话标识符。此操作需要会话标识符。来自#< SOAP::Mapping::Object:0xb5bfef2c>

EN

回答 1

Stack Overflow用户

发布于 2011-05-17 21:56:24

首先,我需要指出的是,我对ruby-on-rails或soap4r一无所知,但我在使用Java服务时遇到了类似的问题,所以我可以为您指明正确的方向。

会话标识符是在加载报表后生成的,因此您需要调用web服务的LoadReport方法,该方法返回一个ExecutionInfo对象,您在该对象上调用getExecutionID,从而为您提供所需的会话标识符。

该标识符需要进入该报告的所有后续请求的SOAP标头中(更改报告,并且您需要更改标头中的标识符)。您的SOAP标头最终应该如下所示:

代码语言:javascript
复制
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
    <env:Header>
        <ssrs:ExecutionHeader xmlns:ssrs='http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices'>
            <ssrs:ExecutionID>your-execution-id</SSRS:ExecutionID>
        </ssrs:ExecutionHeader>
        ...
    </env:Header>
    ...
</env:Envelope>

显然,your-execution-id将替换为从getExecution ID返回的内容。

如何在ruby和soap4r中获得标题是我无能为力的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5017322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档