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