Hello World @OneToMany in a WebService Session Bean

Ladies and Gents,
I'm trying to setup a simple @OneToMany Hello World type example using SOAP based Web Services.  The setup is fairly straightforward: two entities in a parent/child relationship.  Orders is the parent.  OrderRows is the child.  ALL of this was setup with wizards using JDeveloper 11g.  I did not modify the code other than changing the name of the session bean.
The problem occurs when I try to express this relationship by including the @OneToMany annotations and the related List operations (set, add, remove) in the Orders.java file.  If I comment those out and do not return the associated List containing OrderRows, all is well.  Include the @OneToMany and nothing returns.  This is probably some kind of simple configuration error, but the problem is I'm not getting any errors in my console when I right-click my session bean and select "Test Web Service", choose the getOrdersFindAll() operation, and click "Send Request".  All I get is a nice little snarky message saying "No content to display."  So I'm just sitting here ... at 2 AM in the morning ... wondering "Whiskey Tango Foxtrot?"
I've looked over some sites such as http://biemond.blogspot.com/2011/08/expose-your-session-bean-with-jax-ws.html and read through the Java EE 7 tutorial http://docs.oracle.com/javaee/7/tutorial/doc/jaxws.htm#BNAYL all to no avail. 
Does anyone have any ideas?  Or would anyone have some good websites to get some practical examples?
MySessionBean.java
import java.util.List;
    import javax.annotation.Resource;
    import javax.ejb.SessionContext;
    import javax.ejb.Stateless;
    import javax.jws.WebService;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    @Stateless(name = "MySession", mappedName = "HelloWs-HelloService-MySession")
    @WebService(name = "MySessionBeanService", portName = "MySessionBeanServicePort")
    public class MySessionBean {
        @Resource
        SessionContext sessionContext;
        @PersistenceContext(unitName = "HelloService")
        private EntityManager em;
        public MySessionBean() {
        /** <code>select o from Orders o</code> */
        public List<Orders> getOrdersFindAll() {
            return em.createNamedQuery("Orders.findAll").getResultList();
My Orders.java Entity
  import java.io.Serializable;
    import java.math.BigDecimal;
    import java.util.List;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    @Entity
    @NamedQueries( { @NamedQuery(name = "Orders.findAll", query = "select o from Orders o")     })
    public class Orders implements Serializable {
        @Id
        @Column(name = "ORDER_ID", nullable = false)
        private BigDecimal orderId;
        @OneToMany(mappedBy = "orders")
        private List<OrderRows> orderRowsList;
        public Orders() {
        public Orders(BigDecimal orderId, String refName) {
            this.orderId = orderId;
        public BigDecimal getOrderId() {
            return orderId;
        public void setOrderId(BigDecimal orderId) {
            this.orderId = orderId;
        public List<OrderRows> getOrderRowsList() {
            return orderRowsList;
        public void setOrderRowsList(List<OrderRows> orderRowsList) {
            this.orderRowsList = orderRowsList;
        public OrderRows addOrderRows(OrderRows orderRows) {
            getOrderRowsList().add(orderRows);
            orderRows.setOrders(this);
            return orderRows;
        public OrderRows removeOrderRows(OrderRows orderRows) {
            getOrderRowsList().remove(orderRows);
            orderRows.setOrders(null);
            return orderRows;
My persistence.xml.  Note that while the double jdbc looks funky, I'm pretty sure that's not the source of the problem since removing the @OneToMany annotation and related methods works.
    <?xml version="1.0" encoding="windows-1252" ?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
      <persistence-unit name="HelloService">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <jta-data-source>java:/app/jdbc/jdbc/HelloConnDS</jta-data-source>
        <class>helloservice.Orders</class>
        <class>helloservice.OrderRows</class>
        <properties>
          <property name="eclipselink.target-server" value="WebLogic_10"/>
          <property name="javax.persistence.jtaDataSource"     value="java:/app/jdbc/jdbc/HelloConnDS"/>
        </properties>
      </persistence-unit>
    </persistence>
I've also put this question up on stack overflow at http://stackoverflow.com/posts/17769621

Hi, Thomas!
For establishing a connection to R/3 you could either Enterprise Connector (as described in <a href="http://help.sap.com/saphelp_nw04/helpdata/de/ed/897483ea5011d6b2e800508b6b8a93/frameset.htm">Enterprise Connector</a>) or the SAP Resource Adapter (see <a href="http://help.sap.com/saphelp_nw04/helpdata/de/ed/897483ea5011d6b2e800508b6b8a93/frameset.htm">Java Resource Adapter</a>) - the JCA way.
Regards,
Thomas

Similar Messages

  • Stateless Session Bean + EJB Question + Jboss

    Hello,
    If I have a stateless session bean on a linux machine and it works locally what do i need to do to access a method in the session bean from a remote windows machine.
    I would like to be able to execute my client jar file on a windows machine and have it access the jboss server on the linux machine. what do i need to do?
    i have the session bean working locally on both windows and linux machine. do i need to to have a JSP/Servlet to access the session bean? can the session bean not be accessed directly? what should my classpath look like? do I need to include extra jar files in my client jar file.?
    Thanks,
    Joyce

    Thanks guys for the help but I am still a little lost.
    My Client windows machine has the client jar file and all the other jar files. This is my client class
    package helloworld.client;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import java.util.Hashtable;
    import java.util.Properties;
    import helloworld.interfaces.HelloWorldHome;
    import helloworld.interfaces.HelloWorld;
    public class HelloClient
         public static void main(String[] args)
              Hashtable prop = new Hashtable();
              prop.put ("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
              prop.put ("java.naming.provider.url","jnp://172.16.220.160:1099");
              prop.put ("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
              try
                   Context ctx = new InitialContext(prop);
                   Object obj = ctx.lookup("ejb/helloworld/HelloWorld");
                   System.out.println(obj);
                   HelloWorldHome home = (HelloWorldHome)javax.rmi.PortableRemoteObject.narrow(obj, HelloWorldHome.class);
                   HelloWorld helloWorld = home.create();
                   String str = helloWorld.sayHelloEJB("JOYCE is COOL");
                   System.out.println(str);
                   helloWorld.remove();
              catch(Exception e)
                   e.printStackTrace();
    I get a NullPointer ie the home object is null. The IP address is the IP of the Linux machine that has Jboss running on.
    Questions are:
    1. Do I need to have Tomcat running on my client machine if I am to connect via HTTP? Does this alter my client code.?
    2. My JNDI lookup is what is causing the problem. Does my jboss.xml and my ejb-jar.jar look okay to you.
    jboss.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" "http://www.jboss.org/j2ee/dtd/jboss.dtd">
    <jboss>
    <enterprise-beans>
    <session>
    <ejb-name>helloworld/HelloWorld</ejb-name>
    <jndi-name>ejb/helloworld/HelloWorld</jndi-name>
    </session>
    </enterprise-beans>
    <resource-managers>
    </resource-managers>
    </jboss>
    ejb-jar.jar
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar >
    <description>No Description.</description>
    <display-name>Generated by XDoclet</display-name>
    <enterprise-beans>
    <!-- Session Beans -->
    <session >
    <description><![CDATA[No Description.]]></description>
    <ejb-name>helloworld/HelloWorld</ejb-name>
    <home>helloworld.interfaces.HelloWorldHome</home>
    <remote>helloworld.interfaces.HelloWorld</remote>
    <ejb-class>helloworld.session.HelloWorldBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    <!--
    To add session beans that you have deployment descriptor info for, add
    a file to your merge directory called session-beans.xml that contains
    the <session></session> markup for those beans.
    -->
    <!-- Entity Beans -->
    <!--
    To add entity beans that you have deployment descriptor info for, add
    a file to your merge directory called entity-beans.xml that contains
    the <entity></entity> markup for those beans.
    -->
    <!-- Message Driven Beans -->
    <!--
    To add message driven beans that you have deployment descriptor info for, add
    a file to your merge directory called message-driven-beans.xml that contains
    the <message-driven></message-driven> markup for those beans.
    -->
    </enterprise-beans>
    <!-- Relationships -->
    <!-- Assembly Descriptor -->
    <assembly-descriptor >
    <!-- finder permissions -->
    <!-- transactions -->
    <!-- finder transactions -->
    </assembly-descriptor>
    </ejb-jar>
    Do I need RMI ? Do I need to concern myself with CORBA? All Im looking for is a step by step to understanding what I need to configure? Is their some way I can debug?
    Thanks alot,
    Joyce

  • Singleton stateless session bean

    hello
    how to implement "singleton stateless session bean"?
    thanks in advance!!

    This is a case of premature optimization. Try forgetting about how to solve a singleton problem for the time being. Focus on the use-cases of your application and getting something working.
    After that, if memory usage continues to be an issue, consider the following. If you have a large amount of data needed by multiple clients, one option to store it in a database and retrieve portions on demand. If you need to keep everything in memory in each bean instance you can also configure the total number of stateless session bean instances in your vendor's bean pool to limit the total resource usage. A third alternative is to use a third-party caching implementation or a vendor-specific singleton service.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Example of using session bean with webservices

    Hello,
    I am working with netbeans 5.5 (with JAX-WS 2.0 library) and using Tomcat.
    I have created webservices and everything is working well so far. However, each webservice is making a connection to my database.
    I would like to use a session bean so that I make the connection only once (at the begining of the client session for example) and store it into my session bean.
    I am a newbie in those things, I search on the Web and on this forum some code examples. The only thing I have found is this article http://weblogs.java.net/blog/ramapulavarthi/archive/2006/06/maintaining_ses.html
    When I tried this, the session doesn't seem to work at all : I get the same result (counter=1) twice.
    Does anybody have a complete example of how to use a session with webservices please?
    Thanks a lot!

    Sorry, I was not very clear in my last message.
    I need all my webservices to share the same bean during one user session.
    Then, if a page calls 2 different web services, only 1 database connection is made instead of 2. And if the user opens other pages which call other webservices, they will use the connection kept into the session bean.
    Anyway, I tried to do like it is said in your website but I can not build my project. I have an error : java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/C:/.../build/web/WEB-INF/lib/jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. I do not understand because I have downloaded the jax-ws 2.1.1 api and no other libraries are imported in my project. :-(
    I wonder if it is not related to netbeans...

  • Issue with Webservice Creation using Session Beans.

    Hi All,
    I want to expose my Session beans as webservice.
    I'm using Weblogic Application Server.
    When I do the modeling using JDeveloper, I'm unable to convert the Session bean to webservice.
    Any information on this is highly appreciable.
    Thanks & Regards,
    Kumar Madhavan.

    I can't give you much of a walk through, as I have just started it myself, but I'm using a universal unique identifier to represent each client. Whenever a client posts data from a jsp or applet the uuid is also sent. I use POST to pass all my parameters. If the server hasen't received data in say 5 minutes from the client then it is assumed the client went offline. Its working for me so far.
    COn

  • Possible to create a JAX-WS, session-bean-based webservice for WebLogic 10?

    All,
    sorry - but I'm going a bit crazy here. I have been unable to figure out the secret hand-shakes for developing a session-bean-based web service that will run properly under Weblogic 10.0. There are examples out there on how to create webservices that exists within a war file - but none that I can find that reside within a session bean (an ear file).
    I can't even figure out how to do with this Bea Workshop for WebLogic Platform 10.0! Is this possible? I can't find any examples anywhere on how to do this. I must be missing something...
    Does WebLogic 10.0 support web services within session beans? I've figured out how to do this with JBoss, Sun App Server, and Glassfish - but no luck so far with WebLogic.
    If anyone can please point me in the proper direction it would be very appreciated. My company likes WebLogic, but we have to be able to do this in order to continue using it.
    Thanks,
    -john

    Yeah - I've tried that. Everything builds fine - but when I deploy to WebLogic 10, I get the stack below. It looks like it is looking for the class examples.webservices.jaxws.jaxws.SayHello - but there isn't such a class in the example...
    Any thoughts? I'm completely stuck!
    <Apr 16, 2007 4:15:45 PM PDT> <Error> <HTTP> <BEA-101216> <Servlet: "WSEE_SERVLET" failed to preload on startup in Web application: "/SimpleEjbImpl".
    class: examples.webservices.jaxws.jaxws.SayHello could not be found
    at com.sun.xml.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:272)
    at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:566)
    at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:513)
    at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:358)
    at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:245)
    Truncated. see log file for complete stacktrace
    >
    <Apr 16, 2007 4:15:45 PM PDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1176765341457' for task '0'. Error is: 'weblogic.application.ModuleException: Exception activating module: EJBModule(WL6-ejb.jar)
    Unable to deploy EJB: SimpleEjbImpl from WL6-ejb.jar:
    Unable to deploy EJB: WL6-ejb.jar from WL6-ejb.jar:
    [HTTP:101216]Servlet: "WSEE_SERVLET" failed to preload on startup in Web application: "/SimpleEjbImpl".
    class: examples.webservices.jaxws.jaxws.SayHello could not be found
    at com.sun.xml.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:272)
    at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:566)
    at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:513)
    at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:358)
    at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:245)
    at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:229)
    at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:161)
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:291)
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:315)
    at weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint(JAXWSServlet.java:125)
    at weblogic.wsee.jaxws.JAXWSServlet.init(JAXWSServlet.java:64)
    at javax.servlet.GenericServlet.init(GenericServlet.java:241)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:282)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:63)
    at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
    at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:504)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1830)
    at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1807)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1727)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2890)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:948)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:353)
    at weblogic.wsee.deploy.WseeWebappModule.activate(WseeWebappModule.java:139)
    at weblogic.wsee.deploy.WSEEEjbModule.activate(WSEEEjbModule.java:371)
    at weblogic.wsee.deploy.WsEJBDeployListener.activate(WsEJBDeployListener.java:52)
    at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1414)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:423)
    at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:63)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:816)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1223)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:434)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    weblogic.application.ModuleException: Exception activating module: EJBModule(WL6-ejb.jar)
    Unable to deploy EJB: SimpleEjbImpl from WL6-ejb.jar:
    Unable to deploy EJB: WL6-ejb.jar from WL6-ejb.jar:
    [HTTP:101216]Servlet: "WSEE_SERVLET" failed to preload on startup in Web application: "/SimpleEjbImpl".
    class: examples.webservices.jaxws.jaxws.SayHello could not be found
    at com.sun.xml.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:272)
    at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:566)
    at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:513)
    at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:358)
    at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:245)
    at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:229)
    at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:161)
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:291)
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:315)
    at weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint(JAXWSServlet.java:125)
    at weblogic.wsee.jaxws.JAXWSServlet.init(JAXWSServlet.java:64)
    at javax.servlet.GenericServlet.init(GenericServlet.java:241)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:282)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:63)
    at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
    at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:504)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1830)
    at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1807)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1727)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2890)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:948)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:353)
    at weblogic.wsee.deploy.WseeWebappModule.activate(WseeWebappModule.java:139)
    at weblogic.wsee.deploy.WSEEEjbModule.activate(WSEEEjbModule.java:371)
    at weblogic.wsee.deploy.WsEJBDeployListener.activate(WsEJBDeployListener.java:52)
    at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1414)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:423)
    at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:63)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:816)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1223)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:434)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:440)
    at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71)
    Truncated. see log file for complete stacktrace
    class: examples.webservices.jaxws.jaxws.SayHello could not be found
    at com.sun.xml.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:272)
    at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:566)
    at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:513)
    at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:358)
    at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:245)
    Truncated. see log file for complete stacktrace
    >
    <Apr 16, 2007 4:15:46 PM PDT> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 1 task for the application '_appsdir_WL6_ear'.>
    <Apr 16, 2007 4:15:46 PM PDT> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application '_appsdir_WL6_ear'.>
    <Apr 16, 2007 4:15:46 PM PDT> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException: Exception activating module: EJBModule(WL6-ejb.jar)
    Unable to deploy EJB: SimpleEjbImpl from WL6-ejb.jar:
    Unable to deploy EJB: WL6-ejb.jar from WL6-ejb.jar:
    [HTTP:101216]Servlet: "WSEE_SERVLET" failed to preload on startup in Web application: "/SimpleEjbImpl".
    class: examples.webservices.jaxws.jaxws.SayHello could not be found
    at com.sun.xml.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:272)
    at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:566)
    at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:513)
    at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:358)
    at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:245)
    at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:229)
    at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:161)
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:291)
    at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:315)
    at weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint(JAXWSServlet.java:125)
    at weblogic.wsee.jaxws.JAXWSServlet.init(JAXWSServlet.java:64)
    at javax.servlet.GenericServlet.init(GenericServlet.java:241)
    at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:282)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:63)
    at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
    at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:504)
    at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1830)
    at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1807)
    at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1727)
    at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2890)
    at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:948)
    at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:353)
    at weblogic.wsee.deploy.WseeWebappModule.activate(WseeWebappModule.java:139)
    at weblogic.wsee.deploy.WSEEEjbModule.activate(WSEEEjbModule.java:371)
    at weblogic.wsee.deploy.WsEJBDeployListener.activate(WsEJBDeployListener.java:52)
    at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1414)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:423)
    at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:63)
    at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
    at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:816)
    at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1223)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:434)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:440)
    at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71)
    Truncated. see log file for complete stacktrace
    class: examples.webservices.jaxws.jaxws.SayHello could not be found
    at com.sun.xml.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:272)
    at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:566)
    at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:513)
    at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:358)
    at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:245)
    Truncated. see log file for complete stacktrace
    >

  • Using EJB remote session beans llike webservice.

    My requirement is to fetch a big size ASCII stream file from a remote location. For this can I use Statless EJB Session beans?
    For this EJB application & Web application will be on my application server side & EJB client should reside on the remote end side from where I want to fetch the file. - Please confirm my this logic as I am new in Java & EJB, I am having a basic query like this. (I don't want to proceed with EJB web service like (@Stateless, @WebService), I want to purly use EJB Statless Remote session beans - Is this possible?
    If yes, can I have one sample example URL pls?
    Thanks in advance for your help.

    My requirement is to fetch a big size ASCII stream file from a remote location. For this can I use Statless EJB Session beans?
    For this EJB application & Web application will be on my application server side & EJB client should reside on the remote end side from where I want to fetch the file. - Please confirm my this logic as I am new in Java & EJB, I am having a basic query like this. (I don't want to proceed with EJB web service like (@Stateless, @WebService), I want to purly use EJB Statless Remote session beans - Is this possible?
    If yes, can I have one sample example URL pls?
    Thanks in advance for your help.

  • It's a WebService and a Stateless Session bean

    Ok,
    I have a Stateless Session Bean that have annotated as a @WebService.
    @Stateless
    @WebService
    public class TravelAgentWSBean {
    I only call it as a WebService, never as a StatelessSessionBean. Do I get the exact same transactional behaviour as if it was a Stateless Session Bean?
    Thanks.

    You could try it like this
    <c:catch var="formatError">
      <fmt:formatNumber value="${row.payment}" type="currency" currencySymbol="" var="pay"/>
    </c:catch>
    <c:if test="${not empty formatError}">
      Error formatting value <c:out value="${row.payment}"/>
    </c:if>

  • Calling EJB 3.0 Stateless Session Bean

    Dear all,
    I created a stateless session bean with a hello world method on it. Now i want to call the method from a BeanDecorator class, through a getter metod. When i use the jndi lookup in my getter, i can call the helloWorld method without a problem. However, when i dont use the jndi lookup, and only use the @EJB annotation, i always get a nullpointer.
    This is working:
    InitialContext ic = new InitialContext();
                   test = (TestLocal)ic.lookup("test.be/ear~bd/LOCAL/TestBean/"+TestLocal.class.getName());
                   test.helloWorld()
    This gives nullpointer:
    @EJB
    private TestLocal test;
    test.helloWorld();
    What is the correct way to consume session beans without having to explicitly code the jndi lookup?
    Kind regards.

    Hi,
    any annotation like this can be used only in "managed classes" like Session Beans, Servlets etc. Managed classes are those classes managed by the J2EE server. Managed here means, lifetime controlled by server.
    You can find this in J2EE specification.
    Frank

  • Call stateless session bean EJB 2.0 from Webdynpro Java UI

    Hello,
    Can someone please tell me asto how to call a stateless session bean EJB 2.0 from Webdynpro Java UI?
    The NWDS version is 7.0.
    Thanks and Regards,
    Arya

    Hi Aryadipta
    Please check this pdfs
    https://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b00917dc-ead4-2910-3ebb-b0a63e49ef10&overridelayout=true
    Steps for calling stateless session bean in Webdynpro java
    Go to NWDS -> open perspective ->j2ee
    select EJB Module Project ->create a project with name
    Open the Project -->RC on ejb-jar.xml -> Select new --> EJB
    Give name to EJB Bean (First letter should be in capital letters)
    select the type of bean as Stateless session bean and give the package name to store that EJB bean.
    After that Expand ejb-jar.xml and then select the <projectEJB> 
    Double click on this on method  tab double click you will get business method where we will create the methods for business logic
    Double click on projectEJB and then RC on bean tab and write required business logic in bean window as follows(based on requirement we will design a business logic).
    After writing the business logic go to project -> rebuild
    Till now we have created one EJB jar file
    then go to File-->Enterprise Application Project -->create a project (projectEAR)
    After creating a project click on next-> here we will have ear projects and then we select specific project required for our application.(here select projectEJB)
    After that Calculate EAR project will be available on j2ee explorer.
    Right click on <Bean> here
    select New->Web Service->give a name to webservice and select Default configuration type as simple SOAP
    -->click next -> Finish.
    That webservice and related are created in ejb-jar.xml .
    Expand the ejb-jar.xml.and double click on < webservice>
    RC ProjectEJB -> Build EJB Archive RC on CalculateEAR ->Build applicationarchive.
    Expand the projectEAR->RC on CalculateEAR.ear->Deploy to J2EE Engine
    Double click on calculateEAR.ear ->Webservice navigator tab ->we eill servers expand the node
    select the specific WebService  
    Here we test the webservice by click on Test and test it.
    After that go to Web dynpro perspective ->create one webdynpro Project and one component
    RC on model> Select import Web Service model(last)>give model name and package
    and select radio button as local file system or URL
    Go to WSnavigator->copy the WSDL path and paste it in model WSDL path and click on finish.
    from here onwards steps are same as that adaptive RFC model
    Hope it helps
    Thanks
    Tulasi Palnati
    Edited by: Tulasi Palnati on Aug 26, 2009 12:15 PM
    Edited by: Tulasi Palnati on Aug 26, 2009 12:43 PM

  • Problem invoking gogle web service from session bean

    Hello
    I have developed a Web-Client which consumes the google-WebService with Apache Axis. I have generated the corresponding classes with WSDL2Java and the client works without problems. A little code fragment from my client:
    GoogleSearchService service = new GoogleSearchServiceLocator();
              // Now use the service to get a stub to the Service Definition Interface (SDI)
              GoogleSearchPort google = service.getGoogleSearchPort();
             GoogleSearchResult googleSearchResult =  google.doGoogleSearch(GOOGLE_KEY, // java.lang.String key
                           q.toString(), //java.lang.String q
                           0, // int start
                           10, // int maxResults
                           false, //boolean filter
                           "", // java.lang.String restrict      
                           false, //boolean safeSearch              
                           "lang_ja|lang_en", // java.lang.String lr
                           "UTF-8", // java.lang.String ie
                           "UTF-8"); // java.lang.String oeNow I have to put the Web-Client in a SessionBean. Therfore I defined the code of the web-client in a method and put it into a stateless session bean and wrote a client for the session bean. But when the session bean invokes the corresponding method for consuming the google web service, there always occurs the following error:
    [java] Exception in thread "main" java.rmi.ServerError: Unexpected Error; nested exception is:
    [java] java.lang.NoClassDefFoundError: GoogleSearch/GoogleSearchService
    But I have definitely all necessary classes in my classpath, like GoogleSearchService, etc. So all necessary classes are available. And the code to conume the web service als works because as said I tested it with a web-client.
    Has anybody an idea what went wrong here? Is there anything important when I a web service is invoked by a session bean??:(
    regards
    pat

    Has nobdy an idea?? :(( I tried for such a long time but I was not able to fix this problem....:(
    Please help...

  • Session Bean trying to send a message to Websphere MQ5.3

    Hello all,
    I use WSAD5.1 and Websphere MQ 5.3. Websphere MQ is installed on a
    Solaris box with a Queue Manager configured and several queues created on it.
    The WSAD, is running on a different machine. I have written a session bean with a method, putMessage( ).
    Inside this putMessage( ), I'm supposed to send a message to one of the
    queues configured in Websphere MQ running on the solaris box. How should I code in my putMessage( ) method, so that I'm able to send a message to the queue.
    My major doubt is I need to look up for the QueueConnectionFactory and also the queue inside the session bean. I doubt if this is possible using JNDI.
    I'm coding as per EJB2.0 specs.
    Can someone guide me what is the right approach so that I'm able to send a message from sessionbean to a queue.
    If someone could point to some kind of example code, that would be great.
    P.S. I know, how to code if I create the queue and QueueConnectionFactory, in WSAD, i.e., in the Server configuration.
    But what I don't know is, how to code if I'm using MQ Series running
    elsewhere.
    Thanks in advance,
    Pandit.
    Please get back to me if you need any clarifications.

    try this : (you need some mq libraries (search for ma88 in google ( MQSeries classes for Java and MQSeries classes for Java))
    import com.ibm.mq.*; // Include the WebSphere MQ classes for Java package
    public class SendMessageToMQ
    private String qManager = "AIXD004"; // define name of queue // manager to connect to.
    private MQQueueManager qMgr; // define a queue manager
    // object
    public static void main(String args[]) {
    new SendMessageToMQ();
    public SendMessageToMQ() {
        // Set up WebSphere MQ environment
    MQEnvironment.hostname = "192.168.19.41";
    MQEnvironment.port=1415;
    // hostname & channel
    //MQEnvironment.channel = "S_ibcn_c029"; // string directly here!
    //MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES);//Connection
    MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_CLIENT);
    MQEnvironment.channel = "SYSTEM.DEF.SVRCONN";
       try {
          // Create a connection to the queue manager
          qMgr = new MQQueueManager(qManager);
          // Set up the options on the queue we wish to open...
          // Note. All WebSphere MQ Options are prefixed with MQC in Java.
          int openOptions = MQC.MQOO_INPUT_AS_Q_DEF |
          MQC.MQOO_OUTPUT ;
          // Now specify the queue that we wish to open,
          // and the open options...
          MQQueue system_default_local_queue =
          //qMgr.accessQueue("ENTEST1.HOST.ASYNC.RECEPCION",
          qMgr.accessQueue("QNO.0002.AIXD004.L",
          openOptions);
          // Define a simple WebSphere MQ message, and write some text in UTF format..
          MQMessage hello_world = new MQMessage();
          hello_world.writeUTF("Hello World!");
          // specify the message options...
          MQPutMessageOptions pmo = new MQPutMessageOptions(); // accept the // defaults,
          // same as MQPMO_DEFAULT
          // put the message on the queue
          system_default_local_queue.put(hello_world,pmo);
          // get the message back again...
          // First define a WebSphere MQ message buffer to receive the message into..
          MQMessage retrievedMessage = new MQMessage();
          // Set the get message options...
          MQGetMessageOptions gmo = new MQGetMessageOptions(); // accept the defaults
          // same as MQGMO_DEFAULT
          // get the message off the queue...
          system_default_local_queue.get(retrievedMessage, gmo);
          // And prove we have the message by displaying the UTF message text
          //String msgText = retrievedMessage.readUTF();
          String msgText = retrievedMessage.readUTF();
          System.out.println("The message is: " + msgText);
          // Close the queue...
          system_default_local_queue.close();
          // Disconnect from the queue manager
          qMgr.disconnect();
      // If an error has occurred in the above, try to identify what went wrong
      // Was it a WebSphere MQ error?
      catch (MQException ex)
      System.out.println("A WebSphere MQ error occurred : Completion code " +
      ex.completionCode + " Reason code " + ex.reasonCode);
      // Was it a Java buffer space error?
      catch (java.io.IOException ex)
      System.out.println("An error occurred whilst writing to the message buffer: " + ex);
    } // end of sample

  • Newbie: How do i use a stateless session bean in a backing bean?

    I have a stateless session bean with a function 'getVoterList()'; how do i instantiate the bean and use it in from my managed bean?
    I dont want to use seam; coz the stateless serrion bean/EJB is written by another developer and we cant updat eit now to use seam..
    any tutorials? walk thrus or sample code?
    thanks
    illi

    I used a different method...
    I used servicegen with only a.jar to create the ear.
    I touch-ed my own application.xml to make it newer than the one already in the
    newly created ear.
    I used the ant <ear> task to add b.jar, c.jar, and application.xml to the ear.
    Worked like a charm.
    Mike
    Bruce Stephens <[email protected]> wrote:
    Hello,
    See if Neal's answer here helps solve your problem using servicegen's
    service element "IncludeEJBs" attribute:
    http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=article&group=weblogic.developer.interest.webservices&item=2932&utag=
    HTHs,
    Bruce
    kk wrote:
    This is my situation.
    I have an .ear file and in that i have several other .jar files whichare
    inter-dependant, lets say
    A.jar
    B.jar
    C.jar files
    and i want to expose only A.jar as
    webservice, how can i do that ?
    Does WLS8.1 provided any way how to do that?
    I Appreciate any suggestions and advices.
    Thanks
    kk

  • Paradox - Should entity CMP EJB be faster than stateless session bean?

    Please bear with me on this.
    Just thinking of this scenario: hello world application. It can be implemented both as stateless session bean and entity bean.
    There's no persistent. So for the entity bean, it will be container managed, and no code to do anything to the load/remove/create. - comparably the same as stateless bean.
    Next, for the stateless session bean, each client call would require a dedicated instance of the EJB on the server (although for a very short amount of time). For the entity bean, it's shared, so only 1 instance is needed. It's also thread safe.
    So, for a very high traffic, shouldn't the entity bean do better because of single instance?
    What's other overhead?
    Does the entity bean cost more connections than the stateless bean?

    Feels like a comparison between apples and oranges.
    A stateless session bean is like every other instance, so these can be pooled by the EJB container. The container is free to create an instance for each client if necessary. That's different.
    A stateless session bean doesn't have to deal with a database that may or may not be located on another machine the way an entity bean does. There could be another network round trip involved. That's different.
    Session and entity beans are intended for entirely different purposes. Just because you can write Hello World with both doesn't mean it's representative of what EJBs are used for. I don't think it's a good, meaninful comparison. JMO - MOD

  • HOW TO: "Hello World" EJB Style

    The following Session EJB quick tutorial requires an IIOP datasource. This EJB should work in Oracle databases
    greater than 8.1.5.
    1. Create a new project for an Enterprise JavaBean.
    2. Name your project "Hello".
    3. Select Enterprise JavaBean from "A project containing a new..."
    4. Click Finish to close the Project wizard.
    The Enterprise JavaBeans wizard opens.
    5. For the EJB type, select Session Bean (Stateless)
    6. For the EJB name, enter "Hello" (no quotes!)
    The resulting interface names are created for you. Don't change them!
    7. Click Finish for the EJB wizard to generate the EJB project for you.
    8. Select Save All from the File menu. Call this workspace "Hello".
    You'll see that the EJB wizard generated the home, remote, and bean logic files for you. Now you'll need to
    add the business logic to the HelloBean.java file.
    9. Double click the HelloBean.java file, then click the Source tab to bring it into view.
    10. Before the last closing brace (}), add this line of code:
    public String hello() { return "Hello World!"; }
    11. Select File | Save All.
    12. In the Navigator, double-click the Hello.java file so that you can add the remote interface.
    13. Click the Source tab to bring Hello.java into view.
    14. Add the following line before the last brace (}):
    public String hello() throws java.rmi.RemoteException;
    15. Select File | Save All.
    16. Add the Oracle8i JVM classes to the Hello project by selecting Project | Project Properties and clicking
    the Libraries tab.
    17. Click Add, then click Oracle 8i JVM, then click OK.
    18. Click OK to dismiss the Project Properties dialog.
    19. Select Project | Make Project to compile the Hello project.
    20. In the Navigator, right-click the Hello folder and select Create EJB/8i Deployment Profile.
    21. In the Deployment Profile Wizard that appears, click the Advanced Button.
    Only the first (Automatically include files added to project) and the last (Redirect messages
    to the Message View) boxes should be selected.
    22. Click Done to close the Advanced dialog.
    23. Click the Connection tab and select an IIOP datasource. If there is none, you'll have to create one.
    All three checkboxes at the top of the page should be selected.
    24. Click Done. You'll be prompted to deploy now or later. Click Yes.
    JDeveloper will use the IIOP datasource you specified to deploy the Hello EJB project.
    Now you need to add the generated files that were created during deployment to the class path so that
    the client can find them.
    25. From the Project menu, select Project Properties, then click Add, then click New.
    26. Click the Elipses to the right of the Class path field, then click Add Jar/Zip.
    27. Navigate to the file called HelloGenerated.jar and double-click it to add it to the path.
    28. Click OK to close the two dialogs and Project Properties.
    After JDeveloper completes the deployment, you need to make a client to call the EJB methods and display the results.
    29. From the File menu, select New, then click on the Snippets tab.
    30. Double-click the EJB Oracle 8i Client icon.
    31. Click the Parameters button in the Snippet dialog.
    32. Enter the IIOP connection information you specified earlier.
    33. Enter the EJB Home and Remote interface names ("HelloHome" and "Hello").
    34. Click OK to close the Parameters button.
    The Client file is added to the project.
    35. In the Navigator, right-click the MyEJBJSClient.java file and select run.
    Check the Message View to see the output of your EJB!
    null

    I got the msg when I try to deployment EJB and I use the 8.1.7. andJdev 3.2. Please advise what is wrong for my IIOP connection. From the listener.log, the connection looks good.
    ======================================
    Compiling the project...done
    Validating the profile...done
    Initializing deployment...done
    Scanning project files...done
    Generating classpath dependencies...done
    Generating archive entries table...done
    *** Archive generation completed ***
    *** Deploying the EJB to 8i JVM ***
    EJB deployment argument list:
    "C:\Program Files\Oracle\JDeveloper 3.2\java1.2\jre\bin\javaw"
    "-DPATH=C:\Program Files\Oracle\JDeveloper 3.2\bin;C:\Program Files\Oracle\JDeveloper 3.2\java1.2\bin"
    -classpath
    "C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\aurora_client.jar;C:\Program Files\Oracle\JDeveloper 3.2\lib\javax-ssl-1_2.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\jasper.zip;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\vbjorb.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\vbjapp.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\vbjtools.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\vbj30ssl.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\aurora.zip;C:\Program Files\Oracle\JDeveloper 3.2\sqlj\lib\translator.zip;C:\Program Files\Oracle\JDeveloper 3.2\sqlj\lib\runtime.zip;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\mts.jar;C:\Program Files\Oracle\JDeveloper 3.2\myclasses;C:\Program Files\Oracle\JDeveloper 3.2\lib\jdev-rt.zip;C:\Program Files\Oracle\JDeveloper 3.2\jdbc\lib\oracle8.1.7\classes12.zip;C:\Program Files\Oracle\JDeveloper 3.2\lib\connectionmanager.zip;C:\Program Files\Oracle\JDeveloper 3.2\lib\javax_ejb.zip;C:\Program Files\Oracle\JDeveloper 3.2\auro
    a\lib\aurora_client.jar;C:\Program Files\Oracle\JDeveloper 3.2\lib\javax-ssl-1_2.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\jasper.zip;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\vbjorb.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\vbjapp.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\vbjtools.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\vbj30ssl.jar;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\aurora.zip;C:\Program Files\Oracle\JDeveloper 3.2\sqlj\lib\translator.zip;C:\Program Files\Oracle\JDeveloper 3.2\sqlj\lib\runtime.zip;C:\Program Files\Oracle\JDeveloper 3.2\aurora\lib\mts.jar;C:\Program Files\Oracle\JDeveloper 3.2\java1.2\jre\lib\rt.jar;C:\Program Files\Oracle\JDeveloper 3.2\lib\xmlparserv2.jar"
    oracle.aurora.ejb.deployment.GenerateEjb
    -u
    scott
    -p
    tiger
    -s
    sess_iiop://localhost:2482:test
    -republish
    -keep
    -temp
    TEMP
    -descriptor
    "C:\Program Files\Oracle\JDeveloper 3.2\myprojects\Demo\EJB\DemoHelloEJB.xml"
    -oracledescriptor
    C:\Program Files\Oracle\JDeveloper 3.2\myprojects\Demo\EJB\DemoHelloEJB_oracle.xml
    -generated
    "C:\Program Files\Oracle\JDeveloper 3.2\myprojects\Demo\EJB\DemoHelloEJBGenerated.jar"
    "C:\Program Files\Oracle\JDeveloper 3.2\myprojects\Demo\EJB\DemoHelloEJBSource.jar"
    Cannot connect to service: sess_iiop://localhost:2482:test
    *** Errors occurred while deploying the EJB to 8i JVM ***
    *** Deployment completed ***
    ============================================

Maybe you are looking for

  • How to make the new drawing line on the old form?

    I have been reading about Java about 2 months, and now I have to start my first project within this week. I still don't know how to do it!!! I have to get the info from the keyboard to draw a line on the old form of the original project. Please tell

  • Is WMF3 or WMF4 supported in Exchange 2010 SP3 UR5 installed on Server 2008 R2 SP1?

    We'd like to upgrade WMF (aka powershell) on our Exchange 2010 servers but I haven't been able to find any updated information on support with the most recent servicepack/update rollup. Is installing WMF3 or WMF4 supported on Server 2008 R2 SP1 w/ Ex

  • Turning on Full Keyboard Access for PB G4

    I'm a new Mac user with a PB G4 15". I've searched the forums for an answer to this to no avail. In The Tao of Mac (http://the.taoofmac.com) the author says: "If you're keyboard-oriented, go into System Preferences | Keyboard and Mouse | Keyboard Pre

  • Creating caption SAMI file in premiere?

    I have a video project that I export into wmv file. I now want to add user switchable subtitle to it, and one way is to create a SAMI file. Can I do this with premiere pro?

  • Cannot download Firefox, stops with 1 second remaining

    Firefox crashed yesterday and I haven't been able to load it again. I cleared Firefox from my control panel and have not been successful in downloading firefox because it gets hung up with 1 second remaining. It is the Firefox setup 6.0.2 that stops