我正在尝试使用C#代码中的黄鳍金枪鱼服务。它们是用Java编写的,所以我建议他enabed JAX services。
所以JAX服务are running位于“localhost:8083 / webservices / LegacyReportService?wsdl”,我无法让它们像specified一样工作(我正在运行ReportService的RUNDASHBOARDREPORT方法)
这就是我使用它的方式:
Web引用到我的localhost上运行的YF服务:
我在这里致电服务
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代码是准确的,无法复制您在原始电子邮件中识别的错误。“
请帮我看看,我做错了什么
答案 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">