You also might want to check out how you're packaging SOAP in your EAR.  WAS
4 has soap.jar already within it's lib directory, and if you are also
including it in your WEB-INF/lib dir, sometimes WAS gets a little cranky
about that and the classloader violations fly.  Sometimes all it takes is a
full stop and start of the application server you have your EAR deployed
under.  Hope this helps,


----- Original Message -----
From: "Scott Nichol" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, September 19, 2002 10:00 AM
Subject: Re: websphere 4.0 SOAPException Please Help!


> I think I can help with TcpTunnelGui, but the latest error you are seeing
is
> not something I think I can help with.
>
> TcpTunnelGui will listen on a new port, and you must change your client to
> connect to that port.  So, if the client was calling
> http://localhost/ASTWebService/servlet/rpcrouter, you run
>
>     TcpTunnelGui 9080 localhost 80
>
> and change the client to
> http://localhost:9080/ASTWebService/servlet/rpcrouter.  In other words,
the
> client now connects to TcpTunnelGui, while TcpTunnelGui connects to the
Web
> server (at localhost:80).
>
> Scott Nichol
>
> ----- Original Message -----
> From: "O'Neill, Timothy(LIT)" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, September 19, 2002 5:02 AM
> Subject: RE: websphere 4.0 SOAPException Please Help!
>
>
> > Hi Scott,
> >
> > I have tried the tcptunnelgui but I'm not seeing anything at all?
> >
> > Heres the url: URL url = new URL
> > ("http://localhost:9080/ASTWebService/servlet/rpcrouter";);
> >
> > I have the following params to tcptunnelgui 80 localhost 9080, is this
> > right?
> >
> > This is an ejb that I'm trying to expose as a web service.
> >
> > I created a small class that calls the ejb and only returns a string
from
> > the complex type that I really want and have exposed it as a soap web
> > service but I'm now getting the following error from it:
> >
> >   Fault Code   = SOAP-ENV:Server
> >   Fault String = Exception from service object: Class
> > com/libertyit/ast/ASTSessionFacade violates loader constraints
> > java.lang.LinkageError: Class com/libertyit/ast/ASTSessionFacade
violates
> > loader constraints
> >         at java.lang.ClassLoader.defineClass0(Native Method)
> >         at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled
> > Code))
> >         at
> >
>
com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.jav
> > a(Compiled Code))
> >         at
> >
>
com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.jav
> > a(Compiled Code))
> >         at
> >
>
com.ibm.ws.classloader.ClassLoaderGroup.findClass(ClassLoaderGroup.java(Comp
> > iled Code))
> >         at
> >
>
com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.jav
> > a(Compiled Code))
> >         at
> >
>
com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.jav
> > a(Compiled Code))
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled
> Code))
> >         at
> >
>
com.libertyit.ast.ASTWSWrapper.getPolicyExpirationDate(ASTWSWrapper.java:43)
> >         at java.lang.reflect.Method.invoke(Native Method)
> >         at org.apache.soap.server.RPCRouter.invoke(RPCRouter.java:146)
> >         at
> >
org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java:129)
> >         at
> >
>
org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:28
> > 7)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> >         at
> >
>
com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager
> > .java:827)
> >         at
> >
>
com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycl
> > eServlet.java:159)
> >         at
> >
>
com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServle
> > t.java:286)
> >         at
> >
>
com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycle
> > Servlet.java:106)
> >         at
> >
>
com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:47
> > 2)
> >         at
> >
>
com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletMan
> > ager.java:1012)
> >         at
> >
>
com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManag
> > er.java:913)
> >         at
> >
>
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(W
> > ebAppRequestDispatcher.java:499)
> >         at
> >
>
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequest
> > Dispatcher.java:278)
> >         at
> >
>
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestD
> > ispatcher.java:105)
> >         at
> >
com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:67)
> >         at
> >
>
com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.
> > java:123)
> >         at
> >
>
com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedIn
> > vocation.java:67)
> >         at
> >
>
com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequ
> > estProcessor.java:122)
> >         at
> >
>
com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener
> > .java:315)
> >         at
> >
>
com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.ja
> > va:60)
> >         at
> >
>
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:313)
> >         at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:242)
> >         at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)
> >
> > Heres the code:
> >
> > package com.libertyit.ast;
> > /*
> >  * ASTWSWrapper.java
> >  *
> >  * Created on 18 September 2002, 09:29
> >  */
> > import javax.naming.InitialContext;
> > import javax.naming.Context;
> > import javax.naming.NamingException;
> > import java.rmi.RemoteException;
> > import com.libertyit.ast.entity.Policy;
> >
> > /**
> >  *
> >  * @author  n0099385
> >  */
> > public class ASTWSWrapper {
> >
> >     /** Creates a new instance of ASTWSWrapper */
> >     public ASTWSWrapper()
> >     {
> >     }
> >
> >     public String getPolicyExpirationDate(String aPolicyNumber) throws
> > Exception {
> >
> >         // get the JNDI initial context
> >         System.err.println("Getting J2EE initial context");
> > java.util.Properties jndiProperties = new java.util.Properties();
> >
> >
>
jndiProperties.put("java.naming.factory.initial","com.ibm.websphere.naming.W
> > snInitialContextFactory");
> >
> > jndiProperties.put("java.naming.provider.url","iiop://localhost:900/");
> > Context jndiContext = new
> > InitialContext(jndiProperties);//jndiProperties);
> >         // lookup the EJB home
> >         System.err.println("Looking up EJB Home");
> >         Object homeRef =
> > jndiContext.lookup("com/libertyit/ast/ASTSessionFacade");
> >         ASTSessionFacadeHome home =
> >         (ASTSessionFacadeHome)javax.rmi.PortableRemoteObject.narrow(
> >         homeRef, ASTSessionFacadeHome.class);
> >         // create the EJB instance
> >         System.err.println("Creating EJB");
> >         ASTSessionFacade ejb = home.create();
> >         // call the getQuote method
> >         System.err.println("Calling getPolicyDetails");
> >         Policy policy = ejb.getPolicyDetails(aPolicyNumber);
> >
> >         System.err.println(policy.getExpirationDate());
> >         String expirationDate = policy.getExpirationDate();
> >         // remove the EJB
> >         System.err.println("Removing EJB");
> >         ejb.remove();
> >         return expirationDate;
> >     }
> >
> > }
> >
> > Is this a circular reference, I added the home and remote interface to
the
> > jar containing this class and created a dummy web module for this one
then
> > ran the soapearenabler on it.  Whats going wrong here?
> >
> > Thanks for your help
> >
> > Tim
> >
> > -----Original Message-----
> > From: Scott Nichol [mailto:[EMAIL PROTECTED]]
> > Sent: 18 September 2002 14:33
> > To: [EMAIL PROTECTED]
> > Subject: Re: websphere 4.0 SOAPException Please Help!
> >
> >
> > Unfortunately, it's hard to help with the WAS implementation, since you
> > cannot just plug in a new build that has more specific messages.  Have
you
> > used a tool like TcpTunnelGui to capture the SOAP envelope from the
call?
> I
> > am wondering exactly what is being de-serialized when this error occurs.
> >
> > Scott Nichol
> >
> > ----- Original Message -----
> > From: "O'Neill, Timothy(LIT)" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Wednesday, September 18, 2002 6:02 AM
> > Subject: websphere 4.0 SOAPException Please Help!
> >
> >
> > > Hi All,
> > >
> > > I have deployed an ear file using websphere and am getting the
following
> > > SOAPException:
> > >
> > > [SOAPException: faultCode=SOAP-ENV:Client; msg=Unable to set
> 'companyCode'
> > > property: null.; targetException=java.lang.IllegalArgumentException:
> > Unable
> > > to set 'companyCode' property: null.]
> > >         at org.apache.soap.rpc.Call.invoke(Call.java:258)
> > >         at
> > >
> >
>
com.libertyit.ast.ASTSessionFacadeWebService.main(ASTSessionFacadeWebService
> > > .java:70)
> > > Exception in thread "main"
> > >
> > > companyCode is an attribute within a Bean that is the return of the
> called
> > > method.
> > >
> > > I have created 3 wsdl files as described in the Implementing Web
> Services
> > > with IBM Websphere 4.0 tutorial along with a SOAP deployment
descriptor
> > > heres the descriptor:
> > >
> > > <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment";
> > > id="urn:ASTWebService">
> > >         <isd:provider
> > type="com.ibm.soap.providers.WASStatelessEJBProvider"
> > > scope="Application" methods="getPolicyDetails">
> > >                 <isd:option key="JNDIName"
> > > value="com/libertyit/ast/ASTSessionFacade"/>
> > >                 <isd:option key="FullHomeInterfaceName"
> > > value="com.libertyit.ast.ASTSessionFacadeHome"/>
> > >                 <isd:option key="ContextProviderURL"
> > > value="iiop://localhost:900"/>
> > >                 <isd:option key="FullContextFactoryName"
> > > value="com.ibm.websphere.naming.WsnInitialContextFactory"/>
> > >         </isd:provider>
> > >
> > >
> >
>
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListene
> > > r>
> > >         <isd:mappings>
> > >                 <isd:map
> > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> > >                    xmlns:x="urn:ASTWebService" qname="x:Policy"
> > >                    javaType="com.libertyit.ast.entity.Policy"
> > >
> > > java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
> > >
> > > xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
> > >         </isd:mappings>
> > > </isd:service>
> > >
> > > Hope this is enough info to go on! Let me know if you need anything
> > further.
> > >
> > > Thanks in advance for your help.
> > >
> > > Tim
> > >
> > > Tim O'Neill
> > >
> > > Experienced Software Developer
> > > * Liberty Information Technology
> > >        Clarendon House
> > >        9-21 Adelaide Street
> > >        Belfast
> > >        Northern Ireland
> > >        BT2 8DJ
> > > * +44 (0) 2890 445532
> > > ____________________________________
> > > ** [EMAIL PROTECTED]  <mailto:[EMAIL PROTECTED]>
> > >
> >
>
****************************************************************************
> > > *********
> > >
> > > Disclaimer: The contents of this e-mail and attached files in no way
> > reflect
> > > any policies of Liberty Information Technology Ltd
> > >
> > >
> >
>
****************************************************************************
> > > *********
> > >
> > >
> > >
> > >
> >
> >
> > --
> > To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> >
> > --
> > To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> >
> >
>
>
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to