1

我正在尝试将 Sql Server Reporting Service 与 Java EE 应用程序集成。我可以在报告服务器上看到 2 个报告。我正在尝试使用 RS Web 服务来访问服务器。我采取的步骤是

  1. 在 Eclipse 中创建动态项目
  2. 转到新建 - Web 服务客户端并输入 Web 服务定义为 ://serverName:port/ReportServer/reportservice2010.asmx?wsdl
  3. 我在我的项目中看到以下包 com.microsoft.schemas.sqlserver.reporting._2010._03._01.ReportServer com.microsoft.schemas.sqlserver.reporting._2010._03._01.ReportServer.holders

我的代码:

com.microsoft.schemas.sqlserver.reporting._2010._03._01.ReportServer.Reporting‌Service2010SoapProxy service = new com.microsoft.schemas.sqlserver.reporting._2010._03._01.ReportServer.ReportingSe‌​rvice2010SoapProxy();
String endPo="://serverName:port/ReportServer/reportservice2010.asmx?wsdl";
service.setEndpoint(endPo);
service.logonUser("serverName\\username", "password",null );

错误是:

AxisFault faultCode: {xml.apache.org/axis}HTTP faultSubcode: faultString: (401)Unauthorized

在此之后,我不确定我需要做什么。请帮我。我还尝试使用代理使用此 Web 服务,但出现错误。请帮助我了解为了在 Java 中使用 SSRS 2010 Web 服务应该做些什么。

问候,尼尔

4

1 回答 1

1

我的猜测是您的身份验证设置不正确。

您生成的代理可能使用 HTTP Basic 身份验证,默认情况下报告服务不支持该身份验证。如果您想支持它(如果可以接受?),您需要启用RSWindowsBasic身份验证类型。

查看http://msdn.microsoft.com/en-us/library/bb283249.aspx以获取有关如何执行此操作的文档。

正在进行中,您需要研究如何使您的 java 代理与 NTLM 一起工作。

于 2013-03-08T02:28:59.250 回答