Using a remote Ejb as a datacontrol for ADF

Hi,
I am trying to create an EJB 3.0 Data Control on top of remote deployed EJB. Difficulty is that I have no control over the EJB, and all I've been given is a Client jar file containing the remote interface and the entities used in the interface. When looking up the EJB using JNDI this is enough, so I was assuming it would also be enough to create a EJB Data Control, but it seems not.
I've searched a lot of blogs and tutorials, but everyone seems to create the EJB's and entities from scratch.
So the question is: how to create an EJB 3.0 Data Control based on just a Remote Interface?
I tried the following:
=============
1. Create a new Fusion Web Application
2. Add the EJB Client jar to the classpath. If you select "Show Libraries" in the Project Navigator, you can drill down to the Remote Interface class in the EJB Client jar. When you right-click the Remote Interface, there is an option to "Create Data Control", but that doesn't work for .class files. And even if you have the .java source file there, it will generate a POJO Data Control, which is obviously not what we want.
After some time I found the following workaround:
===============================
3. Create a Session Bean with exact same package and name in the Model project, and make sure its remote interface is the same as the given Remote EJB. Then generate a EJB 3.0 Data Control on top of that
4. Then via file system remove the Session Bean and interface from Model project, so the Data Control will use the one on the classpath
5. Update DataControls.dcx with jndi-name and provider-url from Remote EJB
6. Remove <ejb-ref> from web.xml to avoid deployment issues.
Problem is that in our project there are many of these Remote EJBs, and they are also work in progress. Means the remote interfaces are changing all the time, and then all of the above steps have to be performed. Isn't there an easier way, like the behaviour I was expecting in step 2?
Thanks for any suggestions.

ADF needs to be able to access the source of the facade to create the data control, so the recommended way is to have a project that contains the actual EJB and from it create the data control.
This shouldn't be a problem assuming that you and the people who provide the EJB all work in the same company.
You should be able to change the location of the EJB that you access at runtime by modifying the datacontrol definition after it has been created.
Note also that if your EJBs are constantly changing you'll also need to update your data controls to leverage changes you need.

