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 ?
> >
> >
> >
> >
>
>
>
>


Reply via email to