Thanks...  I appreciate all the help!  I will look into a deployment
descriptor.

I did read an article last night that stated:  "There are not yet any
solutions to ensure interoperability in terms of session management between
Axis and other Web Service implementations."  This is from an article (Axis:
The new Incarnation of Apache SOAP.pdf) that is dated 2002.

Davy

----- Original Message ----- 
From: "Anne Thomas Manes" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 04, 2004 6:31 AM
Subject: RE: Axis client gets a Session Id Required error when attempting to
perform an render action against Microsoft's Reporting Services


You need a deployment descriptor on the client side if you want to configure
the client to use JAX-RPC handlers or to use a custom serializer.

-----Original Message-----
From: Dorner Thomas [mailto:[EMAIL PROTECTED]
Sent: Friday, June 04, 2004 3:21 AM
To: '[EMAIL PROTECTED]'
Subject: AW: Axis client gets a Session Id Required error when attempting to
perform an render action against Microsoft's Reporting Services

It is possible to define a Deployment Des. on the client side
(I read so) and set the Handlers also there. But you dont need
in my way - i haven�t use it! :(

Tomi

-----Urspr�ngliche Nachricht-----
Von: Davy Crocket [mailto:[EMAIL PROTECTED]
Gesendet: Donnerstag, 3. Juni 2004 16:16
An: [EMAIL PROTECTED]
Betreff: Re: Axis client gets a Session Id Required error when
attempting to perform an render action against Microsoft's Reporting
Services


Thanks...

Do you need to define (use) a Deployment Descriptor  when using Axis on the
client side?  I thought it was for the server side configuration only.

----- Original Message ----- 
From: "Dorner Thomas" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, June 03, 2004 8:58 AM
Subject: AW: Axis client gets a Session Id Required error when attempting to
perform an render action against Microsoft's Reporting Services


You have to use SimpleSessionHandler

--> you must set in the Deployment Descriptor like this:

...
   xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>

  <handler name="SessionHandler"
type="java:org.apache.axis.handlers.SimpleSessionHandler"/>

<!-- Services from PDMWebConnectorService WSDL service -->

<service name="xxx" provider="java:RPC" style="rpc" use="encoded">

<requestFlow>
<handler type="SessionHandler"/>
</requestFlow>

<responseFlow>
<handler type="SessionHandler"/>
</responseFlow>

      <parameter name="wsdl.....


--> create " SimpleSessionHandler sessionHandler;" in your stub
for example in the constructors.
and set the clientHandlers like this to your call:

_call.setClientHandlers(sessionHandler, sessionHandler);


and setMaintainSession() in your client.


Now look for mor information in the mailing list ("simpleSessionHandler")!

Tomi

-----Urspr�ngliche Nachricht-----
Von: Davy Crocket [mailto:[EMAIL PROTECTED]
Gesendet: Donnerstag, 3. Juni 2004 15:48
An: [EMAIL PROTECTED]
Betreff: Re: Axis client gets a Session Id Required error when
attempting to perform an render action against Microsoft's Reporting
Services


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