axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Harris" <JimHar...@blueyonder.co.uk>
Subject RE: ClassCastException + SOAP Header session
Date Tue, 12 Aug 2003 08:49:03 GMT
It sounds like the code that is handling the SOAPHeaders could be wrong
somewhere... I would look at that first.

Jim

-----Original Message-----
From: Said elaissaoui [mailto:selaissaoui@1genia.com]
Sent: 12 August 2003 08:40
To: axis-user@ws.apache.org
Subject: RE: ClassCastException + SOAP Header session


Jim,

My server sends a bean (Article) to the client, and i have the
ClassCasetException in the client stub (which receipts an Article). It works
before i try to handle soap header based sessions. I will apply your advice
and simplify my code to detect the problem,

thank's


-------Original Message-------

From: axis-user@ws.apache.org
Date: lundi 11 août 2003 20:55:37
To: axis-user@ws.apache.org; selaissaoui@1genia.com
Subject: RE: ClassCastException + SOAP Header session

Said,

All looks well as far as I can see. I would advise you to go as far back to
basics as possible to try to identify exactly where the class cast is
occuring - is it definately on the server-side, in the handler or on the
client-side.

For server-side problems I use log4j to output debugging statements to a
file where I have been able to gradually get to the root of any problems.
Sorry I can't offer any more advice...

Jim

