带有JAVA ee应用程序的Sql Server Reporting Service 2010

时间:2013-03-07 23:44:33

标签: java sql-server reporting-services

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

  1. 在Eclipse中创建动态项目
  2. 进入New - Web Service客户端并进入Web服务定义       ://服务器:端口/的ReportServer / reportservice2010.asmx WSDL
  3. 我在我的项目中看到了以下软件包 com.microsoft.schemas.sqlserver.reporting._2010._03._01.ReportServer com.microsoft.schemas.sqlserver.reporting._2010._03._01.ReportServer.holders
  4. 我的代码:

    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 webservice而应该做些什么。

    此致 尼尔

1 个答案:

答案 0 :(得分:1)

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

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

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

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