Thanks for your help...

I am new to Axis and am not able to get the session id to show up in the
HTTP Header or the SOAP header.

I have tried setting rsSoapStub.setMaintainSession(true) and adding
<parameter name="scope" value="session"/> to the WSDL before using
WSDL2Java.

How do I get the session id to show up in the request?


----- Original Message ----- 
From: Anne Thomas Manes
To: [EMAIL PROTECTED]
Sent: Thursday, June 03, 2004 7:45 AM
Subject: RE: Axis client gets a Session Id Required error when attempting to
perform an render action against Microsoft's Reporting Services


Microsoft's Reporting Services supports session information using either a
SOAP Header block or a URL.
See
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/RSPROG/htm/rsp_prog_soapapi_dev_8x5u.asp




From: Davy Crocket [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 02, 2004 6:30 PM
To: [EMAIL PROTECTED]
Subject: Axis client gets a Session Id Required error when attempting to
perform an render action against Microsoft's Reporting Services

Hello, I am attempting to use Axis with my Java application to interact with
Microsoft's Reporting Services to save, retrieve, and render reports.  I am
able to save and retrieve the reports but when I attempt to run a report I
get a MissingSessionIdException error.  I am trying to figure out how to get
the session id passed in the request.  I used the WSDL2Java utility and
created stub classes from Microsoft's WSDL.

Here is the error:
System.Web.Services.Protocols.SoapException: The session identifier is
missing. A session identifier is required for this operation.  --->
Microsoft.ReportingServices.Diagnostics.Utilities.MissingSessionIdException:
The session identifier is missing. A session identifier is required for this
operation.
   at
Microsoft.ReportingServices.WebServer.ReportingService.GetSessionId(Boolean
required)
   at
Microsoft.ReportingServices.WebServer.ReportingService.RenderStream(String
Report, String Format, String StreamID, String HistoryID, String DeviceInfo,
ParameterValue[] Parameters, Byte[]& Result, String& Encoding, String&
MimeType)
   --- End of inner exception stack trace ---
   at
Microsoft.ReportingServices.WebServer.ReportingService.RenderStream(String
Report, String Format, String StreamID, String HistoryID, String DeviceInfo,
ParameterValue[] Parameters, Byte[]& Result, String& Encoding, String&
MimeType)

Here is the request from my Java application:
POST /ReportServer/ReportService.asmx HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.1
Host: 127.0.0.1
Cache-Control: no-cache
Pragma: no-cache
SOAPAction:
"http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingservices/
RenderStream"
Content-Length: 575

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
 <soapenv:Body>
  <RenderStream
xmlns="http://schemas.microsoft.com/sqlserver/2003/12/reporting/reportingser
vices">
   <Report>/MyReport2/Report1</Report>
   <Format>MHTML</Format>
   <StreamID xsi:nil="true"/>
   <HistoryID xsi:nil="true"/>
   <DeviceInfo xsi:nil="true"/>
   <Parameters xsi:nil="true"/>
  </RenderStream>
 </soapenv:Body>
</soapenv:Envelope>


thanks

davy crocket

Reply via email to