Планирование Отчета JasperServer через SOAP с помощью Python

Я смог выяснить, как выполнить отчеты, загрузите файлы, перечислите папки, и т.д. на JasperServer с помощью Python с SOAPpy и xml.dom minidom.

Вот пример, выполняют запрос отчета, который работает:

repositoryURL = 'http://user@pass:myjasperserver:8080/jasperserver/services/repository'
repositoryWSDL = repositoryURL + '?wsdl'
server = SOAPProxy(repositoryURL, repositoryWSDL)
print server._ns(repositoryWSDL).runReport('''
  
    PDF
    
      
      bar
    
  
''')

Однако я испытываю затруднения при форматировании моих запросов правильно на раздел "ReportScheduler" сервера. Я консультировался с документацией, расположенной здесь (http://jasperforge.org/espdocs/docsbrowse.php?id=74&type=docs&group_id=112&fid=305), и попробовал модель мои запросы после их образцов без удачи (см. страницу 27).

Вот два примера, которые я попробовал, которые оба возвращают ту же ошибку:

schedulingURL = 'http://user@pass:myjasperserver:8080/jasperserver/services/ReportScheduler'
schedulingWSDL = schedulingURL + '?wsdl'
server = SOAPProxy(schedulingURL, schedulingWSDL)

# first request
print server._ns(schedulingWSDL).scheduleJob('''
  
    
      /reports/baz
      
      baz
      
        2009-05-15T15:45:00.000Z
        1
      
      baz
      
        PDF
      
      
        /reports_generated
        true
        false
      
      
        my@email.com
        test
        test
        SEND_ATTACHMENT
      
    
  ''')

# second request (trying different format here)
print server._ns(schedulingWSDL).scheduleJob('''
  
  
    /reports/baz
    
    
    baz
    
      
      2008-10-09T09:25:00.000Z
      
      1
      
      
    
    
    
    
    test
    
      PDF
    
    
    
      /reports_generated
      false
      false
    
    
  
  ''')

Каждый из этих запросов приводит к ошибкам:

SOAPpy.Types.faultType:  class com.jaspersoft.jasperserver.ws.scheduling.Job):
: {'hostname': 'myhost'}>

Любая справка/руководство ценилась бы.Спасибо.

6
задан Marc Gravell 27 May 2009 в 20:17
поделиться

2 ответа

У меня было много неудач с минидомом. Я рекомендую вам использовать lxml . У меня не было опыта работы с самим мылом, поэтому я не могу говорить об остальной части проблемы.

1
ответ дан 17 December 2019 в 20:34
поделиться

Ничего не зная о Джаспере, я могу гарантировать вам, что вам лучше заменить жестко запрограммированные запросы SOAP простым клиентом на основе отличная библиотека пены . Он абстрагируется от SOAP и оставляет вам безупречный доступ к API.

easy_install suds и docs должно быть достаточно, чтобы вы начали.

1
ответ дан 17 December 2019 в 20:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: