Porting EJB 3 MDB from OC4J to WLS

Posting this again since my last post didn't seem to take.
I get the following three deployment error messages when attempting to deploy an application to WebLogic Server 10.3 technical preview. The problem is centered around my deployment of an EJB 3 message driven bean.
1. An error occurred during activation of changes, please see the log for details.
2. Exception preparing module: EJBModule(EngineEjb.jar) Unable to deploy EJB: Requestor from EngineEjb.jar: [EJB:011026]The EJB container failed while creating the java:/comp/env namespace for this EJB deployment. weblogic.deployment.EnvironmentException: [EJB:010176]The resource-env-ref 'jms/demoQueue' declared in the ejb-jar.xml descriptor or annotation has no JNDI name mapped to it. The resource-ref must be mapped to a JNDI name using the resource-description element of the weblogic-ejb-jar.xml descriptor or corresponding annotation. at weblogic.ejb.container.deployer.EnvironmentBuilder.addResourceEnvReferences(EnvironmentBuilder.java:641) at weblogic.ejb.container.deployer.EJBDeployer.setupEnvironmentContext(EJBDeployer.java:246) at weblogic.ejb.container.deployer.EJBDeployer.setupEnvironmentFor(EJBDeployer.java:1013) at weblogic.ejb.container.deployer.EJBDeployer.setupBeanInfos(EJBDeployer.java:907) at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1211) at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:387) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93) at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:381) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191) at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:517) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
3. Substituted for missing class [EJB - 11026]The EJB container failed while creating the java:/comp/env namespace for this EJB deployment. weblogic.deployment.EnvironmentException: [EJB:010176]The resource-env-ref 'jms/demoQueue' declared in the ejb-jar.xml descriptor or annotation has no JNDI name mapped to it. The resource-ref must be mapped to a JNDI name using the resource-description element of the weblogic-ejb-jar.xml descriptor or corresponding annotation.
My MDB uses an annotation like the following:
@MessageDriven(mappedName = "jms/demoQueue", name = "MyMDB",
activationConfig =
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue")
@ActivationConfigProperty(propertyName = "messageSelector", propertyValue =
"RECIPIENT = 'MyRecipient'")
Earlier, I did create a JMS Module named demoQueue with the following resources:
Name Type JNDI Name
testQueue Queue jms/demoQueue
ConnectionFactory-0 Connection Factory jms/QueueConnectionFactory
Any suggestions to fix the WLS deployment error?
For continuing compatibility with my OC4J deployment, I would like to continue using a connection factory with the following JNDI name "jms/QueueConnectionFactory" shown above.
So I plan to add the following properties to the @MessageDriven annotation above. These are needed to continue working with our OC4J deployment. However, my primary concern is to get this MDB working with WLS. Does this strategy seem reasonable for allowing deployment to both OC4J and WLS?
@ActivationConfigProperty(propertyName = "connectionFactoryJndiName",
propertyValue =
"jms/QueueConnectionFactory") ,
@ActivationConfigProperty(propertyName = "destinationName", propertyValue =
"jms/demoQueue")
Thanks,
Travis

Travis, you pose a very good question. If I understand your goal, you would like to use code that compiles and works in OC4J and WLS. For example, you want to use javax.ejb.MessageDriven instead of weblogic.ejbgen.MessageDriven.
Using something like mappedName as it is referred to here allows you specify the JNDI name in WLS if it is not defined elsewhere, but it appears to be specific to the WLS implementation.
I've seen several other questions posed about finding all of the available ActivationConfigProperty name / value pairs and I have been unable to find it myself.
I tried several permutations of annotations, and I can't figure out why something like this would even work, but it does. The mapped name is my JNDI name, but I never specify that it is a javax.jms.Queue or which connection factory to use. How does WLS figure that out?
@MessageDriven(     
     mappedName = "exampleQueue", name = "HelloWorldMDB"
public class HelloWorldMDB implements MessageListener {
     @Override
     @TransactionAttribute(value = javax.ejb.TransactionAttributeType.REQUIRED)
     public void onMessage(Message message) {
          System.out.println( "received message " + message );
}This is a good question for support as the documentation seems to be incomplete here.

Similar Messages

  • Migrating JAAS LoginModule from oc4j to WLS

    Hi,
    We are trying to migrate oc4j enterprise web service application to weblogic which implements JAAS LoginModule.
    Followed Weblogic Docs for :
    Developing Custom Security Providers
    http://download.oracle.com/docs/cd/E12890_01/ales/docs32/dvspisec/progrmng.html
    CustomAuthProvider (SecurityProvider) class points to the LoginModule which references to
    application-specific classes.
    Following are the issues we are dealing with:
    1.Security Provider exist at the global-context means every request to WLS is going to hit to the provider
    which we do not want, we need LoginModule to work at the application-context and not the global
    weblogic context.
    2. Clearly there is a disconnect if LoginModule resides in EAR (web app) and standalon MBean jar is
    trying to invoke the LoginModule. It can't find the LoginModule.
    so, the question is how can we have the JAAS LoginModule implemented in Weblogic
    at the application (EAR) level and not at Weblogic server global level
    (by MBean JAR) as it used to be in oc4j
    public class CustomAuthProviderimplements AuthenticationProviderV2 {
        public AppConfigurationEntry getLoginModuleConfiguration() {
            System.out.println("Inside getLoginModuleConfiguration.");
            return new AppConfigurationEntry("com.test.security.loginmodule.CustomLoginModule",
                                             LoginModuleControlFlag.REQUIRED,
                                             new HashMap());
    }OC4J Doc Reference : Packaging Login Modules
    http://download.oracle.com/docs/cd/B31017_01/web.1013/b28957/loginmod.htm#BABCFADI
    Here's how it used to be done in oc4j
    http://download.oracle.com/docs/cd/B14099_19/web.1012/b14013/loginmod.htm#i1006128
    Thank you
    Edited by: 877976 on Aug 8, 2011 11:11 AM

    There is a WebLogic Server release specific for running Oracle Forms and Reports that is available for you to switch to from Oracle AS if you are current on your support and version. Just an FYI
    Edited by: ChrisBaker on Jan 4, 2010 5:33 AM

  • Error while migrating orion-ejb-jar.xml from OC4J 9.0.4.1

    I am trying to use Toplink migration tool to take our existing orion-ejb-jar.xml file and toplink-ejb-jar.xml file to new 10.1.3 deployment. While running the migration tool I get the following error
    WARNING: Oc4j native CMP setting optimistic-locking on
    entity(TransactionTypeEntityBean) is not migrated and supported.
    java.lang.IllegalArgumentException: MWDatabaseField[9BE2B5]
    (TAX_RULE.TAX_RULE_ID)
    at
    oracle.toplink.workbench.mappingsmodel.desc.relational.MWRelationalPrima
    ryKeyPolicy.addPrimaryKey(MWRelationalPrimaryKeyPolicy.java:99)
    at
    oracle.toplink.tools.migration.RuntimeCMPProjectToMWProjectConverter.con
    vertDescriptor(RuntimeCMPProjectToMWProjectConverter.java:297)
    at
    oracle.toplink.tools.migration.RuntimeCMPProjectToMWProjectConverter.con
    vertDescriptors(RuntimeCMPProjectToMWProjectConverter.java:265)
    at
    oracle.toplink.tools.migration.RuntimeCMPProjectToMWProjectConverter.con
    vertProject(RuntimeCMPProjectToMWProjectConverter.java:144)
    at
    oracle.toplink.tools.migration.MigrationManagerBase.convertAndWriteoutMW
    Project(MigrationManagerBase.java:369)
    at
    oracle.toplink.tools.migration.MigrationManagerBase.migrate(MigrationMan
    agerBase.java:358)
    at
    oracle.toplink.tools.migration.io.MigrationIOManager.buildMigratedJarFil
    e(MigrationIOManager.java:243)
    at
    oracle.toplink.tools.migration.io.MigrationIOManager.operateEarEntry(Mig
    rationIOManager.java:181)
    at
    oracle.toplink.tools.migration.io.MigrationIOManager.operateEar(Migratio
    nIOManager.java:145)
    at
    oracle.toplink.tools.migration.io.MigrationIOManager.operateIO(Migration
    IOManager.java:88)
    at
    oracle.toplink.tools.migration.MigrationManagerBase.startMigration(Migra
    tionManagerBase.java:280)
    at
    oracle.toplink.tools.migration.MigrationManagerBase.run(MigrationManager
    Base.java:121)
    at
    oracle.toplink.tools.migration.MigrationManagerBase.run(MigrationManager
    Base.java:97)
    at
    oracle.toplink.tools.migration.TopLinkCMPMigrator.main(TopLinkCMPMigrato
    r.java:59)

    Hello,
    The warning message looks to be unrelated to the java.lang.IllegalArgumentException error. The warning states that optimistic locking cannot be migrated to the toplink-ejb-jar.xml file; this is stated in chapter 7 of the TopLink developer's guide at
    http://download-west.oracle.com/otn_hosted_doc/toplink/1013/MAIN/_pdf/b13593_v1_01.pdf
    The exception though seems to indicate that your orion-ejb-jar.xml contains EJBs mapped to the same table that are not related through EJB inheritance. I do it all the time with POJOs so this will work in TopLink, but you will need a support case to help get your project migrated if this is the case.
    Best Regards,
    Chris Delahunt

  • MDB from AQ in OC4J R2 developers preview.

    Does any one have an example of the configuration reqired to instantiate MDBs from an Oracle AQ.
    I can see no Oracle docs on this although it is listed as one of the features in OC4J R2.
    Cheers,
    Matt

    good afternoon all -
    The Oracle AQ integration for OC4J should function with the developer's release available on OTN. I do recall seeing a few issues that needed to be worked around, I will dig the email I have up and send that in a separate post.
    What follows is a text cut-n-paste of a few sections from the J2EE Services Guide documentation we are providing for Release 2. These books are not yet published on OTN - I'll try and find out when we will be making them available, they contain a lot of good information.
    Please take a read of this see if it helps you to configure Oracle AQ/OJMS as a JMS resource provider for OC4J.
    cheers!
    -steve-
    Resource Providers
    The ResourceProvider interface allows you to plug in third-party message providers (such as Oracle Advanced Queuing, MQSeries and SonicMQ) as JMS resource providers. This allows EJBs, servlets, and OC4J clients to access many different queue implementations. The third-party message providers are accessed through the ResourceProvider interface.
    Note:
    Except as noted here, you configure OC4J JMS as you would any other JMS implementation.
    Plugging In Resource Providers
    To add a custom resource provider to OC4J, you must add the <resource-provider> tag to orion-application.xml. This section describes how to add one such ResourceProvider.
    An example ResourceProvider, ContextScanningResourceProvider, is bundled with OC4J. To use this ResourceProvider, you would add the following tag to orion-application.xml:
    <resource-provider
    class="com.evermind.server.deloyment.ContextScanningResourceProvider"
    display-name="SwiftMQ">
    <description>
    SwiftMQ resource provider.
    </description>
    <property name="java.naming.factory.initial"
    value="com.swiftmq.jndi.InitialContextFactoryImpl">
    <property name="java.naming.provider.url"
    value="smqp://localhost:4001">
    </resource-provider>
    This example makes SwiftMQ the default ResourceProvider for JMS connections -- the first <resource-provider> tag in orion-application.xml becomes the default resource provider for the types it handles. Adding this tag makes the resource available in the Orion JNDI under java:comp/resource/, as well as making SwiftMQ the default JMS resource for such actions as deploying a message-driven bean.
    Configuring Message Providers
    Install and configure the message provider according to the instructions in its documentation, then verify the installation by running any examples or tools supplied by the vendor.
    Register the message provider in some JNDI-accessible store (a file system, an LDAP OiD, or the like.) Use JMS provider tools to configure and populate this JNDI store with, for instance, the provider's QueueConnectionFactory and the queues of interest.
    Make the JNDI store accessible to OC4J by adding a <resource-provider> entity to orion-application.xml pointing to the JNDI store. This example demonstrates using SonicMQ as the message provider and the file system as the JNDI store:
    <resource-provider
    class="com.evermind.server.deployment.ContextScanningResourceProvider"
    name="SonicJMS">
    <property name="java.naming.factory.initial"
    value="com.sun.jndi.fscontext.RefFSContextFactory" />
    <property name="java.naming.provider.url"
    value="file:/private/jndi-directory" />
    </resource-provider>
    Copy the required JNDI files (for a file-system JNDI, fscontext.jar and providerutils.jar) to $J2EE_HOME/lib.
    Restart OC4J. Whenever you add, delete, or reconfigure a resource provider, you must restart OC4J.
    JNDI Resource Provider Names
    OC4J resource provider extensions create resources under the java:comp/resource JNDI name tree. OJMS resource names take the form:
    java:comp/resource/ProviderName/ResourceType/ResourceName
    where:
    ProviderName
    is the user-chosen name of the resource provider.
    ResourceType
    (required for Oracle AQ/OJMS resource providers only) is a fixed string that can take one of four values: QueueConnectionFactories, TopicConnectionFactories, Queues, or Topics. The specified value identifies the JMS resource as being of the appropriate administered object type.
    ResourceName
    is a user-chosen name for a JMS connection factory or a valid AQ queue name for a JMS destination. Valid Oracle AQ names conform to the [schema.]queue_name scheme.
    Accessing Message Queues
    OC4J applications can now access the message queues. Message queues can be accessed in one of two ways:
    Through their names, as in
    java:comp/resource/<Provider_Name>/<Queue_Name>
    An application would access the queue like this:
    queueConnectionFactory=(QueueConnectionFactory)
    jndiContext.lookup("java:comp/resource/SonicJMS/QueueConnectionFactory");
    By binding message-driven beans to queues in orion-ejb-jar.xml
    To bind message-driven beans to queues in orion-ejb-jar, you would add a tag like:
    <message-driven-deployment
    connection-factory-location="java:comp/resource/SonicJMS/QueueConnectionFactory"
    destination-location="java:comp/resource/SonicJMS/SampleQ1"
    name="MessageBean">
    Using Oracle AQ as a Resource Provider
    To access Oracle AQ queues through JMS, you must do the following:
    Create an RDBMS user through which the JMS application will connect to the back-end database. The user should have the necessary privileges to perform AQ operations. AQ allows any database user to access queues in any schema, provided the user has and the schema exports the appropriate access privileges.
    Configure an OC4J resource provider with information about the back-end database. Create data sources or LDAP directory entries, if needed.
    Access the resource using Oracle AQ/OJMS resource names, which include the ResourceName name component.
    Configuration
    The OC4J resource provider for OJMS is implemented by the class oracle.jms.OjmsContext. Each OJMS resource provider instance is a <resource-provider ...> XML element (a child element of the orion-application element) in the $J2EE_HOME/config/application.xml file.
    There are 3 ways of configuring the OJMS resource provider.
    Inline configuration (all relevant information for accessing the back-end database is specified within the resource-provider element in application.xml).
    Data Source configuration (the resource-provider element in application.xml refers to a data-source element configured in data-sources.xml which contains information on accessing the back-end database).
    LDAP configuration (the resource provider contains information to access an OID/LDAP directory which contains information on accessing the back-end database).
    This section describes only the inline and data source configuration methods.
    Inline Configuration
    An inline resource provider configuration consists of a resource provider instance name (user-chosen, but unique among all resource providers configured in OC4J), a JDBC URL to connect to the back-end database, and the user/password to connect as. For example:
    <resource-provider class="oracle.jms.OjmsContext" name="MyContext1">
    <description>OJMS Context using thin JDBC</description>
    <property name="url"
    value="jdbc:oracle:thin:@myhost.foo.com:1521:mydb"></property>
    <property name="username" value="myuser"></property>
    <property name="password" value="mypass"></property>
    </resource-provider>
    <resource-provider class="oracle.jms.OjmsContext" name="MyContext2">
    <description>OJMS Context using OCI JDBC</description>
    <property name="url" value="jdbc:oracle:oci:@mydb.foo.com"></property>
    <property name="username" value="myuser"></property>
    <property name="password" value="mypass"></property>
    </resource-provider>
    This creates 2 resource providers, MyContext1 and MyContext2, that log in as myuser/mypass to the back-end database mydb using the thin and OCI JDBC drivers respectively.
    Data Source Configuration
    A data source resource provider configuration consists of a resource provider instance name (user-chosen, but unique among all resource providers configured in OC4J), a data source name, and the data source configuration (in data-sources.xml). For example:
    <resource-provider class="oracle.jms.OjmsContext" name="MyContext3">
    <description>OJMS Context using a datasource</description>
    <property name="datasource" value="jdbc/MyDS3"></property>
    </resource-provider>
    <resource-provider class="oracle.jms.OjmsContext" name="MyContext4">
    <description>OJMS Context using a datasource</description>
    <property name="datasource" value="jdbc/MyDS4"></property>
    </resource-provider>
    in application.xml and the following data sources in data-sources.xml:
    <data-source
    class="oracle.jdbc.pool.OracleDataSource"
    name="MyDS3"
    location="jdbc/MyDS3"
    xa-location="jdbc/xa/MyXADS3"
    ejb-location="jdbc/MyEjbDS3"
    url="jdbc:oracle:thin:@myhost.foo.com:1521:mydb"
    username="myuser"
    password="myuser"
    inactivity-timeout="30"
    />
    <data-source
    class="oracle.jdbc.pool.OracleDataSource"
    name="MyDS4"
    location="jdbc/MyDS4"
    xa-location="jdbc/xa/MyXADS4"
    ejb-location="jdbc/MyEjbDS4"
    url="jdbc:oracle:oci:@mydb.foo.com"
    username="myuser"
    password="myuser"
    inactivity-timeout="30"
    />
    This creates 2 resource providers, MyContext3 and MyContext4, that use the data sources jdbc/MyDS3 and jdbc/MyDS4 respectively to connect to the back-end database. The data sources themselves contain the appropriate JDBC driver/connect information.

  • Porting EJBS from orion to JBoss

    Hi
    I want to port EJBs written in Orion application server to JBoss,
    Which of the arreas chages are needed ? ,
    Currently I am accessing EJBs from an Applet.
    So can i use directly ear files in the Orion application server for JBoss.
    I want my what all need be changed in following areas.
    1. Server configuration
    2. EJB deployment
    3. Client code access ( i need to change JNDI initial contexts )
    4. JMS configurations
    thanks in advance
    Renjith

    Renjithkv,
    You would require different deployment descriptors for JBoss.
    jboss.xml for Ejbs.
    Modify standardjaws.xml or create jaws.xml for entity beans.
    Modify standardjbosscmp-jdbc.xml or create jbosscmp-jdbc.xml for Ejb jdbc.
    Deepak

  • Trasaction problem when migrate ejb application from oc4j 10.1.2 to 10.1.3

    When i migrate my ejb application from oc4j 10.1.2 to 10.1.3
    in application log i found following many exceptions:
    where is problem? on AS 10.1.2 all works fine.
    javax.transaction.SystemException: Transaction state is COMMITTED and therefore can not be suspended, transaction
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransaction.suspend(ApplicationServerTransaction.java:356)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransactionManager.suspend(ApplicationServerTransactionManager.java:541)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.EJBTransactionManager.suspend(EJBTransactionManager.java:186)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.EJBTransactionManager.suspendLocal(EJBTransactionManager.java:163)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.BeanPool.suspend(BeanPool.java:588)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.BeanPool.destroyContext(BeanPool.java:460)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.BeanPool.releaseContext(BeanPool.java:306)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.BMPOrionEntityBeanPool.releaseContext(BMPOrionEntityBeanPool.java:72)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.EntityEJBHome.releaseContextInstance(EntityEJBHome.java:114)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.EntityEJBHome.passivateAndRelease(EntityEJBHome.java:182)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.EntityEJBObject.releaseContext(EntityEJBObject.java:402)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.EntityEJBObject.removeFromCacheNew(EntityEJBObject.java:336)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.EntityEJBObject.endTransaction(EntityEJBObject.java:178)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransactionSynchronization.endTransaction(ApplicationServerTransactionSynchronization.java:198)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransactionSynchronization.freeEjbResources(ApplicationServerTransactionSynchronization.java:179)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransactionSynchronization.afterCompletion(ApplicationServerTransactionSynchronization.java:677)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransaction.callSynchronizationAfterCompletion(ApplicationServerTransaction.java:1215)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransactionManager.freeResources(ApplicationServerTransactionManager.java:394)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:282)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:162)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:472)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:143)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermindhttp://Oracle Containers for J2EE 10g (10.1.3.4.0) .server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    any idea?
    Thanks. J.

    java.lang.NoSuchMethodError: java.lang.String oracle.adf.model.BindingContext.findBindingContainerIdByPath(java.lang.String) at oracle.adf.controller.v2.struts.actions.DataAction.mappingCreate
    Refer Steve's blog
    http://radio-weblogs.com/0118231/stories/2006/02/28/notesOnMigratingAdfstruts1012ApplicationsTo1013.html

  • MDB on OC4J consuming from a forign JMS Server

    I would like to create MDBs and deploy them to OC4J. But these MDBs need to consume messages from non-AQ JMS Servers. We are currently using MDBs in OC4J that consume from Oracle AQ using resource adapters. But we now have a need to use other JMS servers such as OpenJMS and JbossMQ.
    I have read documents that seem to indicate
    Message-driven beans are supported only for Oracle JMS.
    Does this mean I cannot create a resource adapter for JbossMQ and deploy a MDB to OC4J that consumes from this JMS Server?
    Any help would be most appreciated!
    Thanks, Paul.

    Anybody has faced similar issue?

  • Can't access EJB deployed on remote OC4J - what am I doing wrong?

    I'm unable to access an EJB deployed on a remote OC4J instance (ie, part of a 9iAS installation on another machine vs local in JDeveloper).
    I've reverted to a stupid-simple EJB in hopes of getting it going prior to trying my actual code. The EJB works fine in JDev (9.0.3) - I 'run' the EJB to start the local OC4J instance, run my client code (generated via the "New Sample Java Client..." option in the Navigator context popup) and all is well.
    I then create an EAR file via the the "Create EJB Jar Deployment Profile..." context popup of the ejb-jar.xml node, followed by "Deploy to EAR file" from the context popup of the resulting ejb1.deploy node. I next "Deploy EAR File" via the "Oracle Enterprise Manager" that comes with 9iAS (the :1810 port). After successfully deploying, I modify my client code in JDeveloper, specifying the new connection information for the remote machine via the Hashtable constructor of InitialContext and attempt to run it. I've tried a number of Context.PROVIDER_URL forms, including: ormi://registered_pingable_host_name:23791/deployed_application_name
    ormi://registered_pingable_host_name:23791/session_deployment_name (from the <enterprise-beans><session-deployment name="xxx"/></enterprise-beans> section of my orion-ejb-jar.xml file, as per a tip in this forum)
    I've tried prefixing ormi:// with http:, but get no response whatesoever in this case.
    I've also tried it without the port number (this port number matches that in my remote OC4J's <oc4j_instance_home>/config/rmi.xml file).
    On the Context.SECURITY_PRINCIPAL and Context.SECURITY_CREDENTIALS settings, I've tried various values, generally using the 'admin' user, with passwords taken from:
    <oc4j_instance_home>/principals.xml
    <oc4j_instance_home>/application-deployments/application_name/principals.xml
    I've also tried matching the password in the jazn-data.xml, to no avail - this password appears encrypted anyway, but thought I'd give it a try on the off-chance that it was just a randomly-generated password - no go.
    I've also tried SCOTT/TIGER, anonymous, etc. Incidentally, the 'deactivated' attribute of the <user> tag is set to "false" in my principals.xml files.
    No matter what I do, I always get back "javax.naming.NamingException: Lookup error: java.net.ConnectException: Connection refused: connect"
    Additionally, I get this same message when I try to establish an Application Server Connection via JDev.
    Clearly, I'm missing something critical (and probably simple), but I can't for the life of me figure it out.
    Any help would be much appreciated!
    Thanks,
    Jim Stoll

    Ok, well this is a bit strange...
    3103 - 3103 also fails, and some experimentation has led me to find that any time that I specify a range smaller than 6 (3101 - 3106 works, 3101 - 3105, 3101-3101, 3103-3103, etc does not), the OC4J instance will not restart. I get "An error occurred while starting. The opmn request has failed. From opmn: HTTP/1.1 204 No Content Content-Length: 0 Content-Type: text/html Response: 0 of 1 processes started. Check opmn log files such as ipm.log and ons.log for detailed." in the OEM window (I specify the RMI port range, hit Apply, go to the OC4J instance home page, see that the Status is 'Down', hit Start, and get that message.) <ORACLE_HOME>/product/iasinfra/opmn/logs/ipm.log tells me:
    02/12/03 09:41:12 There is no rmi port left for starting an OC4J process. Please check oc4j's port property in OPMN's configuration file.
    02/12/03 09:41:12 start_proc: UID 3719788: failed to build args
    02/12/03 09:41:12 start_proc_req: failed to start a process in GID OC4JJim2, type: 2
    If I bump it up to 3101 - 3106 or higher, it starts right up. Running opmnadmin debug, as suggested by Venky (thanks Venky!), yields:
    PROCESS TABLE
    UID PID FLAGS TYPE STATUS REF HTTP AJP RMI JMS
    3654011 84 00000040 OC4J Alive 1 0 3005 3106 3206
    424987 604 00000000 Apache Alive 1 7777 0 0 0
    2932088 14849 00000000 OC4J Alive 1 0 3003 3103 3203
    3063160 14878 00000000 OC4J Alive 1 0 3001 3101 3201
    3194232 14906 00000000 OC4J Alive 1 0 3000 3105 3205
    3325304 14936 00000000 OC4J Alive 1 0 3002 3102 3202
    3456376 14964 00000000 OC4J Alive 1 0 3004 3104 3204
    Which is what I would expect, given the specified range of 3101-3106. Trying each of these ports in turn, I've found that I can hit the EJB successfully on 3106, but 3101 - 3105 all fail with:
    javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException: No such domain/application: Project7_2; nested exception is:
         javax.naming.AuthenticationException: No such domain/application: Project7_2
         java.lang.Object com.evermind.server.rmi.RMIContext.lookup(java.lang.String)
              RMIContext.java:134
         java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
              InitialContext.java:350
         void Samplemypackage9.MySessionEJBClient1.main(java.lang.String[])
              MySessionEJBClient1.java:15
    I'm a little concerned about assuming the high-end of the range to be the active port on a regular basis (though thus far, among about 20 - 30 tries spaced over 20 - 30 minutes, it has been...) - I guess I can have my code loop through the range until it finds a good port or exhausts the list, but that seems a bit excessive.
    Can you think of a reason that my OC4J instance won't start with a range size of less than 6? I'm on 9iAS 9.0.2, if that makes any difference.
    Thanks,
    Jim

  • Error while calling ejb service call from BPM service

    Hi,
    We are using the Oracle 11.1.1.5.0
    We are calling ejb service call from BPM service to update the data to Oracle database.
    We are getting the below error when we executing the ejb service call from BPM Service.
    <Error> <EJB> <BEA-010026> <Exception occurred du
    ring commit of transaction Name=[EJB oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliver
    yBean.handleCallback(java.lang.String,java.lang.String,java.lang.String,int,bool
    ean)],Xid=BEA1-45B91984D57960994897(30845116),Status=Rolled back. [Reason=javax.
    transaction.xa.XAException: JDBC driver does not support XA, hence cannot be a p
    articipant in two-phase commit. To force this participation, set the GlobalTrans
    actionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhas
    eCommit for the Data Source = EBSConnection],numRepliesOwedMe=0,numRepliesOwedOt
    hers=0,seconds since begin=1,seconds left=60,XAServerResourceInfo[SOADataSource_
    base_domain]=(ServerResourceInfo[SOADataSource_base_domain]=(state=rolledback,as
    signed=soa_server1),xar=SOADataSource,re-Registered = false),XAServerResourceInf
    o[ArCnTaskForms@EBSConnection@EBSConnection_base_domain]=(ServerResourceInfo[ArC
    nTaskForms@EBSConnection@EBSConnection_base_domain]=(state=rolledback,assigned=s
    oa_server1),xar=weblogic.jdbc.wrapper.JTSEmulateXAResourceImpl@fa5476,re-Registe
    red = false),SCInfo[base_domain+soa_server1]=(state=rolledback),properties=({web
    logic.jdbc.remote.EBSConnection=t3://192.168.10.114:8001, weblogic.transaction.n
    ame=[EJB oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean.handleCallback(java.la
    ng.String,java.lang.String,java.lang.String,int,boolean)]}),local properties=({w
    eblogic.jdbc.jta.SOADataSource=[ No XAConnection is attached to this TxInfo ]}),
    OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=soa
    server1+192.168.10.114:8001+basedomain+t3+, XAResources={eis/tibjms/Queue, eis
    /activemq/Queue, WLStore_base_domain_BPMJMSFileStore, WLStore_base_domain__WLS_s
    oa_server1, eis/fioranomq/Topic, eis/jbossmq/Queue, eis/Apps/Apps, eis/websphere
    mq/Queue, eis/AQ/aqSample, WLStore_base_domain_SOAJMSFileStore, eis/aqjms/Queue,
    WSATGatewayRM_soa_server1_base_domain, eis/sunmq/Queue, eis/pramati/Queue, SSCo
    nnectionDS_base_domain, eis/tibjms/Topic, eis/tibjmsDirect/Queue, eis/wls/Queue,
    eis/tibjmsDirect/Topic, EDNDataSource_base_domain, eis/wls/Topic, eis/aqjms/Top
    ic, RL3TST_base_domain, ArCnTaskForms@EBSConnection@EBSConnection_base_domain, S
    OADataSource_base_domain, WLStore_base_domain_UMSJMSFileStore_auto_2},NonXAResou
    rces={})],CoordinatorURL=soa_server1+192.168.10.114:8001+base_domain+t3+): weblo
    gic.transaction.RollbackException: Could not prepare resource 'ArCnTaskForms@EBS
    Connection@EBSConnection_base_domain
    JDBC driver does not support XA, hence cannot be a participant in two-phase comm
    it. To force this participation, set the GlobalTransactionsProtocol attribute to
    LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source
    = EBSConnection
    at weblogic.transaction.internal.TransactionImpl.throwRollbackException(
    TransactionImpl.java:1881)
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(Se
    rverTransactionImpl.java:345)
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTran
    sactionImpl.java:239)
    at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocal
    Object.java:622)
    at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetr
    y(BaseLocalObject.java:455)
    at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(Sess
    ionLocalMethodInvoker.java:52)
    at oracle.bpm.bpmn.engine.ejb.impl.BPMNDeliveryBean_of8dk6_ICubeDelivery
    LocalBeanImpl.handleCallback(Unknown Source)
    at com.collaxa.cube.engine.dispatch.message.instance.CallbackDeliveryMes
    sageHandler.handle(CallbackDeliveryMessageHandler.java:47)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
    hHelper.java:140)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatc
    hTask.java:88)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTas
    k.java:64)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
    utor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
    .java:908)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: javax.transaction.xa.XAException: JDBC driver does not support XA, he
    nce cannot be a participant in two-phase commit. To force this participation, se
    t the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended)
    or EmulateTwoPhaseCommit for the Data Source = EBSConnection
    at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.jav
    a:83)
    at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
    sourceInfo.java:1327)
    at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
    sourceInfo.java:513)
    at weblogic.transaction.internal.ServerSCInfo$1.run(ServerSCInfo.java:36
    8)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
    gWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    .>
    <12 Oct, 2012 12:34:40 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-00
    0000> <failed to handle message
    javax.transaction.xa.XAException: JDBC driver does not support XA, hence cannot
    be a participant in two-phase commit. To force this participation, set the Globa
    lTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateT
    woPhaseCommit for the Data Source = EBSConnection
    at weblogic.jdbc.wrapper.JTSXAResourceImpl.prepare(JTSXAResourceImpl.jav
    a:83)
    at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
    sourceInfo.java:1327)
    at weblogic.transaction.internal.XAServerResourceInfo.prepare(XAServerRe
    sourceInfo.java:513)
    at weblogic.transaction.internal.ServerSCInfo$1.run(ServerSCInfo.java:36
    8)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
    gWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    >
    <12 Oct, 2012 12:34:40 PM IST> <Error> <oracle.soa.bpel.engine.dispatch> <BEA-00
    0000> <Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.
    message.instance.CallbackDeliveryMessage"; the reported exception is: Error comm
    itting transaction:; nested exception is: javax.transaction.xa.XAException: JDBC
    driver does not support XA, hence cannot be a participant in two-phase commit.
    To force this participation, set the GlobalTransactionsProtocol attribute to Log
    gingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = EB
    SConnection
    This error contained an exception thrown by the message handler.
    Check the exception trace in the log (with logging level set to debug mode).
    ORABPEL-05002
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.
    message.instance.CallbackDeliveryMessage"; the reported exception is: Error comm
    itting transaction:; nested exception is: javax.transaction.xa.XAException: JDBC
    driver does not support XA, hence cannot be a participant in two-phase commit.
    To force this participation, set the GlobalTransactionsProtocol attribute to Log
    gingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = EB
    SConnection
    This error contained an exception thrown by the message handler.
    Check the exception trace in the log (with logging level set to debug mode).
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
    hHelper.java:207)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatc
    hTask.java:88)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTas
    k.java:64)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
    utor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
    .java:908)
    at java.lang.Thread.run(Thread.java:662)
    >
    Could any body help on this issue.It is little bit urgent for us to resolve.
    Thanks in advance.

    Thanks Sudipto Desmukh,
    The link is helpful me to resolve this issue.
    Thanks,
    Narasimha E

  • Problem with servlet after migrating from OC4J to WebLogic 10.3

    I come across a problem when I was migrating from jDev 11g TP4 to production version in that step also server got changed from OC4J to webLogic.
    I am running java http servlet along other jspx pages. When everything was on OC4J there was no problem whit security on this servlet ( servlet was under same authorization automatically, and I was able to create new application module on this servlet by createRootApplicationModule
    ) but when I changed to WebLogic 10.3 I come across a numerous problems. First one is solved i managed to put the servlet under same authorization as jspx pages by
    *&lt;servlet&gt;*
    *&lt;servlet-name&gt;report&lt;/servlet-name&gt;*
    *&lt;servlet-class&gt;path.to.class&lt;/servlet-class&gt;*
    *&lt;security-role-ref&gt;*
    *&lt;role-name&gt;name&lt;/role-name&gt;*
    *&lt;role-link&gt;valid-users&lt;/role-link&gt;*
    *&lt;/security-role-ref&gt;*
    *&lt;/servlet&gt;*
    but when I trying to create new application module I get JBO-30003 error which is Caused by:
    oracle.adf.share.security.ADFSecurityAuthenticationException: JAAS login error.
    Invalid null input: name
    Has anybody any idea what I am doing wrong?
    Thank you for your help, Rok Kogov&scaron;ek

    for example:
    web.xml
    <security-role>
    <role-name>yourrole</role-name>
    </security-role>
    weblogic.xml
    <security-role-assignment>
    <role-name>yourrole</role-name>
    <principal-name>wlsuser</principal-name > <!-- wlsuser is define at wls console-->
    </security-role-assignment>

  • Deploying ear application - migrating from OC4j to Weblogic

    I am trying to migrate application from OC4J to weblogic server. Apart from usual differences in descriptors, structure of EAR etc. I came across unusual error:
    "both the remote home and remote component interface must be specified. Currently, only one of them is specified"
    It is about deploying session bean. Usual EJB3 stateless session bean with local and remote interface, deployed without any problem on OC4J and JBoss. Of course, I know home interfaces are something to do with EJB 2.1, but this is EJB3 application and, I guess, Weblogic has full support for it. Does it? :)
    Anyway, is there workaround? Or am I missing something? I don't have to tell you what problems we will be facing if I have to restructure whole application with dozens and hundreds of session beans.
    Thanks a lot!

    OK. I just want to make sure that there are no problems with the deployment descriptors.
    To pin point the problem do the following in JDeveloper:
    1. Create a simple EJB 3.0 session bean
    2. On that session bean create a Sample Java Client.
    3. Run the Session Bean
    4. Run the Client
    5. If both are running fine, compare the deployment descriptors from the sample and your real application.
    --olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Changing the EJB connection not under OC4J

    Dear all,
    I am facing a problem that after I deploy an ejb from Jdev and using teh connection from the Jdev. It is working fine, however I found that the EJB is totally depends on the connection which I have setup from Jdev but not from the OC4J connection pool, because when I try to change the connection setting from oc4j, it doesn't make any change.
    Any one help!!!!

    repost

  • URGENT: Can't connect to a MDB from a standalone application

    Hi, I hope somebody can help me. I'm trying to send messages to a MDB from a standalone client, but I have problems when looking up JMS queues and connection factories. The code is the following:
    try {
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.PROVIDER_URL, "ormi://192.168.64.173:3101/PruebaAS");
    env.put(Context.SECURITY_PRINCIPAL,"admin");
    env.put(Context.SECURITY_CREDENTIALS, "admin");
    jndiContext = new InitialContext(env);
    catch (NamingException e) {
    System.out.println("Can't create JNDI API" +
    "Context:" + e.toString());
    System.exit(1);
    * Look up connection factory and queue. If either does
    not exist, exit.
    try {
    queue = (Queue)
    jndiContext.lookup("java:comp/resource/ojms/Queues/queue2");
    catch (NamingException e) {
    System.out.println("JNDI API lookup failed." +
    e.toString());
    System.exit(1);
    When program tries to look up the queue, I get the message: "JNDI API lookup failed.javax.naming.NamingException: Disconnected: Unknown command: 7"
    What's the meaning of "unknown command:7?? I have deployed the MDB to an Oracle 9iAS 9.0.2 using enterprise manager, and create queues in an Oracle 9i 9.2.0 Server.
    Please, I need some help. Thanks in advance.

    I'm no expert, but I did get something like this working. One gotcha is that you need to have an instance of the database driver, since the Oracle queues use the database. Try something like this before you attempt the JNDI lookup:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    If necessary, replace "oracle.jdbc.driver.OracleDriver" with the appropriate driver for your environment. Good luck.

  • Calling EJB 3.0 from ALBPM

    Hi,
    I tried calling EJB 2.1 from ALBPM and it worked.
    But I was nto able to call EJB 3.0.
    Is calling EJB 3.0 supported from ALBPM 6.0.2?
    If yes, how to call a business method in EJB 3.0?

    Frank,
    Thanks. The @LOB annotations are missing.
    Create table with:
    CREATE TABLE TestBlob (id number PRIMARY KEY, xmlCol BLOB);
    INSERT INTO TestBlob VALUES(1, EMPTY_BLOB());
    The following is the complete listing for the EJB 3 class generated from table TestBlob.
    package ejb3;
    import java.io.Serializable;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    @Entity
    @NamedQueries({
    @NamedQuery(name = "Testblob.findAll", query = "select o from Testblob o")
    public class Testblob implements Serializable {
    @Id
    @Column(nullable = false)
    private Long id;
    private byte[] xmlCol;
    public Testblob() {
    public Testblob(Long id) {
    this.id = id;
    public Long getId() {
    return id;
    public void setId(Long id) {
    this.id = id;
    public byte[] getXmlCol() {
    return xmlCol;
    public void setXmlCol(byte[] xmlCol) {
    this.xmlCol = xmlCol;
    }

  • 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

Maybe you are looking for

  • WRITE ( f ) TO g .

    In the WRITE TO statement, WRITE (<f>) TO <g>. code-> <b>DATA: name(10)   TYPE c VALUE 'SOURCE_s',       source_s(10) TYPE c VALUE 'XYZ ',       target(10) TYPE c. WRITE (name) TO target. WRITE / target. <i>Output->XYZ ( value of source_s)</i></b> wi

  • OWB won't take mapping changes on first attempt

    Hello, Here is my problem: mapping that was previously validated, deployed and executed successfully requires a minor change. As an example, let's say, I want to change the default value of the column in "Key Lookup" object: from default null to 0. I

  • Can I use Apple TV with Sony Bravia LCD TV?

    Hello everyone, I'm thinking of buying an Apple TV, but my TV does not have HDMI cable, it is a Sony Bravia LCD (here are the specs: http://reviews.cnet.com/flat-panel-tvs/sony-klv-20g400a-20/1707-6482_7-33664951. html) It has component and composite

  • Split screen becoming unstable? (iMovie 11)

    Hello. I am having a problem with a split screen movie that I don't understand. I have two film clips of me drumming that were recorded on two camcorders simultaneously. I have imported them into iMovie 11, and used the split screen function to creat

  • A hardware switch that will jump between 2 wired networks

    Does anyone know if this exists. I am looking for an equivalent of a KVM switch for networks. I have 2 networks coming into a room I have a switch that needs to move back and forth from one network to the other. Currently when I need to switch I unpl