使用C#调用Yellowfin商业智能服务

时间:2014-11-19 08:12:45

标签: java c# web-services wsdl business-intelligence

我正在尝试使用C#代码中的黄鳍金枪鱼服务。它们是用Java编写的,所以我建议他enabed JAX services

所以JAX服务are running位于“localhost:8083 / webservices / LegacyReportService?wsdl”,我无法让它们像specified一样工作(我正在运行ReportService的RUNDASHBOARDREPORT方法)

这就是我使用它的方式:
Web引用到我的localhost上运行的YF服务:
Web Reference usage screenshot

我在这里致电服务

    public static reportServiceResponse RunDashboardReport(Int32 reportId, Int32 tabId)
    {
        var rq = CreateYfRequest("RUNDASHBOARDREPORT");
        rq.reportId = reportId;
        rq.dashboardTabId = tabId;
        using (var srv = new LegacyReportServiceService())
        {
            var resp = srv.remoteReportCall(rq); // there is no "remoteAdministrationCall" as in the doc
            return resp;
        }
    }


    private static reportServiceRequest CreateYfRequest(String command)
    {
        var rq = new reportServiceRequest
        {
            loginId = "admin@yellowfin.com.au",
            password = "test",
            orgId = 1,    // This is the primary organization
            reportRequest = command
        };
        return rq;
    }

get“System.Xml.dll中出现'System.InvalidOperationException'类型的异常” 在创建时

    new LegacyReportServiceService()

我也尝试将其添加为服务参考,但结果是一样的。

YF团队sais “我们确实有客户使用.net和C#来开发他们的集成代码....支持团队确认了黄鳍金枪鱼目录中开发文件夹中提供的示例代码和WSDL代码是准确的,无法复制您在原始电子邮件中识别的错误。“


请帮我看看,我做错了什么

3 个答案:

答案 0 :(得分:1)

我发现VS从“localhost:8083 / webservices / LegacyReportService?xsd = 1”为Web服务访问生成类,并且它做得不正确。它使String []成为原始的String类型。

因此,编辑Web Reference的生成的Reference.cs就可以了。至少,我得到了errorCode 25“Not authorized”的响应。

答案 1 :(得分:0)

尝试使用以下代码来删除响应代码25。

        rsr.orgId = 1;
        rsr.orgIdSpecified = true;
        rsr.dashboardTabId = 11111;
        rsr.dashboardTabIdSpecified = true;
        rsr.reportId = 22222;
        rsr.reportIdSpecified = true;

黄鳍金枪鱼的某些参数需要明确告知阅读。

答案 2 :(得分:0)

检查是否可行

<input type="text" 
       value="<?=date('m-d-Y',strtotime($edit[0]['meeting_date'])); ?>" 
       name="meeting_date"  
       class="form-control has-feedback-left" 
       id="single_cal4" aria-describedby="inputSuccess2Status3">