[jboss-user] [JNDI/Naming/Network] - invoking EJB via Http call using Jboss

vinoth4s do-not-reply at jboss.com
Mon Feb 2 09:02:47 EST 2009


Hi all, 
I am new to the world of remotes and homes. I am stuck in this problem for a while... Please help me out. 

I am using EJB 2.1 , Jboss 4.0.2, JDK 1.6 and JRE 5.0. I can able to invoke the session bean from a java application. But when i tried to invoke from the servlet (in my case JSF servlet,... also i tried with the Http Servlet ...i got the same result), it is giving the communication exception error. just like the call from main method, i am using Eclipse RCP as a front end and can be able to invoke the session beans. 

1. What is the configuration need to be done in Jboss AS for EJB. Please explain it. 
2. What is the exact difference between when a user making a call from a main method and call from a servlet. 
3. Do i have to use the concept of Mbean? if it is so, could you please brief it. Or giveme some links to explore it. 


Here is the class which is invoking the (Proxy) EJB, 



  |   
  | 
  | public class SearchSuspensDelegate implements Serializable {
  | 
  | 	public SearchSuspensDelegate()
  | 	{
  | 		
  | 	}
  | 
  | 	
  |                public List<SUSPENS> retrieveSuspensList(TravellingBean ParameterBean) throws CreateException, NamingException, RemoteException
  | 	{
  | 		
  | 		testEJB(); // this is calling the EJB service Locator method .
  | 
  | 		return new SuspensSearchPOJO().retrieveSuspensList(ParameterBean);
  | 	}
  | 	
  | 	public void testEJB() throws CreateException, NamingException
  | 	{
  | 		
  | 		Properties props = new Properties();
  | 		props.put("java.naming.factory.initial", "org.jboss.naming.HttpNamingContextFactory" );
  | 		props.put("java.naming.provider.url", "http://localhost:8080/invoker/JNDIFactory");
  | 		props.put("java.naming.factory.url.pkgs", "org.jboss.naming");
  | 		
  | 		try {
  | 		
  | 		Context context = new InitialContext(props);
  | 
  | 		System.out.println("Looking up ejb");
  | 	
  | 		
  | 			Object ref= context.lookup("My");
  | 
  | 			System.out.println("reference is" +ref);
  | 
  | 			 My bean;
  | 			
  | 			try {
  | 				bean = ((MyHome)ref).create();
  | 				System.out.println("Bean is" +bean);
  | 				
  | 				System.out.println("in the client side we are printing");
  | 				System.out.println(bean.foo("vin"));
  | 								
  | 		                    }       
  |    
  |                                                catch (RemoteException e) 
  |                                                                 {
  | 				e.printStackTrace();
  | 				}
  | 				   
  | 		    } 
  | 
  | 		    catch (NamingException e) 
  |                                     {
  | 		     System.out.println("couldnt look it up");
  | 		     e.printStackTrace();
  | 		      }
  | 	}
  | 
  | 	public static void main(String[] args) throws Exception {
  | 		new SearchSuspensDelegate().testEJB();
  | 	}
  | 	
  |   

This is the Error Message i am getting when i tried to invoke the EJB session bean ..... I understood that the root exception is because of the jboss-client.jar and jbossall-client.jar. But i am using the same jar files which comes along with the jboss 4.0.2.Zip. I am getting the same error. Is there any other thing causing this error? So what is the solution for this problem. 




  | 
  |   
  | 
  | 12:52:29,503 INFO  [STDOUT] couldnt look it up
  | 12:52:29,503 INFO  [STDOUT] javax.naming.CommunicationException [Root exception is java.io.InvalidClassException: org.jboss.util.id.GUID; local class incompatible: stream classdesc serialVersionUID = 3289509836244263718, local class serialVersionUID = 6926421946503004889]
  | 12:52:29,503 INFO  [STDOUT] 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:707)
  | 12:52:29,503 INFO  [STDOUT] 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
  | 12:52:29,503 INFO  [STDOUT] 	at javax.naming.InitialContext.lookup(InitialContext.java:351)
  | 12:52:29,503 INFO  [STDOUT] 	at com.tcs.nulamda.Delegate.SearchSuspensDelegate.testEJB(SearchSuspensDelegate.java:61)
  | 12:52:29,503 INFO  [STDOUT] 	at com.tcs.nulamda.Delegate.SearchSuspensDelegate.retrieveSuspensList(SearchSuspensDelegate.java:38)
  | 12:52:29,503 INFO  [STDOUT] 	at com.tcs.nulamda.Controller.SuspensSearchController.searchSuspens(SuspensSearchController.java:33)
  | 12:52:29,503 INFO  [STDOUT] 	at com.tcs.nulamda.Controller.SuspensSearchController.getSuspenslist(SuspensSearchController.java:113)
  | 12:52:29,503 INFO  [STDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 12:52:29,504 INFO  [STDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 12:52:29,504 INFO  [STDOUT] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 12:52:29,504 INFO  [STDOUT] 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 12:52:29,504 INFO  [STDOUT] 	at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:79)
  | 12:52:29,504 INFO  [STDOUT] 	at org.apache.struts.faces.application.PropertyResolverImpl.getValue(PropertyResolverImpl.java:171)
  | 12:52:29,504 INFO  [STDOUT] 	at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:167)
  | 12:52:29,504 INFO  [STDOUT] 	at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:151)
  | 12:52:29,504 INFO  [STDOUT] 	at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:243)
  | 12:52:29,504 INFO  [STDOUT] 	at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:173)
  | 12:52:29,514 INFO  [STDOUT] 	at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:154)
  | 12:52:29,514 INFO  [STDOUT] 	at javax.faces.component.UIData.getValue(UIData.java:527)
  | 12:52:29,514 INFO  [STDOUT] 	at javax.faces.component.UIData.getDataModel(UIData.java:848)
  | 12:52:29,514 INFO  [STDOUT] 	at javax.faces.component.UIData.setRowIndex(UIData.java:379)
  | 12:52:29,514 INFO  [STDOUT] 	at com.sun.faces.renderkit.html_basic.TableRenderer.encodeBegin(TableRenderer.java:65)
  | 12:52:29,514 INFO  [STDOUT] 	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:675)
  | 12:52:29,514 INFO  [STDOUT] 	at javax.faces.component.UIData.encodeBegin(UIData.java:681)
  | 12:52:29,514 INFO  [STDOUT] 	at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:584)
  | 12:52:29,514 INFO  [STDOUT] 	at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:536)
  | 12:52:29,514 INFO  [STDOUT] 	at com.sun.faces.taglib.html_basic.DataTableTag.doEndTag(DataTableTag.java:491)
  | 12:52:29,514 INFO  [STDOUT] 	at org.apache.jsp.pages.SearchResult_jsp._jspx_meth_h_005fdataTable_005f0(SearchResult_jsp.java:852)
  | 12:52:29,514 INFO  [STDOUT] 	at org.apache.jsp.pages.SearchResult_jsp._jspx_meth_h_005fform_005f0(SearchResult_jsp.java:266)
  | 12:52:29,514 INFO  [STDOUT] 	at org.apache.jsp.pages.SearchResult_jsp._jspx_meth_f_005fview_005f0(SearchResult_jsp.java:171)
  | 12:52:29,514 INFO  [STDOUT] 	at org.apache.jsp.pages.SearchResult_jsp._jspService(SearchResult_jsp.java:116)
  | 12:52:29,514 INFO  [STDOUT] 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
  | 12:52:29,515 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
  | 12:52:29,515 INFO  [STDOUT] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
  | 12:52:29,515 INFO  [STDOUT] 	at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
  | 12:52:29,515 INFO  [STDOUT] 	at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:147)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.struts.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:135)
  | 12:52:29,515 INFO  [STDOUT] 	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
  | 12:52:29,515 INFO  [STDOUT] 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
  | 12:52:29,515 INFO  [STDOUT] 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
  | 12:52:29,515 INFO  [STDOUT] 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  | 12:52:29,515 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 12:52:29,515 INFO  [STDOUT] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  | 12:52:29,516 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
  | 12:52:29,516 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
  | 12:52:29,516 INFO  [STDOUT] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  | 12:52:29,516 INFO  [STDOUT] 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  | 12:52:29,516 INFO  [STDOUT] 	at java.lang.Thread.run(Thread.java:595)
  | 12:52:29,517 INFO  [STDOUT] Caused by: java.io.InvalidClassException: org.jboss.util.id.GUID; local class incompatible: stream classdesc serialVersionUID = 3289509836244263718, local class serialVersionUID = 6926421946503004889
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:519)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
  | 12:52:29,517 INFO  [STDOUT] 	at org.jboss.invocation.InvokerInterceptor.readExternal(InvokerInterceptor.java:254)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
  | 12:52:29,517 INFO  [STDOUT] 	at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
  | 12:52:29,517 INFO  [STDOUT] 	at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 12:52:29,517 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
  | 12:52:29,517 INFO  [STDOUT] 	at org.jboss.proxy.Interceptor.readExternal(Interceptor.java:66)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
  | 12:52:29,518 INFO  [STDOUT] 	at org.jboss.proxy.ClientContainer.readExternal(ClientContainer.java:142)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 12:52:29,518 INFO  [STDOUT] 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
  | 12:52:29,518 INFO  [STDOUT] 	at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
  | 12:52:29,518 INFO  [STDOUT] 	at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:57)
  | 12:52:29,518 INFO  [STDOUT] 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:637)
  | 12:52:29,518 INFO  [STDOUT] 	... 68 more
  | 
  |   

Thanks for your valuable time. 
- Vinoth

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4206241#4206241

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4206241



More information about the jboss-user mailing list