Has anyone successfully implemented a Java based solution that uses Microsoft SQL Server 2005 Reporting Services? Reporting Services comes with a set of Web Services that allow you to control the creation of a report, execution of a report, etc and I am just starting development on a POC of this integration. A couple of choices I have yet to make is whether I want to use Axis2 for the wsdl-to-java functionality or use WebLogic's clientgen (wsdl 2 java) solution. I guess I can also use JAX-WS and wsimport. Before I dive into this, I wanted to see if anyone was doing this successfully with one of the many options available.
有没有人成功实现了使用Microsoft SQL Server 2005 Reporting Services的基于Java的解决方案? Reporting Services附带了一组Web服务,允许您控制报告的创建,报告的执行等,我只是开始在此集成的POC上进行开发。我还没有做出的几个选择是我是想将Axis2用于wsdl-to-java功能还是使用WebLogic的clientgen(wsdl 2 java)解决方案。我想我也可以使用JAX-WS和wsimport。在我深入研究之前,我想看看是否有人通过众多选项之一成功地做到了这一点。
In the past, I've had a few issues on how null/blank/empty's are handled between .NET and Java web-services and I just wanted to see if this had come up as an issue with SSRS and Java integration. Thanks
在过去,我有一些关于如何在.NET和Java Web服务之间处理null / blank / empty的问题,我只是想看看这是否是SSRS和Java集成的问题。谢谢
3 个解决方案
#1
1
My experience with RS would lead me to suggest you go with just about anything else. I think the web services portion would work fine but I'd be concerned about how RS manages memory and how many reports you need to be running at once before making any decisions. I'm fighting with memory management problems today with RS and even on top of the line hardware it's hard to run large reports (large number of rows returned and a wide result set).
我对RS的经验会让我建议你选择其他任何东西。我认为Web服务部分可以正常工作,但我会关注RS如何管理内存以及在做出任何决策之前需要一次运行多少报告。我现在正在使用RS来解决内存管理问题,甚至在线路硬件上也很难运行大型报告(返回大量行和广泛的结果集)。
That being said if you think RS can handle your usage then it might be good. The development environment is sort of nice and it's easy to understand and lay out reports. The table layout paradigm it has is pretty good.
话虽如此,如果您认为RS可以处理您的使用情况,那么它可能会很好。开发环境很好,很容易理解和布局报告。它具有的表格布局范例非常好。
#2
1
I just wanted to come back and answer my own question. I started with Axis2, Apache's implementation of SOAP. After generating the client using WSDL2Java, I was able to successfully invoke Microsoft Reporting Services WebService and generate reports, output in Excel, PDF, CSV and other formats. In my case, I also used Axis2 or HttpClient's NTML authentication mechanism to have my application automatically 'log-in' using credentials from Active Directory and generate and distribute reports to many users.
我只是想回来回答我自己的问题。我开始使用Axis2,Apache的SOAP实现。使用WSDL2Java生成客户端后,我能够成功调用Microsoft Reporting Services WebService并生成报告,以Excel,PDF,CSV和其他格式输出。在我的例子中,我还使用Axis2或HttpClient的NTML身份验证机制让我的应用程序使用Active Directory中的凭据自动“登录”,并生成报告并将报告分发给许多用户。
#3
0
we've successfully implemented that: JBoss 5 -> IIS proxy -> MS Reporting Services 2008 (via webservice).
我们已经成功实现了:JBoss 5 - > IIS代理 - > MS Reporting Services 2008(通过webservice)。
There are few pitfalls: MS RS 2008 does not support 'Anonymous' access anymore (2005 does), and does enforce using NTLM authentication. That is still a challenge in Java world, there is no good NTLM library available.
存在一些缺陷:MS RS 2008不再支持“匿名”访问(2005年确实),并且使用NTLM身份验证强制执行。这在Java世界仍然是一个挑战,没有好的NTLM库可用。
To overcome that, we've implemented trivial proxy (IIS7 + ashx) that does NTLM authentication on RS (user/password hardcoded) and allows Anonymous access for JBoss (by simply rewriting http response).
为了解决这个问题,我们实现了在RS(用户/密码硬编码)上执行NTLM身份验证的普通代理(IIS7 + ashx),并允许JBoss的匿名访问(通过简单地重写http响应)。
Works ok :)
工作正常:)
Cheers P
#1
1
My experience with RS would lead me to suggest you go with just about anything else. I think the web services portion would work fine but I'd be concerned about how RS manages memory and how many reports you need to be running at once before making any decisions. I'm fighting with memory management problems today with RS and even on top of the line hardware it's hard to run large reports (large number of rows returned and a wide result set).
我对RS的经验会让我建议你选择其他任何东西。我认为Web服务部分可以正常工作,但我会关注RS如何管理内存以及在做出任何决策之前需要一次运行多少报告。我现在正在使用RS来解决内存管理问题,甚至在线路硬件上也很难运行大型报告(返回大量行和广泛的结果集)。
That being said if you think RS can handle your usage then it might be good. The development environment is sort of nice and it's easy to understand and lay out reports. The table layout paradigm it has is pretty good.
话虽如此,如果您认为RS可以处理您的使用情况,那么它可能会很好。开发环境很好,很容易理解和布局报告。它具有的表格布局范例非常好。
#2
1
I just wanted to come back and answer my own question. I started with Axis2, Apache's implementation of SOAP. After generating the client using WSDL2Java, I was able to successfully invoke Microsoft Reporting Services WebService and generate reports, output in Excel, PDF, CSV and other formats. In my case, I also used Axis2 or HttpClient's NTML authentication mechanism to have my application automatically 'log-in' using credentials from Active Directory and generate and distribute reports to many users.
我只是想回来回答我自己的问题。我开始使用Axis2,Apache的SOAP实现。使用WSDL2Java生成客户端后,我能够成功调用Microsoft Reporting Services WebService并生成报告,以Excel,PDF,CSV和其他格式输出。在我的例子中,我还使用Axis2或HttpClient的NTML身份验证机制让我的应用程序使用Active Directory中的凭据自动“登录”,并生成报告并将报告分发给许多用户。
#3
0
we've successfully implemented that: JBoss 5 -> IIS proxy -> MS Reporting Services 2008 (via webservice).
我们已经成功实现了:JBoss 5 - > IIS代理 - > MS Reporting Services 2008(通过webservice)。
There are few pitfalls: MS RS 2008 does not support 'Anonymous' access anymore (2005 does), and does enforce using NTLM authentication. That is still a challenge in Java world, there is no good NTLM library available.
存在一些缺陷:MS RS 2008不再支持“匿名”访问(2005年确实),并且使用NTLM身份验证强制执行。这在Java世界仍然是一个挑战,没有好的NTLM库可用。
To overcome that, we've implemented trivial proxy (IIS7 + ashx) that does NTLM authentication on RS (user/password hardcoded) and allows Anonymous access for JBoss (by simply rewriting http response).
为了解决这个问题,我们实现了在RS(用户/密码硬编码)上执行NTLM身份验证的普通代理(IIS7 + ashx),并允许JBoss的匿名访问(通过简单地重写http响应)。
Works ok :)
工作正常:)
Cheers P