RMI JNDI Lookup on remote iAS causing "Not Authorised"

Hi all
I'm running through an OJMS example using AQ and all is looking good until I try and Update my plan from Design Studio..
I get:
IMessageSourceReceiver->messageReceive: javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException: Not authorized; nested exception is:
     javax.naming.AuthenticationException: Not authorized. Root exception is javax.naming.AuthenticationException: Not authorized
     at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2523)
     at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2339)
     at com.evermind.server.rmi.RMIConnection.lookup(RMIConnection.java:1781)
     at com.evermind.server.rmi.RMIServer.lookup(RMIServer.java:721)
     at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:149)
     at javax.naming.InitialContext.lookup(InitialContext.java:347)
     at iteration.enterpriselink.sources.JMSConsumer.start(JMSConsumer.java:85)
     at iteration.enterpriselink.sources.JMSMessageSourceReceiverImpl.jmsConsumerStart(JMSMessageSourceReceiverImpl.java:1001)
This appears to be because iAS is using JAZN security and is not allowing an anonymous lookup from BAM.
I can't see anywhere in Architect or Administrator where I can configure a username/password for authentication with my iAS install...
Has anyone any advice?
Cheers
Chris

Hi, Chriseb2
even i also have the same problem
I am getting one Error while Creating Enterprise Link Plan in Design Studio of BAM and Failed to Create the Plan.
i.e.(IMessageSourceReceiver>messageReceive:javax.NameNotFoundException: java:comp/resource/BAMTTT/TopicConnectionFactories/bam_ttq_tab not found)
Setup:
Integration between Oracle EBS 11.5.10 and Oracle BAM 10.1.3.
I am trying to get the Raw Data and sending over to the Enterprise Link Plan.
1. Created bam_ttq AQ and bam_ttq_tab.
2. Configured all of the startup parameters required for Enterprise Message Source Type (Oracle (AS JMS and OJMS)) in the Administrator of BAM.
3. Configured the Oracle (AS JMS and OJMS) with the following values in the Enterprise Message Sources in the Architect of BAM.
Initial Context Factory : com.evermind.server.rmi.RMIInitialContextFactory.
JNDI Service Provider URL : opmn:ormi://inaportal.inatech.com:6004:home.
TopicConnectionFactory Name : java:comp/resource/BAMTTT/TopicConnectionFactories/bam_ttq_tab.
Topic Name : java:comp/resource/BAMTTT/Topics/bam_ttq.
JMS Message Type : Text Message.
Durable Subscriber Name (Optional) : Bamclient.
Message Selector (Optional) :
Client ID (Optional) : ClientId.
4. Also configured the data-sources.xml and applications.xml in OC4J (10.1.2) to reference the database schema where the BAM_TTQ queue is created.
5. Modified the jndi.properties file with required properties.
java.naming.security.principal = ias_admin
java.naming.security.credentials = inaportal321
java.naming.provider.url = opmn:ormi://inaportal.inatech.com:6004:home
java.naming.factory.initial = com.evermind.server.rmi.RMIInitialContextFactory
6. In the Design Studio I have a Plan with Oracle BAM Enterprise Message Receiver and Grid.
And when I am updating the plan I am getting the following error.
IMessageSourceReceiver->messageReceive: javax.naming.NameNotFoundException: java:comp/resource/BAMTTT/TopicConnectionFactories/bam_ttq_tab not found
at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:164)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at iteration.enterpriselink.sources.JMSConsumer.start(JMSConsumer.java:85)
at iteration.enterpriselink.sources.JMSMessageSourceReceiverImpl.jmsConsumerStart(JMSMessageSourceReceiverImpl.java:1001)
at iteration.enterpriselink.sources.JMSMessageSourceReceiverImpl.messageReceive(JMSMessageSourceReceiverImpl.java:326)
[Oracle BAM Enterprise Link error code: 0x75 -- 0x1, 0x75 -- 0x3A]
Error during Message Receive operation.
[Oracle BAM Enterprise Link error code: 0x75 -- 0x1, 0x75 -- 0x3B]
Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
[Oracle BAM Enterprise Link error code: DC -- 0x1, DC -- 0x83]
Error while processing the data for the step 'Oracle BAM Enterprise Message Receiver'
[Oracle BAM Enterprise Link error code: DC -- 0x1, DC -- 0x83]
Update of Plan "EBS_Example" failed.
[Oracle BAM Enterprise Link error code: PlanMgr -- 0x1, PlanMgr -- 0xD5]
Can U pls help me out with this? Its Urgent for Me
Thx
Renuka.

