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:[EMAIL PROTECTED] Sent: 12 August 2003 08:40 To: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] Date: lundi 11 ao�t 2003 20:55:37 To: [EMAIL PROTECTED]; [EMAIL PROTECTED] 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:[EMAIL PROTECTED] > Sent: 11 August 2003 13:48 > To: [EMAIL PROTECTED] > 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:[EMAIL PROTECTED] > Envoy� : vendredi 8 ao�t 2003 16:35 > � : [EMAIL PROTECTED]; [EMAIL PROTECTED] > 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:[EMAIL PROTECTED] > Sent: 08 August 2003 11:23 > To: [EMAIL PROTECTED] > 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:[EMAIL PROTECTED] > Envoy� : vendredi 8 ao�t 2003 11:31 > � : [EMAIL PROTECTED]; [EMAIL PROTECTED] > 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" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > 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
