Вопрос

Кто-нибудь успешно реализовал решение на основе Java, использующее службы отчетов Microsoft SQL Server 2005?Службы Reporting Services поставляются с набором веб-служб, которые позволяют вам контролировать создание отчета, выполнение отчета и т. д., и я только начинаю разработку POC для этой интеграции.Мне еще предстоит сделать несколько вариантов: хочу ли я использовать Axis2 для функциональности wsdl-to-java или использовать решение WebLogic clientgen (wsdl 2 java).Думаю, я также могу использовать JAX-WS и wsimport.Прежде чем углубиться в это, я хотел посмотреть, успешно ли кто-нибудь делал это с помощью одного из многих доступных вариантов.

В прошлом у меня возникало несколько проблем с тем, как значения null/blank/empty обрабатываются между веб-службами .NET и Java, и я просто хотел посмотреть, не возникло ли это как проблема с интеграцией SSRS и Java.Спасибо

Это было полезно?

Решение

Мой опыт работы с RS побудил меня предложить вам использовать что угодно еще.Я думаю, что часть веб-сервисов будет работать нормально, но меня беспокоит то, как RS управляет памятью и сколько отчетов вам нужно запустить одновременно, прежде чем принимать какие-либо решения.Сегодня я борюсь с проблемами управления памятью с помощью RS, и даже на высокопроизводительном оборудовании трудно запускать большие отчеты (большое количество возвращаемых строк и широкий набор результатов).

При этом, если вы думаете, что RS справится с вашим использованием, то это может быть хорошо.Среда разработки довольно приятная, в ней легко понимать и составлять отчеты.Парадигма компоновки таблиц довольно хороша.

Другие советы

Я просто хотел вернуться и ответить на свой вопрос.Я начал с Axis2, реализации SOAP в Apache.После создания клиента с помощью WSDL2Java я смог успешно вызвать веб-службу Microsoft Reporting Services и генерировать отчеты, выводимые в Excel, PDF, CSV и других форматах.В моем случае я также использовал механизм аутентификации NTML Axis2 или HttpClient, чтобы мое приложение автоматически «входило в систему», используя учетные данные из Active Directory, а также создавало и распространяло отчеты среди многих пользователей.

мы успешно реализовали это:JBoss 5 -> Прокси-сервер IIS -> Службы отчетов MS 2008 (через веб-сервис).

Есть несколько подводных камней:MS RS 2008 больше не поддерживает «анонимный» доступ (2005 поддерживает) и требует использования аутентификации NTLM.Это по-прежнему является проблемой в мире Java: хорошей библиотеки NTLM не существует.

Чтобы преодолеть эту проблему, мы реализовали тривиальный прокси-сервер (IIS7 + ashx), который выполняет аутентификацию NTLM на RS (жестко запрограммированный пользователь/пароль) и разрешает анонимный доступ для JBoss (простым переписыванием HTTP-ответа).

Работает нормально :)

Приветствия с

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top