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