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

Reply via email to