> -----Original Message-----
> From: Said Elaissaoui / 1Genia [mailto:selaissaoui@1genia.com]
> Sent: 11 August 2003 13:48
> To: axis-user@ws.apache.org
> Subject: RE: ClassCastException + SOAP Header session
>
>
> Hi,
> I did what you advised me about my client-config.wsdd, but i still have a
> ClasscastException.
>
> this is my server-config.wsdd :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
> <globalConfiguration>
> <parameter name="adminPassword" value="admin"/>
> <parameter name="attachments.Directory" value="target/"/>
> <parameter name="sendMultiRefs" value="true"/>
> <parameter name="sendXsiTypes" value="true"/>
> <parameter name="attachments.implementation"
> value="org.apache.axis.attachments.AttachmentsImpl"/>
> <parameter name="sendXMLDeclaration" value="true"/>
> <parameter name="axis.sendMinimizedElements" value="true"/>
> <requestFlow>
> <handler name="soapmonitor"
> type="java:org.apache.axis.handlers.SOAPMonitorHandler"/>
> <handler type="java:org.apache.axis.handlers.JWSHandler">
> <parameter name="scope" value="session"/>
> </handler>
> <handler type="java:org.apache.axis.handlers.JWSHandler">
> <parameter name="scope" value="request"/>
> <parameter name="extension" value=".jwr"/>
> </handler>
> </requestFlow>
> <responseFlow>
> <handler name="soapmonitor"
> type="java:org.apache.axis.handlers.SOAPMonitorHandler"/>
> </responseFlow>
> </globalConfiguration>
> <handler name="LocalResponder"
> type="java:org.apache.axis.transport.local.LocalResponder"/>
>
> <handler name="SimpleSession"
> type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
>
> <handler name="URLMapper"
> type="java:org.apache.axis.handlers.http.URLMapper"/>
> <handler name="RPCDispatcher"
> type="java:org.apache.axis.providers.java.RPCProvider"/>
> <handler name="Authenticate"
> type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
> <handler name="MsgDispatcher"
> type="java:org.apache.axis.providers.java.MsgProvider"/>
> <service name="AdminService" provider="java:MSG">
> <parameter name="allowedMethods" value="AdminService"/>
> <parameter name="enableRemoteAdmin" value="true"/>
> <parameter name="className" value="org.apache.axis.utils.Admin"/>
> <namespace>http://xml.apache.org/axis/wsdd/</namespace>
> </service>
> <service name="Version" provider="java:RPC">
> <parameter name="allowedMethods" value="getVersion"/>
> <parameter name="className" value="org.apache.axis.Version"/>
> </service>
>
> <service name="ArticleProvider" provider="java:RPC">
> <requestFlow>
> <handler type="SimpleSession" />
> </requestFlow>
> <responseFlow>
> <handler type="SimpleSession" />
> </responseFlow>
> ...
> </service>
> <transport name="http"
> pivot="java:org.apache.axis.transport.http.HTTPSender">
> <requestFlow>
> <handler type="URLMapper"/>
> <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
> </requestFlow>
> </transport>
> <transport name="local">
> <responseFlow>
> <handler type="java:org.apache.axis.transport.local.LocalResponder"/>
> </responseFlow>
> </transport>
> </deployment>
>
> Thank you for your help.
>
>
>
> -----Message d'origine-----
> De : Jim Harris [mailto:JimHarris@blueyonder.co.uk]
> Envoyé : vendredi 8 août 2003 16:35
> À : axis-user@ws.apache.org; selaissaoui@1genia.com
> Objet : RE: ClassCastException + SOAP Header session
>
>
> Said,
>
> In your client it seems that you are going to invoke the session handler
> twice due to it being in the global and service-specific chains. I would
> remove the parts from the global chain so that your
> client-config.wsdd looks
> more like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
> <globalConfiguration>
> <parameter name="adminPassword" value="admin"/>
> <parameter name="attachments.Directory" value="target/"/>
> <parameter name="sendMultiRefs" value="true"/>
> <parameter name="sendXsiTypes" value="true"/>
> <parameter name="attachments.implementation"
> value="org.apache.axis.attachments.AttachmentsImpl"/>
> <parameter name="sendXMLDeclaration" value="true"/>
> <parameter name="axis.sendMinimizedElements" value="true"/>
> </globalConfiguration>
>
> <handler name="SimpleSession"
> type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
> <service name="ArticleProvider" provider="java:RPC">
> <requestFlow>
> <handler type="SimpleSession"/>
> </requestFlow>
> <responseFlow>
> <handler type="SimpleSession"/>
> ....
> </responseFlow>
> </service>
> <transport name="java"
> pivot="java:org.apache.axis.transport.java.JavaSender"/>
> <transport name="http"
> pivot="java:org.apache.axis.transport.http.HTTPSender"/>
> <transport name="local"
> pivot="java:org.apache.axis.transport.local.LocalSender"/>
> </deployment>
>
> That should be fine for the client-side. Don't be afraid of editing the
> server- and client-config.wsdd files by hand. I do nothing but this as the
> Admin tools seem to add crap that is not needed and causes
> problems in some
> cases.
>
> Could you post your actual server-config.wsdd file to see whether
> the Admin
> tool is doing anything funny with that too...
>
> Jim
>
>
>
> -----Original Message-----
> From: Said Elaissaoui / 1Genia [mailto:selaissaoui@1genia.com]
> Sent: 08 August 2003 11:23
> To: axis-user@ws.apache.org
> Subject: RE: ClassCastException + SOAP Header session
>
>
> It still not work.
>
> I reexplain lmy problem :
>
> Axis commes a handler called org.apache.axis.handlers.SimpleSessionHandler
> that provides SOAP header based session management. To use the simple
> session handler with the Web Service, you have to tell the Axis
> framework to
> add the handler to the handler chain. You do this by adding the handler
> information to my service's deploy.wsdd :
>
> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
> <!-- Services from ArticleProviderService WSDL service -->
> <handler name="SimpleSession"
> type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
> <service name="ArticleProvider" provider="java:RPC" style="rpc"
> use="encoded">
> <requestFlow>
> <handler type="SimpleSession"/>
> </requestFlow>
> <responseFlow>
> <handler type="SimpleSession"/>
> </responseFlow>
> .....
> </service>
> The handler is defined for both the request & the response; this ensures
> that the headers are read in the request and the added to the response.
> after using Axis deployement tools, the server is ready.
> To use this, the Web Service client has to read the handler and understand
> the semantics; an Axis client can do this :
> we create an Axis client that uses simple sessions, so with
> org.apache.axis.utils.Admin client deploy.wsdd will generate
> client-config.wsdd file
>
> wich contains :
> <?xml version="1.0" encoding="UTF-8"?>
> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
> <globalConfiguration>
> <parameter name="adminPassword" value="admin"/>
> <parameter name="attachments.Directory" value="target/"/>
> <parameter name="sendMultiRefs" value="true"/>
> <parameter name="sendXsiTypes" value="true"/>
> <parameter name="attachments.implementation"
> value="org.apache.axis.attachments.AttachmentsImpl"/>
> <parameter name="sendXMLDeclaration" value="true"/>
> <parameter name="axis.sendMinimizedElements" value="true"/>
> <requestFlow>
> <handler name="SimpleSession"
> type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
> </requestFlow>
> <responseFlow>
> <handler name="SimpleSession"
> type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
> </responseFlow>
> </globalConfiguration>
>
> <handler name="SimpleSession"
> type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
> <service name="ArticleProvider" provider="java:RPC">
> <requestFlow>
> <handler type="SimpleSession"/>
> </requestFlow>
> <responseFlow>
> <handler type="SimpleSession"/>
> ....
> </responseFlow>
> </service>
> <transport name="java"
> pivot="java:org.apache.axis.transport.java.JavaSender"/>
> <transport name="http"
> pivot="java:org.apache.axis.transport.http.HTTPSender"/>
> <transport name="local"
> pivot="java:org.apache.axis.transport.local.LocalSender"/>
> </deployment>
> For the client to handle simple sessions, the client-config.wsdd must be
> added to the client classpath
> that's what i do, but i always have a ClassCastException when in call my
> Web Service, and i didn't have this before.
> thank's for your help
>
> -----Message d'origine-----
> De : Jeyakumaran.C [mailto:jkumaran@vijayaba.cse.mrt.ac.lk]
> Envoyé : vendredi 8 août 2003 11:31
> À : axis-user@ws.apache.org; selaissaoui@1genia.com
> Objet : Re: ClassCastException + SOAP Header session
>
>
> hi,
> if i am correct then i think yr handler name(SimpleSessionHandler) and
> type(session) are not compatible.
> the type should be SimpleSession if the handler is SimpleSessionHandler
> I haven't used this before but according to the
> org.apache.axis.handlers.SimpleSessionHandler
> it sounds like.
> if it fails then u put the SimpleSessionHandler instead of SimpleSession.
> regards,
> Jeyakumaran.C
> ----- Original Message -----
> From: "Said Elaissaoui / 1Genia" <selaissaoui@1genia.com>
> To: <axis-user@ws.apache.org>
> Sent: Friday, August 08, 2003 2:43 PM
> Subject: ClassCastException + SOAP Header session
>
>
> >
> > Hello,
> >
> > in order to handle sessions in soap header, i have add this line in axis
> > server-config.wsdd :
> >
> > <handler name="SimpleSessionHandler"
> > type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
> > <service name="MyService" provider="java:RPC">
> > <requestFlow>
> > <handler type="session"/>
> > </requestFlow>
> > <responseFlow>
> > <handler type="session"/>
> > </responseFlow>
> > ......
> > </service>
> >
> > And i have generate a client-config.wsdd file wich i add to the
> classpath
> of
> > my client :
> > <?xml version="1.0" encoding="UTF-8"?>
> > <deployment xmlns="http://xml.apache.org/axis/wsdd/"
> > xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
> > <handler name="session"
> > type="java:org.apache.axis.handlers.SimpleSessionHandler"/>
> > <service name="MyService" provider="java:RPC">
> > <requestFlow>
> > <handler type="session"/>
> > </requestFlow>
> > <responseFlow>
> > <handler type="session"/>
> > </responseFlow>
> > ....
> > </service>
> > <transport name="java"
> > pivot="java:org.apache.axis.transport.java.JavaSender"/>
> > <transport name="http"
> > pivot="java:org.apache.axis.transport.http.HTTPSender"/>
> > <transport name="local"
> > pivot="java:org.apache.axis.transport.local.LocalSender"/>
> > </deployment>
> >
> > And when i call my service i have a ClassCastException
> > can any body help me ?
> >
> >
> >
> >
>
>
>
>



.


____________________________________________________
  IncrediMail - Email has finally evolved - Click Here



Mime
View raw message