Similar Messages

  • 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

  • RMI JNDI Lookup in ServletContextListener

    Hi,
    I am attempting to do a JNDI lookup (using the RMIInitialContextFactory) of a session EJB inside a ServletContextListener. But when I do I get an exception saying it cannot find the name I lookup. If I set rmi.debug to true I can see that a 'SocketException: Socket closed' is caught internally. I can also see from the RMI debug that the attempt to load the EJB interface class fails because it is trying to use the application server's classloader and not the web applications classloader. If I put the JAR containing the interface class into the applib directory none of the above occurs.
    Should I be able to do the JNDI lookup within the SerlvetContextListener? Is this a bug?
    Cheers,
    Rich.

    This exception only appears once I turn rmi.debug on. Like I said previously if I put the EJB interfaces JAR into applib it does not occur.
    05/03/14 09:03:56 java.net.SocketException: socket closed
    05/03/14 09:03:56 at java.net.SocketInputStream.socketRead0(Native Method)
    05/03/14 09:03:56 at java.net.SocketInputStream.read(SocketInputStream.java:129)
    05/03/14 09:03:56 at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
    05/03/14 09:03:56 05/03/14 09:03:56 Exception raised when creating initial context:
    at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
    05/03/14 09:03:56 at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2133)
    05/03/14 09:03:56 at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2313)
    05/03/14 09:03:56 at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2380)
    05/03/14 09:03:56 at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2452)
    05/03/14 09:03:56 at java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2601)
    05/03/14 09:03:56 at java.io.ObjectInputStream.readByte(ObjectInputStream.java:845)
    05/03/14 09:03:56 at com.evermind.server.rmi.RMIConnection.readCommand(RMIConnection.java:3455)
    05/03/14 09:03:56 at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:380)
    05/03/14 09:03:56 at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:333)
    05/03/14 09:03:56 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecu
    tor.java:186)
    05/03/14 09:03:56 at java.lang.Thread.run(Thread.java:534)

  • Servlet jndi lookup to remote EJB, servlet and EJB not in the same application

    Hi,
    I think that the subject explain my problem.
    I have Oracle IAS9i 9.0.2.0.0, and JDeveloper 9.0.2.829
    I have deployed and EJB in IAS9i and i want to use from the developer machines, which have JDeveloper.
    how can i to do remote calls from JDeveloper?.
    I have modifed the orion-application.xml, and added remote=true.
    I have modifed the rmi.xml and added the hosts where the Jdeveloper placed.
    Any ideas?
    Thanks and cheers
    P.D The app server and jdeveloper are in the same net.
    if it is posible replys me to [email protected] too.

    Steps to access a remote EJB from within OC4J
    ++++++++++++++++++++++++++++++++++++++++++++++
    1) Deploy EJB application (ApplicationRemote) to remote container (REMOTE)
    "java -jar admin.jar -deploy ormi://REMOTE.hostname:REMOTE.port REMOTE.username REMOTE.password -deploy -file ApplicationRemote.ear
    -deploymentName ApplicationRemote"
    2) Ensure that local application (ApplicationLocal) has ejb-ref tags for remote EJBs accessed (in web.xml or ejb-jar.xml)
    3) Deploy to local container (LOCAL) an empty application (ApplicationEmpty) with the same name as the remote application (ApplicationRemote)
    "java -jar admin.jar -deploy ormi://LOCAL.hostname:LOCAL.port LOCAL.username LOCAL.password -deploy -file ApplicationEmpty.ear -deploymentName
    ApplicationRemote"
    5) Deploy local application (ApplicationLocal) to local container (LOCAL)
    "java -jar admin.jar -deploy ormi://LOCAL.hostname:LOCAL.port LOCAL.username LOCAL.password -deploy -file ApplicationLocal.ear -deploymentName
    ApplicationLocal"
    4)Restart local container
    ApplicationEmpty should consist of just an application.xml file - no modules. The same file can be deployed with different application names for all the remote
    applications that must be accessed.
    ApplicationLocal should access the remote EJB by using the following JNDI properties
    java.naming.factory.initial = "com.evermind.server.rmi.RMIInitialContextFactory"
    java.naming.provider.url = "ormi://REMOTE.hostname:REMOTE.port/ApplicationRemote"
    java.naming.security.principal = "REMOTE.username"
    java.naming.security.credentials = "REMOTE.password"
    regards
    Debu Panda

  • FPN - error trying to lookup object - remote role assignment not working

    Hello everyone,
    We have implemented a Federated Portal Network connection in our landscape between our portals.
    We use only remote role assignment functionality.
    Everything was working fine, but since 2 days we encounter the following error in the Default trace.
    Error trying to lookup object: alias: <role name>
    It is possible to open the producer portal in the Portal Content Administration and also searching for the Producer portal roles is possible in User administration. But when we assign the remote role the tab is not displayed in the portal only the above mentioned error is shown in the default trace. Our portals run SP 12 and BI Java SP14.
    Is there a solution or workaround for this issue ?
    Martin

    Hi,
    I have the same issue as you, I cannot see role tabs in Consumer portal and I get the same error in the defaulttrace as you.
    What did you do to resolve this issue?
    Many thanks
    Gordon

  • JNDI lookup in a clustered environment

              Hi,
              I have deployed my application on a clustered environment containing one admin
              server and two managed servers. The application is deployed on the managed servers.
              We have a DNS for these two managed servers.
              Currently, I am using t3:localhost:portnumber to get an initial context for JNDI
              lookup.
              But this will not provide perfect load balancing, since each server side component
              (EJB) will lookup for a needed component on the same server itself.
              Is there any way to get the Initial Context by using the DNS name?
              I tried t3:DNSName (Our DNS is created till the port number. e.g. http://DNS points
              to http://Managedserver1:portnumber and http://Managedserver2:portnumber
              It works, but is random. Sometimes, it gives me the following exception:
              Root exception is java.net.ConnectException: t3://DNS Name: Destination not
              reachable using: 't3'
              Could someone help me figure out a way to do this in a better way?
              Thanks,
              Aparna
              

              If you don't want or have money to use external load balancers you should be using
              the DNS entry as t3://server1:port,server2:port (you indicated you are using http.
              Also make sure your network elements between the client and the servers allow
              t3 protocol if there is packet filtering).
              S
              "Aparna" <[email protected]> wrote:
              >
              >Hi,
              >
              >I have deployed my application on a clustered environment containing
              >one admin
              >server and two managed servers. The application is deployed on the managed
              >servers.
              >We have a DNS for these two managed servers.
              >
              >Currently, I am using t3:localhost:portnumber to get an initial context
              >for JNDI
              >lookup.
              >But this will not provide perfect load balancing, since each server side
              >component
              >(EJB) will lookup for a needed component on the same server itself.
              >
              >Is there any way to get the Initial Context by using the DNS name?
              >
              >I tried t3:DNSName (Our DNS is created till the port number. e.g. http://DNS
              >points
              >to http://Managedserver1:portnumber and http://Managedserver2:portnumber
              >
              >It works, but is random. Sometimes, it gives me the following exception:
              > Root exception is java.net.ConnectException: t3://DNS Name: Destination
              > not
              >reachable using: 't3'
              >
              >Could someone help me figure out a way to do this in a better way?
              >
              >Thanks,
              >Aparna
              

  • Jndi lookup of of object that has been bound remotely

    I want to register in weblogic server jndi tree some remote objects. A one standalone
    application binds these object in server jndi. Another standalone app try to lookup
    and executes some methods - everything works ok.
    The problem is : applications which works internally on server can't lookup these
    object. It's initial context doesn't contains such bindings. What's the difference
    between naming contexts
    inside and outside the server?
    Thank in advance,
    Vladimir.

    Hi JP3O,
    >> But that doesn't help because CurrentExcelWorksheetEventsInstance is not nothing even after all properties give errors. What is a better test or approach I can use?
    In my option, if you refer to the property of the Worksheet object which has been deleted, the error would be raised as expected. I think you could use the try catch statement to deal with this situation. Some key code like below:
    Dim oxl As Excel.Application
    Dim owb As Excel.Workbook
    Dim osheet As Excel.Worksheet
    Dim owbname As String
    oxl = New Excel.Application
    owb = oxl.Workbooks.Open("D:\Test\VSC#\03\Winform\VBWinform\Test.xlsx")
    osheet = owb.Worksheets("sheet1")
    Try
    osheet = owb.Worksheets.Add()
    owb.Close(False)
    owbname = owb.Name
    Catch comex As System.Runtime.InteropServices.COMException
    If comex.ErrorCode = -214682246 Or comex.Message.Contains("Object has been deleted") Then
    ' handle deleted object
    Else
    Throw comex
    End If
    End Try
    Best Regards,
    Edward
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

  • RMI-IIOP JNDI lookup returns com.sun.corba.se.internal.iiop.CDRInputStream

    I have two different RMI-IIOP java clients, one is working fine and the other is not. Both are using weblogic.jndi.WLInitialContextFactory from wlclient.jar in WLS 8.1sp5 and JDK 1.4.2_6.
    One java client is a straight-forward java main. JNDI lookup is returning EJBHome_Stub correctly loaded by sun.rmi.server.LoaderHandler$Loader
    The other java client is a complex java program with multiple threads and many jars. A thread does the same JNDI lookup as the simple java client, but the object returned is of type com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1 which has NULL classloader (bootstrap classloader).
    What condition triggered the WebLogic InitialContext to default to com.sun.corba.se.internal.iiop.CDRInputStream?

    Kevin Fung <> writes:
    This is usally symptomatic of an IOR without the corresponding stub
    being loaded, usually because the correct security manager is not
    set. However the client jar bypasses the security manager to try and
    avoid this problem, so I am confused as to why you are seeing this. Do
    you know which object it is accessing? Can you try putting IIOP stubs
    for it in the client?
    andy
    I have two different RMI-IIOP java clients, one is working fine and the other is not. Both are using weblogic.jndi.WLInitialContextFactory from wlclient.jar in WLS 8.1sp5 and JDK 1.4.2_6.
    One java client is a straight-forward java main. JNDI lookup is returning EJBHome_Stub correctly loaded by sun.rmi.server.LoaderHandler$Loader
    The other java client is a complex java program with multiple threads and many jars. A thread does the same JNDI lookup as the simple java client, but the object returned is of type com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1 which has NULL classloader (bootstrap classloader).
    What condition triggered the WebLogic InitialContext to default to com.sun.corba.se.internal.iiop.CDRInputStream?

  • Why only j2sdkee1.3 support JNDI lookup "java:comp/env" from remote client?

    Hi:
    I have been puzzled by this function of j2sdkee1.3.1 support JNDI lookup "java:comp/env" from client. I always think that "java:comp/env" namespace can only be access by the application server self for it is a private namespace. The weblogic and websphere doest support this.
    Why?
    Regards!
    John Lee

    Hi:I'm unable to get JNDI reference object from remote application client with "java:comp/env/ejb/<lookupName>".
    The exception says:
    Application threw an exception:javax.naming.CommunicationException: Cannot connect to ORB [Root exception is org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201 completed: No]
    The J2EE server and client are run on different machines, and needs to be like this. There isn't any problem with JSP/Servlet (cause they run/execute on the server itself). How will the client find out the JNDI refernce my mere specification of "java:comp/env/..."?
    Am I making a mistake anywhere?
    BEA Weblogic & IBM Websphere allows explicitly specifying the server name, while doing JNDI lookup. Is there anything similary for J2EE?
    I couldn't find reference for this anywhere in the J2EE tutorial or EJB books.
    - Devashish

  • Why j2sdkee1.3.1 support JNDI lookup "java:comp/env" from  remote client?

    Hi:
    I have been puzzled by this function of j2sdkee1.3.1 support JNDI lookup "java:comp/env"
    from client. I always think that "java:comp/env" namespace can only be access
    by the application server self for it is a private namespace. The weblogic and
    websphere doest support this.
    Why?
    Regards!
    John

    Hi:I'm unable to get JNDI reference object from remote application client with "java:comp/env/ejb/<lookupName>".
    The exception says:
    Application threw an exception:javax.naming.CommunicationException: Cannot connect to ORB [Root exception is org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201 completed: No]
    The J2EE server and client are run on different machines, and needs to be like this. There isn't any problem with JSP/Servlet (cause they run/execute on the server itself). How will the client find out the JNDI refernce my mere specification of "java:comp/env/..."?
    Am I making a mistake anywhere?
    BEA Weblogic & IBM Websphere allows explicitly specifying the server name, while doing JNDI lookup. Is there anything similary for J2EE?
    I couldn't find reference for this anywhere in the J2EE tutorial or EJB books.
    - Devashish

  • RuntimeException through Stateless SessionBeans causes JNDI lookup crash

    Hello,
    It seems there is a big problem with the RuntimeException thrown through two Stateless SessionBeans. Here is the code (without the interfaces, that are straight forward) :
    public class ProcessorBean { public String process() { throw new RuntimeException("error"); } } /* This is a sub-bean that throws a simple RuntimeException */
    public class OtherBean  { public String hello() { return "processed by OtherBean"; } } /* Another sub-bean to test the catch-call (optional) */
    public class TestBean
        @EJB
        private ProcessorLocal processor;
        @EJB
        private OtherLocal other;
        public String process()
              String result = null;
              try
                  result = processor.process(); //will throws a RuntimeException
              catch(Exception e)
                  result = other.hello(); //CRASH !!!! --> afther that processor.process() trhows a RuntimeException, all injections @EJB are down ! There will be a ejb.some_unmapped_exception written in the console.
              return result;
    }You will find a little Enterprise project here to see the problem (just use the WebService tester in asadmin)
    Note that there is no problem if an Exception that DOES NOT inherit from RuntimeException is thrown.
    Maybe someone have an idea how to solve simply that problem ?
    Regards,
    Cedric

    What is your exception exactly?
    I deploeyd you jar package in JBoss 5.0, and called your facade bean with this code:
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.rmi.PortableRemoteObject;
    import ch.capi.test.RemoteFacadeRemote;
    public class MainRemoteEJBCaller {
         public static void main(String[] args) throws Exception {
              Properties env = new Properties();
              env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
              env.put(Context.PROVIDER_URL, "jnp://localhost:1099");
              env.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
              InitialContext jndiContext = new InitialContext(env);
              Object ref = jndiContext.lookup("RemoteFacadeBean/remote");
              RemoteFacadeRemote facadeBean = (RemoteFacadeRemote)PortableRemoteObject.narrow(ref,RemoteFacadeRemote.class);
              System.out.println( facadeBean.test("Test") );
              System.out.println( facadeBean.testException("Test") );
    }And got not errors. The output is this:
    Your input : [Test] / You're saved !
    You're saved !- Roy

  • Could not access Local Session Bean using JNDI lookup

    Hi EJB Guru,
    I am quite new to EJB 3.0 but have had a good deal of success including using JNDI to lookup Remote Stateless Session Bean in EJB 3.0. However, looking up local Stateless Session Bean prove more challenging with I had anticipated.
    Here is my code
    as follows:
    public interface Calculator {
        public int add(int x, int y);
        public int subtract(int x, int y);
    import javax.ejb.Remote;
    @Remote
    public interface CalculatorRemote extends Calculator {
    import javax.ejb.Local;
    @Local
    public interface CalculatorLocal extends Calculator {
    import javax.ejb.Local;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    import bean.CalculatorLocal;
    import bean.CalculatorRemote;
    @Stateless
    public class CalculatorBean implements CalculatorRemote, CalculatorLocal {
        public int add(int x, int y) {
            return x + y;
        public int subtract(int x, int y) {
            return x - y;
    import bean.*;
    import bean.Calculator;
    import bean.CalculatorLocal;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    public class ClientAccessLocalCalculator {
        public static void main(String[] args) throws NamingException {
            InitialContext ctx = new InitialContext();
            CalculatorLocal calculator = (CalculatorLocal) ctx.lookup("CalculatorBean/local");
            System.out.println("1 + 1 = " + calculator.add(1, 1));
            System.out.println("1 - 1 = " + calculator.subtract(1, 1));    }
    import bean.Calculator;
    import bean.CalculatorRemote;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    public class ClientAccessRemoteCalculator {
        public static void main(String[] args) throws NamingException {
            InitialContext ctx = new InitialContext();
            CalculatorRemote calculator = (CalculatorRemote) ctx.lookup("CalculatorBean/remote");
            System.out.println("1 + 1 = " + calculator.add(1, 1));
            System.out.println("1 - 1 = " + calculator.subtract(1, 1));    }
    }Output when running ClientAccessRemoteCalculator gives
    1 + 1 = 2
    1 - 1 = 0
    Output when running ClientAccessLocalCalculator on JBoss AS 4.0.5 gives:
    Exception in thread "main" javax.ejb.EJBException: Invalid invocation of local interface (null container)
    at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:75)
    at $Proxy0.add(Unknown Source) at ClientAccessLocalCalculator.main(ClientAccessLocalCalculator.java:14)
    JNDIView in JMX-Console in JBoss:
    +- CalculatorBean (class: org.jnp.interfaces.NamingContext)
    | +- local (proxy: $Proxy84 implements interface bean.CalculatorLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
    | +- remote (proxy: $Proxy83 implements interface bean.CalculatorRemote,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
    Output when running ClientAccessLocalCalculator on SJSAS 9.0 gives:
    Exception in thread "main" javax.naming.NameNotFoundException: bean.CalculatorLocal not found
    C:\>asadmin
    Use "exit" to exit and "help" for online help.
    asadmin> list-jndi-entries
    Jndi Entries for server within root context:
    bean.CalculatorRemote: javax.naming.Reference
    jbi: com.sun.enterprise.naming.TransientContext
    jdbc: com.sun.enterprise.naming.TransientContext
    UserTransaction: com.sun.enterprise.distributedtx.UserTransactionImpl
    bean.CalculatorRemote__3_x_Internal_RemoteBusinessHome__: javax.naming.Reference
    bean.CalculatorRemote#bean.CalculatorRemote: javax.naming.Reference
    ejb: com.sun.enterprise.naming.TransientContext
    Command list-jndi-entries executed successfully.
    asadmin>I am using Application Client to lookup these Session Beans on Netbeans 5.5, JBoss AS 4.0.5 (EJB3 installer)/SJSAS
    9.0, SDK 1.5.0_11 on Windows XP platform.
    Any assistance would be much appreciated.
    Many thanks,
    Henry

    Hi Henry,
    Any direct global JNDI lookup is not portable. It works in some cases but not in others, which
    is why we recommend using the portable Java EE approach of declaring an ejb dependency
    and looking up that dependency via the bean's component environment (java:comp/env).
    This is true whether you're dealing with Remote or Local ejb dependencies.
    Local ejbs are not supported in the Application Client tier at all. In the server tier, there is no
    guarantee that a Local EJB even is assigned a global JNDI name since there's no requirement
    that it be available outside of the application in which the ejb is defined.
    You can find more information on these ejb access topics in our EJB FAQ :
    https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html

  • Env-entry-mapping in orion-application-client not available in JNDI lookup

    I have an application client module in my EAR file that I've configured to auto-start.
    It has a few env-entry defined in it's application-client.xml.
    When I deploy the EAR file to OC4J 10.1.3, the application client module gets started and can access these env-entry properties from its JNDIContext.
    Now, comes the problem. During the deployment process, I edit the Deployment Plan, and change the env-entry property values, and then deploy the application.
    However, the application client module still gets the original values when it does the JNDI lookups of those env-entry names.
    I have checked to see that OC4J creates an orion-application-client.xml during deployment and it shows the env-entry-mapping elements with the updated values.
    Why is the JNDI lookup returning the values from application-client.xml and not the overriden values set in orion-application-client.xml?
    I have tried this on OC4J 10.1.3, as well as 10.1.3.1.0 - got same behavior.
    Is this a bug in OC4J? This seems to work fine with ejb modules, but not application client modules.
    Thanks,
    Kalpak

    Avi!
    Of course, I had tried it before I wrote the question. I put the modified xml file into the application area. After that AS restarts OC4J instance. And then I find my xml without any changes I made! I tried to do the same thing from the AS console. The same!
    Leonid

  • Why is it that directory server and IAS will not install through a remote Terminal Services session??

     

    Hi,
    I think this can be done in Unix, using telnet, you may log into the
    system and install it.
    Regards
    Raj
    Mozkill Williams wrote:
    why is it that directory server and IAS will not install through a
    remote Terminal Services session??
    Try our New Web Based Forum at http://softwareforum.sun.com
    Includes Access to our Product Knowledge Base!

  • JNDI Lookup in OC4J *AND* Tomcat 5 (not either/or)

    I've been struggling to get a web application to deploy and run correctly on Tomcat 5.x. I couldn't ADF to look up the Datasource I'd set up in the Tomcat configs. After reading this forum post:
    Problem deploying BC4J Toy Store app on Tomcat 4
    I was able to run my test app successfully on Tomcat by prepending 'java:comp/env/' to the JNDI name of my Datasource in bc4j.xcfg. Unfortunately, specifying the JNDI name in this way breaks the JNDI lookup in the embedded OC4J container. The impression I got from the above forum post was that OC4J should be able to look up the data source when the name is specified as either jndi/myDataSource or java:comp/env/jndi/myDataSource. I can only get it to work with the former.
    Is there a way to specify the JNDI name of a datasource in bc4j.xcfg such that both Tomcat AND the embedded OC4J container within JDeveloper will be able to look it up?
    Thanks,
    -Matt

    To answer my own question, a fairly straight-forward way of achieving this is to use two configurations for the application module: one for testing locally (the supplied configuration), and another one for deployment that is a copy of the first except for the JNDI name. I can switch between the configurations via the Databindings depending on whether I want to test locally or deploy to Tomcat.
    This is certainly a useable solution, but I'm bothered by the fact that I need to reference the JNDI name in two different ways. Shouldn't this be container-independent?
    -Matt

Maybe you are looking for

  • Is there any way to allow calls from certain people to ring with your phone on silent?

    I would like to be able to put my phone one silent, for instance at night when I'm sleeping, but to be able to allow certain people's calls to "override" silent mode. For example, my boyfriend and family know when I go to sleep, so they wouldn't call

  • 1 week old iPhone4 stuck in Recovery mode loop

    Hi there today when I connected my ip4, iTunes asked me to download and install the latest iOS 4.0.2, after that it went into a recovery mode loop and I cant do muh more. I have so far tried to restore using 3 other pc´s, xp and Win7. Tried different

  • Need to copy the current order-by clause of a report.

    Situation: - I have a report with a default sort setting, and sortable column headers. - User navigates to page with this report. - Report page renders in default sort setting. - User changes sort (clicks on one of the column headers). I now want to

  • Other programs use iTunes scripting?

    My  pc runs windows 7.  I have 64bit itunes v 10.  When iTunes is open I can't use Firefox.  It won't run scripts.  when I close iTunes it reports other programs are using its scripting.  There is a count down and then iTunes closes.  There after, Fi

  • BUG??? Overridden prepareModel not being called all the time

    I have an ADF/struts application that was originally developed with Jdev 10.1.2. I then migrated it to 10.1.3 and have been maintaining it with that for that past two months. Recently, I added some new pages and in those new pages I need to do some p