Similar Messages

  • EJB 3.x datacontrol in JDeveloper.

    Hello.
    Does anyone know if the next release of JDeveloper will support the making of EJB 3.x datacontrols for ADF? For the time being, it seems that JDeveloper only supports creation of EJB 2.1 datacontrol and WebService DataControl. My ejb uses eclipselink, so I want to develop adf-pages with datacontrols from my existing ejb.
    Thanks a lot!

    Thanks for quick reply! I''m sorry if my explanation wasn't good enough. I'm aware of the possibilty to create EJB 3.0 datacontrols as long as they are developed within Jdeveloper. My EJB 3.0 - remote interface is already developed and deployed on a Glassfish 3.1 server. The 'New' - gallery in Jdeveloper lets you create a Webservice datacontrol from a wsdl and an EJB 2.1 datacontrol from an existing jar. I want to create a EJB 3.0 datacontrol from an existing jar, but can't find the right way to implement this. I've managed to create WS and EJB2.1 datacontrols, but my bean is already implemented and fully functional as a 3.0.
    I'm using JDeveloper 11.1.2.1.0, btw.
    PS! If I'm not mistaken, the tutorials mentioned develops the EJB 3.0 from scratch. Mine is already developed in NetBeans with Maven and deployed on a GF 3.1.
    Regards.
    Edited by: user9171811 on Jan 11, 2012 12:37 AM

  • Using service Locator pattern to dynamically access remote EJBs

    Hi All,
    Please help to guide me how I can use a service locator to retrieve a remote object (residing on another application but on same domain) .
    I do not want to use Dependency Injection since I want to dynamically discover them ( there are many implementations of same interface (POJO)). Each EJB implementation implements its own remote/local interface that extends this global POJO interface.
    I have two J2ee-Applications on same domain. J2EE-Application 1 has an EJB module (EJB Module 1) that intends to access an EJB Module (EJB Module 2) in J2EE-Application 2. Following observations:
    1. Dependency Injection fails if (include the EJB Module 2 jar in J2EE-Application 1). Reason App Server complains the EJB has been deployed (Deployment fails)
    2. Dependency Injection works if (exclude the EJB Module 2 jar in J2EE-Application 1) and include the Remote Interface in EJB Module 1(J2EE-Application 1).Positive Observation (Deployment success and DI also success)
    3.Using Service Locator to retrieve the remote object if (exclude the EJB Module 2 jar in J2EE-Application 1) and include the Remote Interface in EJB Module 1(J2EE-Application 1). Negative and Positive Observation.
    Positive Observation: Using dependency injection I can still retrieve the Remote Object
    Another Positive: The Service Locator remote lookup to another Bean in same Application but different EJB Module is successful.
    Negative Observation:
    The Service Locator lookup to this same remote object with Successful Dependency Injection fails (An Ejb in a different application).
    Can't retrieve the Remote Object with Service Locator. Message from Server:.
    NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial.
    Thanks in advance

    "I do not want to use Dependency Injection since I want to dynamically discover them ( there are many implementations of same interface (POJO))"
    If you're calling ejbs from other ejbs or servlets, the same could probably be acomplished by using dependency injection (@EJB) in a number of instance variables typed with different remote/local interfaces or even with different beanName attributes (for when more than one bean implements the same managed interface in the same app - not sure how it works outside the same jee app...) , and dinamically selecting one of them; or encapsulating those injected variables into a stateless ejb as your service locator to make them accessible from POJOs too (which, due to concurrent acess, wouldn't work for statefull ejbs references...).
    Anyway, using the jndi lookup service locator pattern seems ok in this case.
    What doesn't seem ok, given the nature of the error for the negative observation - jndi context initialization - is that
    Another Positive: The Service Locator remote lookup to another Bean in same Application but different EJB Module is successful.
    Can you check your code and reconfirm that you're using the same context initialization code for both the positive and negative observations ?

  • Client remote Authentication using JAAS and EJB Access

    Hi,
    I have a problem using JAAS in combination with Sun One Appserver 8.1 and a java remote client trying to access an EJB. Here is the scenario:
    I have implemented an EJB who's methods are protected through the deployment descriptor:
            <assembly-descriptor>
                 <security-role>
                    <description>role for clients outside of the server </description>
                    <role-name>sedna</role-name>
                  </security-role>
                <method-permission>
                  <role-name>sedna</role-name>
                  <method>
                    <ejb-name>ServerInfoBean</ejb-name>
                    <method-intf>Remote</method-intf>
                    <method-name>*</method-name>
                  </method>
                </method-permission>
                <method-permission>
                  <unchecked/>
                  <method>
                    <ejb-name>ServerInfoBean</ejb-name>
                    <method-name>getVersion</method-name>
                  </method>
                  <method>
                    <ejb-name>ServerInfoBean</ejb-name>
                    <method-name>create</method-name>
                  </method>
                </method-permission>
            </assembly-descriptor>I've deployed the EJB in a jar file which was packed into an ear file of a bigger application. The role has been mapped to the admin Principal in the sun-ejb-jar.xml descriptor.
    I can find the EJB, create it, and call the unchecked method getVersion and that works fine, so far so good.
    But then I try to access another method which is protected and then I get this exception
    org.omg.CORBA.NO_PERMISSION:   vmcid: 0x2000  minor code: 1806 completed: Maybe
            at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.java:179)
            at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:853)
            at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    ...I have to mention that I do make a login via the LoginContext. My jaas.config File has a reference to the com.sun.enterprise.security.auth.login.ClientPasswordLoginModule module.
    After login (which works perfectly) I lookup the context with a corbaname url which - if I understood it right - ignores the Context.SECURITY_PRINCIPAL and Context.SECURITY_CREDENTIALS settings.
    After that I make the calls to the EJB. And I am allways ANONYMOUS on the server side, which is definitely the problem. Because ANONYMOUS is not allowed to call the protected EJB Methods. But I made a jaas login in advance. So where am I making a mistake???
    Am I doing something wrong?
    Need help! Thx,
    Stephan

    Hi.
    I understand correctly that you call Subject.doAs on
    the client to call the remote EJB. I guess It isn't
    right way.I had also a bad feeling about this, so I forget it. But anyway it wasn't working with or without using that doAs().
    >
    >
    Subject contextSubject =
    Subject.getSubject(AccessController.getContext());
    contextSubject.getPrincipals();This code throws exceptions in the Appserver. Unfortunately they are catched somewhere so I'm unable to find out what was going wrong. But I guess, that these exceptions where security exceptions. Never the less thanks for the hint!
    But I don't think that doing the check on the server side is the way I want to go because that is programmatically security and I want to use the declarative security which can be used through the deployment descriptor. If used correctly - and supposed I do not completely misunderstand the specification - then it should be possible to create an EJB that is protected via it's deployment descriptor and access it through the client only if the client has been authenticated through JAAS mechanisms. After successful authentication the principal should be accessible through the EJB context but not for security check, that should allready been done at this time.
    Unfortunately I don't find any resource on the internet describing the scenario in such a detail that I can reproduce it. There are only very high level documentations and hints in forums.
    Again, thanks for your effort,
    Stephan

  • Error during JNDI lookup Accessing Remote EJB (access to web service restricted using declarative security model)

    Hello everyone,
    I developed a Web Service prototype accessing remote EJB using the EJB
    control with special syntax in the jndi-name attribute: @jws:ejb
    home-jndi-name="t3://10.10.245.70:7131/AccountDelegatorEJB"
    Everything works fine, but I get an error when I restrict access to my web
    service with a declarative security model by implementing steps provided in
    help doc:
    - Define the web resource you wish to protect
    - Define which security role is required to access the web resource
    - Define which users are granted the required security role
    - Configure WebLogic Server security for my web service(Compatibility
    Security/Users)
    I launch the service by entering the address in a web browser. When prompted
    to accept the digital certificate, click Yes, when prompted for network
    authentication information, enter username and password, navigate to the
    Test Form tab of Test View, invoke the method by clicking the button and I
    get the following exception:
    <error>
    <faultcode>JWSError</faultcode>
    <faultstring>Error during JNDI lookup from
    jndi:t3://10.10.245.70:7131/AccountDelegatorEJB[Lookup failed for
    name:t3://10.10.245.70:7131/AccountDelegatorEJB]</faultstring>
    <detail>
    <jwErrorDetail> weblogic.jws.control.ControlException: Error during JNDI
    lookup from jndi:t3://10.10.245.70:7131/AccountDelegatorEJB[Lookup failed
    for name:t3://10.10.245.70:7131/AccountDelegatorEJB] at
    weblogic.knex.control.EJBControlImpl.acquireResources(EJBControlImpl.java:27
    8) at
    weblogic.knex.context.JwsInternalContext.acquireResources(JwsInternalContext
    .java:220) at
    weblogic.knex.control.ControlHandler.invoke(ControlHandler.java:260) at
    ibas.AccountControl.getTransactionHistory(AccountControl.ctrl) at
    ibas.GetSecure.retrieveVisaHistoryTxn(GetSecure.jws:64) </jwErrorDetail>
    </detail>
    </error>
    I have a simple Hello method as well in my WebService (which is also
    restricted) and it works fine, but remote EJB access doesn't. I tested my
    prototype on Weblogic 7.2 and 8.1 platforms - same result.
    Is that a bug or I am missing some additional configuration in order to get
    that working. Has anyone seen similar behavior? Is there a known resolution?
    Or a suggested way to work around the problem?
    Thank you.
    Andre

    Andre,
    It would be best if this issue is handled as an Eval Support case. Please
    BEA Customer Support at http://support.beasys.com along with the required
    files, and request that an Eval support case be created for this issue.
    Thanks
    Raj Alagumalai
    WebLogic Workshop Support
    "Andre Shergin" <[email protected]> wrote in message
    news:[email protected]...
    Anurag,
    I removed "t3", still get an error but a different one (Unable to create
    InitialContext:null):
    <error>
    <faultcode>JWSError</faultcode>
    <faultstring>Error during JNDI lookup from
    jndi://secuser1:[email protected]:7131/AccountDelegatorEJB[Unable to
    create InitialContext:null]</faultstring>
    <detail>
    <jwErrorDetail> weblogic.jws.control.ControlException: Error during JNDI
    lookup from
    jndi://secuser1:[email protected]:7131/AccountDelegatorEJB[Unable to
    create InitialContext:null] at
    weblogic.knex.control.EJBControlImpl.acquireResources(EJBControlImpl.java:27
    8) at
    weblogic.knex.context.JwsInternalContext.acquireResources(JwsInternalContext
    .java:220) at
    weblogic.knex.control.ControlHandler.invoke(ControlHandler.java:260) at
    ibas.AccountControl.getTransactionHistory(AccountControl.ctrl) at
    ibas.GetVisaHistoryTransactions.getVisaHistoryTxn(GetVisaHistoryTransactions
    .jws:67) </jwErrorDetail>
    </detail>
    </error>
    Note: inter-domain communication is configured properly. The Web Service to
    remote EJB works fine without a declarative security.
    Any other ideas?
    Thank you for your help.
    Andre
    "Anurag" <[email protected]> wrote in message
    news:[email protected]...
    Andre,
    It seems you are using the URL
    jndi:t3://secuser1:[email protected]:7131/AccountDelegatorEJB
    whereas you should not be specifying the "t3:" protocol.
    The URL should be like
    jndi://secuser1:[email protected]:7131/AccountDelegatorEJB
    Please do let me know if you see any issues with this.
    Note that this will only allow you to access remote EJBs in the same WLS
    domain. For accessing EJBs on another domain, you need to configure
    inter-domain communication by
    following a few simple steps as mentioned at
    http://e-docs.bea.com/wls/docs81/ConsoleHelp/jta.html#1106135. This link has
    been provided in the EJB Control Workshop documentation.
    Regards,
    Anurag
    "Andre Shergin" <[email protected]> wrote in message
    news:[email protected]...
    Raj,
    I tried that before, it didn't help. I got similar error message:
    <error>
    <faultcode>JWSError</faultcode>
    <faultstring>Error during JNDI lookup from
    jndi:t3://secuser1:[email protected]:7131/AccountDelegatorEJB[Lookup
    failed for
    name:t3://secuser1:[email protected]:7131/AccountDelegatorEJB]</faultstr
    ing>
    <detail>
    <jwErrorDetail> weblogic.jws.control.ControlException: Error during JNDI
    lookup from
    jndi:t3://secuser1:[email protected]:7131/AccountDelegatorEJB[Lookup
    failed for
    name:t3://secuser1:[email protected]:7131/AccountDelegatorEJB] at
    weblogic.knex.control.EJBControlImpl.acquireResources(EJBControlImpl.java:27
    8) at
    weblogic.knex.context.JwsInternalContext.acquireResources(JwsInternalContext
    .java:220) at
    weblogic.knex.control.ControlHandler.invoke(ControlHandler.java:260) at
    ibas.AccountControl.getTransactionHistory(AccountControl.ctrl) at
    ibas.GetSecure.retrieveVisaHistoryTxn(GetSecure.jws:64) </jwErrorDetail>
    </detail>
    </error>
    Anything else should I try?
    P.S. AccountDelegatorEJB, the remote EJB my Web Service calls is NOTaccess
    restricted.
    I hope there is a solution.
    Thanks,
    Andre
    "Raj Alagumalai" <[email protected]> wrote in message
    news:[email protected]...
    Andre,
    Can you try using the following url with username and password
    jndi://username:password@host:7001/my.resource.jndi.object ?
    once you add webapp level security, the authenticated is the user who
    invokes the EJB.
    http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/controls/ejb/con
    CreatingANewEJBControl.html?skipReload=true
    has more info on using remote EJB's.
    Hope this helps.
    Thanks
    Raj Alagumalai
    WebLogic Workshop Support
    "Alla Resnik" <[email protected]> wrote in message
    news:[email protected]...
    Hello everyone,
    I developed a Web Service prototype accessing remote EJB using the EJB
    control with special syntax in the jndi-name attribute: @jws:ejb
    home-jndi-name="t3://10.10.245.70:7131/AccountDelegatorEJB"
    Everything works fine, but I get an error when I restrict access to my
    web
    service with a declarative security model by implementing steps
    provided
    in
    help doc:
    - Define the web resource you wish to protect
    - Define which security role is required to access the web resource
    - Define which users are granted the required security role
    - Configure WebLogic Server security for my web service(Compatibility
    Security/Users)
    I launch the service by entering the address in a web browser. Whenprompted
    to accept the digital certificate, click Yes, when prompted for
    network
    authentication information, enter username and password, navigate tothe
    Test Form tab of Test View, invoke the method by clicking the buttonand
    I
    get the following exception:
    <error>
    <faultcode>JWSError</faultcode>
    <faultstring>Error during JNDI lookup from
    jndi:t3://10.10.245.70:7131/AccountDelegatorEJB[Lookup failed for
    name:t3://10.10.245.70:7131/AccountDelegatorEJB]</faultstring>
    <detail>
    <jwErrorDetail> weblogic.jws.control.ControlException: Error during
    JNDI
    lookup from jndi:t3://10.10.245.70:7131/AccountDelegatorEJB[Lookupfailed
    for name:t3://10.10.245.70:7131/AccountDelegatorEJB] at
    weblogic.knex.control.EJBControlImpl.acquireResources(EJBControlImpl.java:27
    8) at
    weblogic.knex.context.JwsInternalContext.acquireResources(JwsInternalContext
    .java:220) at
    weblogic.knex.control.ControlHandler.invoke(ControlHandler.java:260)at
    ibas.AccountControl.getTransactionHistory(AccountControl.ctrl) at
    ibas.GetSecure.retrieveVisaHistoryTxn(GetSecure.jws:64)</jwErrorDetail>
    </detail>
    </error>
    I have a simple Hello method as well in my WebService (which is also
    restricted) and it works fine, but remote EJB access doesn't. I testedmy
    prototype on Weblogic 7.2 and 8.1 platforms - same result.
    Is that a bug or I am missing some additional configuration in order
    to
    get
    that working. Has anyone seen similar behavior? Is there a knownresolution?
    Or a suggested way to work around the problem?
    Thank you.
    Andre

  • Stand alone client for remote EJB corba error

    Regarding problem below, I've checked System env variables
    that weblogic server is using for CORBA classes:
    javax.rmi.CORBA.UtilClass=weblogic.iiop.UtilDelegateImpl
    org.omg.CORBA.ORBSingletonClass=weblogic.corba.orb.ORB
    org.omg.CORBA.ORBClass weblogic.corba.orb.ORB
    javax.rmi.CORBA.PortableRemoteObjectClass=weblogic.iiop.PortableRemoteObjectDelegateImpl
    But these are server classes and not found in wlclient.jar and wljmsclient.jar. What classes should be used for client? What needs to be set in order to get successful remote RMI/EJB call to weblogic server?
    Original post:
    I have a stand alone spring client for simple stateless session EJB deployed on weblogic 9.2. I'm using spring (jdk 1.5) to call this remote EJB and the only way I can succeed is to have full weblogic.jar in my bootstrap classpath. Otherwise I get corba error:
    CORBA BAD_PARAM 0 No; nested exception is:
    org.omg.CORBA.BAD_PARAM: vmcid: 0x0 minor code: 0 completed: No
    Interestingly, within same client I have JMS call to weblogic JMS and that fails if weblogic.jar is in boot classpath. Getting rid of weblogic.jar from boot classpath works if I have wlclient.jar and wljmsclient.jar in regular classpath (as per weblogic docs). I would think that for stand alone client all I would need is to weblogic client jars, why should I need to have full weblogic.jar?
    I can't get those work together with same classpath. I wonder if anybody has some pointers and/or advice. I was looking to set system parameters for corba for weblogic client that maybe could help:
    org.omg.CORBA.ORBClass
    org.omg.CORBA.ORBSingletonClass
    javax.rmi.CORBA.UtilClass
    javax.rmi.CORBA.StubClass
    javax.rmi.CORBA.PortableRemoteObjectClass
    But I can't find definitive answer.
    Regards,
    -pp
    Edited by mr.papini at 06/28/2007 9:05 AM

    I'm stuck exactly with the same issue while trying to port my application from weblogic to jboss.
    I tried to specify different ORB implementations (JacORB, OpenORB) for jvm option org.omg.CORBA.ORBClass, but JBoss couldn't get them instantiated. Native Sun implementation which is used in JBoss by default and can be instantiated, apparently is not fully compatible with weblogic security module.
    So did you manage to find out the solution?
    Edited by DigitalDude at 04/09/2008 11:47 PM

  • Loading remote EJB from servlet using jakarta and openejb

    I am trying to create an environment where I use
    openejb as my EJB container, and JAKARTA Tomcat
    as my
    Servlet/JSP container. However,
    i'm having a problem in lookingup my remote EJB from my
    jakarta application.
    That exact code works perfectly if I run it standalone. I
    am using the same JRE. Jakarta has also loaded the
    openejb-0.8.3.jar and openejb_client-0.8.3.jar
    What I dont understand is why jakarta
    would behave differently than command-line java when I
    am
    running in the same JRE on a single machine.
    Any help would be much appreciated.

    Several fairly major improvements have been maid in OpenEJB specifically for the Tomcat people. For one, the whole way you integrate them has completely been rewritten. Now all you have to do is copy a openejb_loader-0.9.1.war into the Tomcat webapps directory and change an init-param in it. Pretty straight forward. OpenEJB 0.8.3 won't work with Tomcat in the same VM, however OpenEJB 0.9.0 and up have been totally revamped in all things related to classloading so that it can co-exist with Tomcats unique classloading architecture.
    O'Reilly just published an article detailing the ins and outs of the integration, it's a pretty good read:
    http://www.onjava.com/pub/a/onjava/2003/02/12/ejb_tomcat.html

  • How to use JNDI to lookup remote EJB Home?

    Hello,
    I am writing a servlet to call a remote EJB on another machine.
    I use JNDI to lookup remote EJBHome (not) but fail.
    Any advice?
    Any trick to configure application-client.xml?
    Thanks!

    Use com.evermind.server.rmi.RMIInitialContextFactory instead
    Here an example
    // EmployeeClient.java
    package mypackage5;
    import javax.ejb.*;
    import javax.naming.*;
    import javax.rmi.PortableRemoteObject;
    import java.io.*;
    import java.util.*;
    import java.rmi.RemoteException;
    import com.evermind.server.ApplicationClientInitialContextFactory;
    import com.evermind.server.rmi.RMIInitialContextFactory;
    * A simple client for accessing an EJB.
    public class EmployeeClient
    public static void main(String[] args)
    System.out.println("EmployeeClient.main(): client started...");
    try
    * initialize JNDI context by setting factory, url and credential
    * in a hashtable
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    //env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.ApplicationClientInitialContextFactory");
    env.put(Context.PROVIDER_URL, "ormi://koushikm:23791/application4");
    env.put(Context.SECURITY_PRINCIPAL, "admin");
    env.put(Context.SECURITY_CREDENTIALS, "admin");
    * or set these properties in jndi.properties
    * or use container defaults if that's where client got launched from
    Context context = new InitialContext(env);
    * Lookup the EmployeeHome object. The reference is retrieved from the
    * application-local context (java:comp/env). The variable is
    * specified in the assembly descriptor (META-INF/application-client.xml).
    Object homeObject =
    context.lookup("HelloEJB");
    System.out.println("EmployeeClient.main(): bean found...");
    // Narrow the reference to EmployeeHome.
    HelloEJBHome home =
         (HelloEJBHome) PortableRemoteObject.narrow(homeObject,
    HelloEJBHome.class);
    System.out.println("EmployeeClient.main(): home narrowed...");
    // Create remote object and narrow the reference to Employee.
    HelloEJB remote =
         (HelloEJB) PortableRemoteObject.narrow(home.create(), HelloEJB.class);
    System.out.println("EmployeeClient.main(): remote created...");
    String message=remote.helloWorld("SUCCESS");
    System.out.println(message);
    } catch(NumberFormatException e) {
    System.err.println("NumberFormatException: " + e.getMessage());
    } catch(RemoteException e) {
    System.err.println("RemoteException: " + e.getMessage());
    } catch(IOException e) {
    System.err.println("IOException: " + e.getMessage());
    } catch(NamingException e) {
    System.err.println("NamingException: " + e.getMessage());
    } catch(CreateException e) {
    System.err.println("CreateException: " + e.getMessage());
    Hello,
    I am writing a servlet to call a remote EJB on another machine.
    I use JNDI to lookup remote EJBHome (not) but fail.
    Any advice?
    Any trick to configure application-client.xml?
    Thanks!

  • TS1741 I have lost the original remote for my Apple TV. I went to install it at my fiancés house, and cannot use the remote app on my ipad or iPhone. Can I still control the Apple TV with the apps?

    I have lost the original remote for my Apple TV. I went to install it at my fiancés house, and cannot use the remote app on my ipad or iPhone. Can I still control the Apple TV with the apps?

    Welcome to the Apple Community.
    Your Apple TV may have become paired with another remote. Hold the remote close to and pointed at the Apple TV, hold down the menu and Rewind buttons together for 6 seconds or until you see a broken chain icon on screen.

  • HT1947 Why can't I see all songs for an artist when using iPad remote for home sharing music through apple tv.

    Why can't I see all my songs for an artist when I search by artist using iPad remote? I'm listening to music via home sharing through apple tv using iPad 2 as my remote. All my songs seem to be listed fine under "songs", but when I select "artist" many of the songs I have for that artist are not there, any idea why that is or how I can fix this.....I suspect it's because many songs may not be associated with an album and it seems only songs in albums are displayed when I search by artist.

    Thanks Ferretbite, but that's not the issue in my case, the songs are not part of a compilation. I just checked several of them and the "Part of a compilation" box is unchecked.....it seems as if the song does not have an album associated with it, it will not display under the artist when I search by artist on the iPad remote which REALLY stinks.
    Hope someone else might have a solution.

  • Using an EJB as a source for a Model

    Hi,
    Before starting with this post content it might be helpful to give you the desired output of what I am trying to do. Basically I need to have an HTML table that is populated from an EJB.
    The current proposed solution is as follows: the Model that is associated with a TiledView will be used as client for the EJB. The Model will make use of the methods in the EJB to get different java.util.Collection objects for different Helper classes based on the find criteria.
    For example, if the EJB represent a book and there is a home method to retrieve a list of books based of the book category. In this case the Model will act as a client of the EJB, retrieve the list of books and use the different methods in the Model, such as insert and retrieve, to get the list of books and to add a book up on request.
    I know that my post might not be clear. But as I said, all that is needed is to have a TiledView that displays books information, which are retrieved from an EJB, and allow a user to select a book to display its information.
    My suggested solution could be completely wrong, not visible and reflect a bad design. Please if any one went through such a situation give me a hint.
    Regards,
    Basil Mahdi

    Basil,
    This is some material I snipped from an internal Sun forum I posted to regarding a simple EJB Jato integration example.
    I hate to give just any EJB JATO example because frankly there are so many different use cases with EJBs that no one example will match up against your needs. You can use an EJB
    - in a Custom Model Operation you can encapsulate an EJB Method invocation
    - in a Custom Command you can encapsulate any arbitrary code include calling an EJB
    - as the backingstore for a CustomModel
    - use a BeanAdapterModel to adapt to the value/transfer beans which are uses as parameters or return values of EJB methods
    - use an ObjectAdapterModel to adapt an EJB directly by assigning the EJB reference in setObject() in the constructor of the OAM
    As you can see, an EJB is just another business object API...its just that you acquire the reference with a few lines of ugly JDNI and Home interface APIs.
    Nevertheless, here is some guidance. I would like to reinforce that there is no direct solution for adapting an EJB from BAM; EJBs are not JavaBeans. What is a solution is to have the parameters or return values of your EJBs use value/transfer object patterns in the form of JavaBeans. The BAM may be used to adapt to these parameters or return value of the EJB.
    In short, when using BAM in a tileview to work with an EJB, there is little difference than using BAM at any other time, you the developer, must manage/code the placement of the EJB parameters directly into the BAM or in a scoped attribute to be used by the BAM.
    In another example, you may have a SLSB which models an employee called EmployeeSupport. You may have a transfer object (JavaBean) of type EmployeeRecord. You may have operations on the EJB including:
    public EmployeeRecord findEmployee(String employeeID);
    public EmployeeRecord[] findEmployees(String location);
    public void updateEmployee(EmployeeRecord);
    One could create a BAM in the studio called EmployeeModel
    You would set the JavaBean class to EmployeeRecord
    You would run the Design Action to bootstrap the properties of EmployeeRecord as fields on the model
    Now you have a model which is ready to adapt to EmployeeRecord bean.
    Feel free to add material to the EmployeeModel to make a richer API; for instance you could encapsulate some EJB'ish code in their to act as a service locator for a EmployeeSupprt SLSB.
    protected static EmployeeSupport support;
    static {
    javax.naming.Context context = new javax.naming.InitialContext();
    Object objref = context.lookup("ejb/EmployeeSupport");
    EmployeeSupportHome home = (EmployeeSupportHome)
    javax.rmi.PortableRemoteObject.narrow(objref,EmployeeSupportHome .class);
    support = home.create();
    public static EmployeeSupport getEmployeeSupport() {
    return support;
    If you really wanted to hide the EJB'ishness of the EmployeeSupport you could even wrap the behavior and handle exceptions, etc.
    public static EmployeeRecord findEmployee(String employeeID) {
    return getEmployeeSupport().findEmployee(employeeID);
    public static EmployeeRecord[] findEmployees(String location) {
    return getEmployeeSupport().findEmployees(location);
    public static void updateEmployee(EmployeeRecord record) {
    return getEmployeeSupport().updateEmployee(record);
    You could even help the view developer latch EJB transfer objects into the model for adaption; saving them from the effort
    public void adaptEmployee(String employeeID) {
    setBean(findEmployee(employeeID));
    public void adaptLocation(String location) {
    setBean(findEmployees(location));
    public void save() {
    updateEmployee((EmployeeRecord)getBean());
    Create a search ViewBean, place a text field on it for an EmployeeID and button labeled Find. Leave the EmployeeID model binding default (to use a DefaultModel memory model). Open the handle request event method on the viewbean for the Find button.
    public void handleFindRequest....{
    EmployeeModel model = .....;
    model.adaptEmployee(getEmployeeIDChild().getValue());
    // display Edit page which has fields for editing the employee record
    Create an edit ViewBean, with editable fields bound to the EmployeeModel; add an button labeled update
    public void handleUdpateRequest....{
    EmployeeModel model = .....;
    model.save();
    // do whatever is next ....
    Notice that the we are jumping across request boundaries in this example. Using just default model reference configurations, the EmployeeModel will be created brand new during the Update request and there will be no bean currently adapted. Most likely, you would want to have the model (and hence its adapted bean) stored in HttpSession across at least these related requests. In this case the model reference used by the search ViewBean would have "store in session" true. and the model reference in the edit ViewBean would have "look in session" true.
    What we recommend is that someone who understands the business tier design take the responsibility to create a set of "business delegates" as JATO models. An advanced technique would be to encapsulate these models in a component library JAR which multiple web applications can reuse. As you can imagine, there are so many ways to do the same thing. You could just as easily make a CustomModel or SimpleCustomModel to adapt to your EJB. You can also, if your EJB uses primitives or JavaBeans (or graphs of JavaBeans) for all parameters, use the ObjectAdapterModel to directly connect to an EJB.

  • How to set Updates with 11.3 when using Apple Remote Desktop for installation?

    So for all pre-11.3 versions of Flash Player on OSX, I have just pulled out the "Adobe Flash Player.pkg" installer package from the installer .dmg and used Apple Remote Desktop to deploy Flash to the Macs I manage.
    However, when doing that with Flash 11.3, this leaves the "Updates" setting in the Flash Player System Preference set to "Notify me to install updates".
    I'd like to push something that would set this to "Allow Adobe to install updates".
    Is there a way to modify the .pkg installer to have the System Preference set to that value (or push/copy some other .plist file to the clients to have that setting enabled?)
    Thanks!

    I poked around a bit and the file seems to be:
    /Library/Application Support/Macromedia/mms.cfg
    I'd like to get some confirmation from Adobe that this is the correct file to push, though (it seems like it as it only contains this):
    AutoUpdateDisable=0
    SilentAutoUpdateEnable=1

  • How to Use synchronous RFC calls during test run for remote accesses

    there is a Setting for the usage of RFC accesses from a tested system
    using eCATT.
    'X' - Use asynchronous RFC calls during test run for remote accesses
    ' ' - Use synchronous RFC calls during test run for remote accesses
    I developed an eCATT as following :
      SAPGUI ( SAPGUI_1 , Target_system_1 ).
      SAPGUI ( SAPGUI_2 , Target_system_2 ).
    My question is how to run the eCATT in a synchronous RFC calls
    PS: I do not want to change the Target_system to the same one in the
    above script of ecatt.Because I need to run it in 2 different Target
    systems sometime.
    for example, I give a Target_system_3 when run this eCATT
    I want the SAPGUI_1 and SAPGUI_2 run the Target_system_3 but not the
    Target_system_1 or Target_system_2 .
    Could you please tell me how to make it without the changes in script?
    Edited by: Weitong Liu on Mar 24, 2011 9:44 AM

    Hi Liu,
    Weitong Liu wrote:
    > ' ' - Use synchronous RFC calls during test run for remote accesses
    This is the standard option value. Asynchronous are not the standard way and used only for very special purposes.
    Weitong Liu wrote:
    > I developed an eCATT as following :
    >   SAPGUI ( SAPGUI_1 , Target_system_1 ).
    >   SAPGUI ( SAPGUI_2 , Target_system_2 ).
    > My question is how to run the eCATT in a synchronous RFC calls
    The commands will be executed in sequence. So each call will be synchronously replayed against TS1 and TS2.
    What is you issue with this standard procedure?
    Kind regards,
    Christoph

  • Firewall software & using a remote control for AirTunes?

    I recently turned on the built-in firewall on my MacBook Pro. Ever since doing so, every time a run iTunes, get the following message:
    Your computer is using firewall software that prevents
    you from using a remote control for AirTunes.
    To use a remote control for AirTunes, open System Preferences, click
    Sharing, then click Firewall, and select "iTunes Music Sharing."
    I always tell it to "Ignore" and I am able to play music through my AirPort Express without any trouble. What is the "remote control" to which this message is referring? I have searched Apple's support pages and this forum without any luck. I thought that opening the "iTunes Music Sharing" port in the firewall would allow other people on my local network to see my music if I was sharing it, which I am not. I don't see what this has to do with a remote control.
    Thank you for any info you can provide.
    -- Gary

    Hi,
    there is no remote control for AirPortExpress or Air Tunes. Maybe we will see something like this in the futue, who knows.
    As AirTunes uses streaming, it probabely needs the same port open as Music Sharing. Because shared music is streamed too.

  • Music  does not play on Iphone when using the Remote app for Itunes , is this normall.

    Hi all,
    I am using the remote App for ITunes on my IPhone 5,I can get the phone to operate
    ITunes perfectly but there is no audio coming from the phone, I am having a party and I
    want to play the same playlist  throughout the house without having it up at full volume.
    I was hoping to leave the laptop downstairs and plug the IPhone into a stereo upstairs.
    If this is normal ...........
    Is it possible to load the playlist on to 2 computers , and have them playing the same music
    simultaneously.
    Any suggestions please

    See http://discussions.apple.com/thread.jspa?messageID=9926596

Maybe you are looking for

  • Why does it take 22 phone calls and leaving BT to ...

    I used to have BT broadband option 3.  For this I required a phone line, I made around 3 phone calls a year from it. Last year in May some bright spark in BT decided to merge my phone and broadband accounts.  I had been paying the correct amount of a

  • How to create Business Partner in CRM 2007

    Hi gurus!! how are you? I´m a rooky to sap crm and I would like your help and guidance to know how can I create a Business Partners and Roles. Whatever detailed help or documentation you may give me will be rewarded =) Thanks a lot in advanced!!! Lor

  • Can't capture through line-in port SB Live! 24-bit and Linux A

    Hi, I've posted this message to the ALSA User's forum but have not yet received any responses, so I'm hoping somebody in this forum can help me. I just installed a SB Li've! 24-bit card (SB040) into a Dell Server 950 running Redhat Enterprise Linux E

  • Error in Spool to PDF conversion using 'CONVERT_ABAPSPOOLJOB_2_PDF'.

    Hi I am sending classical report output from the Spool to PDF using 'CONVERT_ABAPSPOOLJOB_2_PDF'. This is done through a batch job. Step 1 is RVKRED01 report Step 2 is a program that picks up the spool number of step1 and converts the spool to PDF. N

  • RFC - XI - Web service

    Hi All, I have a RFC -> XI -> Web service synchronous scenario. After setting up scenario in XI, I execute RFC. When I check sxmb_moni, it shows me error. The error is pasted here. <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <!--  Call