#1 2014-06-04 14:49:53

Pradeep Choudhary
Member
Registered: 2014-06-04

Executing Reports using URLs - httpauthexecute

I am not being able to get the report by invoking a ReportServer URL from an external application. I am using RS2.1.6-5543-reportserver-x64-bundle.

http://localhost:7777/reportserver/reportserver/httpauthexport?id=7244&format=pdf&user=pradeep&password=pradeep&p_PQID=13

I have done following configuration in misc/httpauthexecute.cf file

<configuration>
   <httpauthexecute>
      <username>pradeep</username>
      <password>pradeep</password>
      <registered>
         <ids>5993, 7089, 7244</ids>
         <keys></keys>
      </registered>
      <executeuser>
           <id>11</id>
       </executeuser>
   </httpauthexecute>
</configuration>

executeuser id - 11 is for root user (Got this id from User Management menu).

When I tried to pull the report from browser using the same URL, it shows following exception.

-----------------------------------------------------------------------------------------------------
Fehler: An error occured during report execution.
'servlet.httpauthexecute.executeuser.id' doesn't map to an existing object
Im Falle eines nicht nachvollziehbaren Fehlers kontaktieren Sie bitte einen Administrator.
Details:
java.util.NoSuchElementException: 'servlet.httpauthexecute.executeuser.id' doesn't map to an existing object at org.apache.commons.configuration.AbstractConfiguration.getLong(AbstractConfiguration.java:862) at net.datenwerke.rs.incubator.server.httpauthexecute.HttpAuthExecuteServlet.getUser(HttpAuthExecuteServlet.java:120) at net.datenwerke.rs.incubator.server.httpauthexecute.HttpAuthExecuteServlet.createParameterSet(HttpAuthExecuteServlet.java:114) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:310) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportById(ReportExportServlet.java:242) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportByIdViaRequest(ReportExportServlet.java:233) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:153) at net.datenwerke.rs.incubator.server.httpauthexecute.HttpAuthExecuteServlet.doGet(HttpAuthExecuteServlet.java:106) at
--------------------------------------------------------------------------------------------------------

Please help me to resolve this issue.

Thanks in advance.
Pradeep

Offline

#2 2014-06-05 10:35:50

Thorsten J. Krause
datenwerke
Registered: 2012-02-15
Website

Re: Executing Reports using URLs - httpauthexecute

Hi Pradeep,

the default configuration shipped with rs is missing the "servlet" level. Update your configuration like this and you should be fine:

<configuration>
  <servlet>
    <httpauthexecute>
      <username>anon</username>
      <password>anon</password>
      <registered>
        <ids>5593</ids>
        <ids>7089</ids>
        <ids>7244</ids>
      </registered>
      <executeuser>
        <id>11</id>
      </executeuser>
    </httpauthexecute>
  </servlet>
</configuration>

Cheers,
Thorsten

Offline

#3 2014-06-06 06:53:42

Pradeep Choudhary
Member
Registered: 2014-06-04

Re: Executing Reports using URLs - httpauthexecute

Thanks Thorsten,

It is working now after updating the configuration. You saved my day.

Offline

Board footer

Powered by FluxBB