Getting Initial context

Here is some debug output from a simple test I run against a WL6.1
Server. Notice the 35 secs. it takes to get Initial Context.
-- Initializing bean access.
-- Succeeded getting naming context.
-- Execution time: 35047 ms.
-- Succeeded looking up jndi name.
-- Execution time: 453 ms.
-- Succeeded casting Home interface.
-- Execution time: 94 ms.
Second time I run the test from the same machine I get this.
-- Initializing bean access.
-- Succeeded getting naming context.
-- Execution time: 1907 ms.
-- Succeeded looking up jndi name.
-- Execution time: 312 ms.
-- Succeeded casting Home interface.
-- Execution time: 31 ms.
The pattern is consistent. First attempt to get the Initial Context
from any of my client boxes will take about 30 secs more than any
consecutive attempts.
Here is the code for getting the Context:
long startTime = 0;
if (logging) {
     log("Initializing bean access.");
     startTime = System.currentTimeMillis();
try {
     //get naming context
     Context ctx = getInitialContext();
     if (logging) {
          long endTime = System.currentTimeMillis();
          log("Succeeded getting naming context.");
          log("Execution time: " + (endTime - startTime) + " ms.");
          startTime =endTime;
     //look up jndi name
     Object ref = ctx.lookup("DynamicPool");
     if (logging) {
          long endTime = System.currentTimeMillis();
          log("Succeeded looking up jndi name.");
          log("Execution time: " + (endTime - startTime) + " ms.");
          startTime =endTime;
     //cast to Home interface
     dynamicPoolHome = (DynamicPoolHome) PortableRemoteObject.narrow(ref,
DynamicPoolHome.class);
     if (logging) {
          long endTime = System.currentTimeMillis();
          log("Succeeded casting Home interface.");
          log("Execution time: " + (endTime - startTime) + " ms.");
catch(Exception e) {
     if (logging) {
          log("Failed initializing bean access.");
     e.printStackTrace();
Am I missing something here ?
Regards,
Klaus

My first guess would be a DNS problem.
Also, creating an InitialContext loads a fair amount of classes. If you're
loading them over the network, that could also account for the slow-down.
-- Rob
Klaus Preisler wrote:
Here is some debug output from a simple test I run against a WL6.1
Server. Notice the 35 secs. it takes to get Initial Context.
-- Initializing bean access.
-- Succeeded getting naming context.
-- Execution time: 35047 ms.
-- Succeeded looking up jndi name.
-- Execution time: 453 ms.
-- Succeeded casting Home interface.
-- Execution time: 94 ms.
Second time I run the test from the same machine I get this.
-- Initializing bean access.
-- Succeeded getting naming context.
-- Execution time: 1907 ms.
-- Succeeded looking up jndi name.
-- Execution time: 312 ms.
-- Succeeded casting Home interface.
-- Execution time: 31 ms.
The pattern is consistent. First attempt to get the Initial Context
from any of my client boxes will take about 30 secs more than any
consecutive attempts.
Here is the code for getting the Context:
long startTime = 0;
if (logging) {
log("Initializing bean access.");
startTime = System.currentTimeMillis();
try {
//get naming context
Context ctx = getInitialContext();
if (logging) {
long endTime = System.currentTimeMillis();
log("Succeeded getting naming context.");
log("Execution time: " + (endTime - startTime) + " ms.");
startTime =endTime;
//look up jndi name
Object ref = ctx.lookup("DynamicPool");
if (logging) {
long endTime = System.currentTimeMillis();
log("Succeeded looking up jndi name.");
log("Execution time: " + (endTime - startTime) + " ms.");
startTime =endTime;
//cast to Home interface
dynamicPoolHome = (DynamicPoolHome) PortableRemoteObject.narrow(ref,
DynamicPoolHome.class);
if (logging) {
long endTime = System.currentTimeMillis();
log("Succeeded casting Home interface.");
log("Execution time: " + (endTime - startTime) + " ms.");
catch(Exception e) {
if (logging) {
log("Failed initializing bean access.");
e.printStackTrace();
Am I missing something here ?
Regards,
Klaus

Similar Messages

  • Getting initial context using a cluster address

    I am having trouble getting initial context using a cluster address. My cluster
    has two WL 8.1 servers at localhost:8001 and localhost:9001. I set the hashtable
    to get the initial context as follows:
    env.put(InitialContext.PROVIDER_URL, "t3://localhost:8001,t3://localhost:9001");
    This gives me the following exception:
    Could not create JNDI InitialContext: javax.naming.ConfigurationException
    [Root exception is java.net.MalformedURLException: port expected: t3://cammnbhati:8001,t3://cammnbhati:9001]
    Any idea whey this is not working? If I set only one of the addresses then there
    is no error. For example, the following works just fine:
    env.put(InitialContext.PROVIDER_URL, "t3://localhost:8001");
    Thanks.

    try t3://localhost:8001,localhost:9001 as url
    hth
    sree
    "Naresh Bhatia" <[email protected]> wrote in message
    news:4009cfdf$[email protected]..
    >
    I am having trouble getting initial context using a cluster address. Mycluster
    has two WL 8.1 servers at localhost:8001 and localhost:9001. I set thehashtable
    to get the initial context as follows:
    env.put(InitialContext.PROVIDER_URL,"t3://localhost:8001,t3://localhost:9001");
    >
    This gives me the following exception:
    Could not create JNDI InitialContext:javax.naming.ConfigurationException
    [Root exception is java.net.MalformedURLException: port expected:
    t3://cammnbhati:8001,t3://cammnbhati:9001
    Any idea whey this is not working? If I set only one of the addresses thenthere
    is no error. For example, the following works just fine:
    env.put(InitialContext.PROVIDER_URL, "t3://localhost:8001");
    Thanks.

  • Error in getting Initial Context

    Hello,
    I am facing the following exception while trying to get the Initial Context. Following
    is the snippet of code that I use for getting the Context -
    Properties p = new Properties();
    p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");p.
    put(Context.PROVIDER_URL, url);
    if (user != null) {
    p.put(Context.SECURITY_PRINCIPAL, user);
    if (password == null)
    password = "";
    p.put(Context.SECURITY_CREDENTIALS, password);
    return new InitialContext(p);
    The following is the exception that I encounter -
    javax.naming.AuthenticationException. Root exception is java.lang.SecurityException:
    attempting to add an object which is not an instance of java.security.Principal
    to a Subject's Principal Set
    Am i missing anything. Thanks for your time.
    See the attached file for the details of the exception
    Thanks,
    Ashutosh
    [trace.txt]

    Hi Tim,
    If you are running within a browser, you will not have access to anything
    outside the sandbox which includes making RMI calls. Try signing the applet.
    You can find more information on signing applets on the sun java website.
    Regards
    Arjuna
    "Tim" <[email protected]> wrote in message
    news:3c5ab818$[email protected]..
    >
    I get the following eror when I try to get the Initial Context in anapplet:
    >
    java.lang.ExceptionInInitializerError: java.security.Acc
    ess denied (java.util.PropertyPermission * read,write)
    atjava.security.AccessControlContext.checkPermission(AccessControlConte
    xt.java:272)
    atjava.security.AccessController.checkPermission(AccessController.java:
    399)
    Does anyone have any idea what would cause this? The code works finerunning
    from an application. From what I understand there might be a problem withmy
    policy file. However, it seems to look ok. Any ideas?

  • Error getting initial context

    Hi,
    I've gotten the following exceptions reported to us by our production clients when trying to connect to our Weblogic 4.5.1 server (sp8).
    CPClient with url: t3s://www.cpmarket.com:7002 Getting guest initial
    context
    [Root exception is java.io.IOException: Bootstrap unable to get a t3s
    connection to
    www.cpmarket.com/159.43.253.15]javax.naming.CommunicationException at
    weblogic.jndi.toolkit.ExceptionTranslator.toNamingException(ExceptionTransla
    tor.java:32) at
    weblogic.jndi.WLInitialContextFactory.toNamingException(WLInitialContextFact
    ory.java:513) at
    weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFact
    ory.java, Compiled Code) at
    weblogic.jndi.Environment.getContext(Environment.java:128) at
    weblogic.jndi.Environment.getInitialContext(Environment.java:111) at
    com.xxxxxxx.CPClient.getGuestInitialContext(CPClient.jav
    a:184) at
    com.xxxxxxx.CPClient.<init>(CPClient.java:47)
    Does anyone know where this could be coming from?
    Thanks,
    Gary Mui
    [email protected]
    [att1.html]

    Hi Tim,
    If you are running within a browser, you will not have access to anything
    outside the sandbox which includes making RMI calls. Try signing the applet.
    You can find more information on signing applets on the sun java website.
    Regards
    Arjuna
    "Tim" <[email protected]> wrote in message
    news:3c5ab818$[email protected]..
    >
    I get the following eror when I try to get the Initial Context in anapplet:
    >
    java.lang.ExceptionInInitializerError: java.security.Acc
    ess denied (java.util.PropertyPermission * read,write)
    atjava.security.AccessControlContext.checkPermission(AccessControlConte
    xt.java:272)
    atjava.security.AccessController.checkPermission(AccessController.java:
    399)
    Does anyone have any idea what would cause this? The code works finerunning
    from an application. From what I understand there might be a problem withmy
    policy file. However, it seems to look ok. Any ideas?

  • How to get Initial context of Local Interface in weblogic 8.1

    I have developed a local entity bean but i wouldnt able to initial context of that bean
    CAN ANYBODY HELP ME
    bean deployment descriptor
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <!--
    ** This file was automatically generated by EJBGen 2.16
    ** Build: 20031001-1049
    -->
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>CabinBean</ejb-name>
    <home>my.CabinRemoteHome</home>
    <remote>my.CabinRemote</remote>
    <ejb-class>my.CabinBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Integer</prim-key-class>
    <reentrant>True</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>CabinBean</abstract-schema-name>
    <cmp-field>
    <field-name>bedCount</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>deckLevel</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>id</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>name</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>shipId</field-name>
    </cmp-field>
    <primkey-field>id</primkey-field>
    <security-identity>
    <use-caller-identity/>
    </security-identity>
    </entity>
    <entity>
    <ejb-name>CabinLocal</ejb-name>
    <local-home>my.CabinLocalHome</local-home>
    <local>my.CabinLocalLocal</local>
    <ejb-class>my.CabinLocal</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>java.lang.Integer</prim-key-class>
    <reentrant>True</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>CabinLocal</abstract-schema-name>
    <cmp-field>
    <field-name>bedCount</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>deckLevel</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>id</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>name</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>shipId</field-name>
    </cmp-field>
    <primkey-field>id</primkey-field>
    <ejb-local-ref>
    <ejb-ref-name>LocalCabin</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>CabinLocalHome</local-home>
    <local>CabinLocal</local>
    <ejb-link>LocalCabin</ejb-link>
    </ejb-local-ref>
    <security-identity>
    <use-caller-identity/>
    </security-identity>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>CabinLocal</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
    <method>
    <ejb-name>CabinBean</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    <ejb-client-jar>EjbClient</ejb-client-jar>
    </ejb-jar>
    ************************************** Client Code****************
    package com;
    import my.CabinBean;
    import my.CabinRemoteHome;
    import my.CabinRemote;
    import javax.naming.InitialContext;
    import javax.naming.Context;
    import javax.naming.NamingException;
    import java.rmi.RemoteException;
    import java.util.Properties;
    import javax.rmi.PortableRemoteObject;
    import weblogic.jndi.Environment;
    public class Test
        public static void main(String args[])
            try{
                 Context context = getInitialContext();
                          Object cab = context.lookup("CabinLocalHome");
                ///**********-- Exception is thrown at this point -******************
                System.out.println("============ done====");
                Context ct = getInitialContext();
                Object ref = ct.lookup("CabinHomeRemote");
                CabinRemoteHome home = (CabinRemoteHome)PortableRemoteObject.narrow(ref,CabinRemoteHome.class);
                //CabinRemote cab = home.create(new Integer(1));
                //cab.setName("Master Suite");
                //cab.setDeckLevel(new Integer(1));
                //cab.setShipId(new Integer(1));
                //cab.setBedCount(new Integer(1));
                Integer pk = new Integer(1);
                CabinRemote cab1 = home.findByPrimaryKey(pk);
                System.out.println("--->>>>>>>> "+cab1.getName());
                System.out.println("--->>>>>>>>  "+cab1.getShipId());
                System.out.println("--->>>>>>>>"+cab1.getBedCount());
                System.out.println("--->>>>>>>>"+cab1.getDeckLevel());
                System.out.println("---");  
          }catch(java.rmi.RemoteException e){e.printStackTrace();}
           catch(javax.naming.NamingException e){e.printStackTrace();}
           //catch(javax.ejb.CreateException e){e.printStackTrace();}
           catch(javax.ejb.FinderException e){e.printStackTrace();}
        public static Context getInitialContext() throws javax.naming.NamingException
           Properties p = new Properties();
           p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
           p.put(Context.PROVIDER_URL,"t3://localhost:7001");
           return new javax.naming.InitialContext(p);
    } ************************************** Error ***********************
    javax.naming.LinkException: [Root exception is javax.naming.LinkException:  [Root exception is javax.naming.NameNotFoundException: remaining name: /app/ejb/myejb.jar#CabinLocal/local-home]; Link Remaining Name: 'null']; Link Remaining Name: 'java:app/ejb/myejb.jar#CabinLocal/local-home'
         at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
         at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
         at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
         at weblogic.jndi.internal.ServerNamingNode_813_WLStub.lookup(Unknown Source)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:369)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:357)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
         at com.Test.main(Test.java:27)
    Caused by: javax.naming.LinkException: [Root exception is javax.naming.NameNotFoundException: remaining name: /app/ejb/myejb.jar#CabinLocal/local-home]; Link Remaining Name: 'null'
         at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:98)
         at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNode.java:292)
         at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:771)
         at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:191)
         at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
         at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:415)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: javax.naming.NameNotFoundException: remaining name: /app/ejb/myejb.jar#CabinLocal/local-home
         at weblogic.j2eeclient.SimpleContext.resolve(SimpleContext.java:35)
         at weblogic.j2eeclient.SimpleContext.resolve(SimpleContext.java:39)
         at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:57)
         at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:62)
         at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)
         at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:130)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
         at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:96)

    Hi,
    from what I gather, u have two jars
    1. EJBClient - this will have remote and home interfaces and will be used by the client
    2. myEJB - this iwll have all the classes - remote & home interfaces, the bean class and all the other classes required by the bean.
    Now, the question is, who is acting as the client of your EJB ? There are 3 possibilities
    1. A servlet
    2. Another EJB
    3. a simple java program.
    In the first 2 cases, you can go for Local Interfaces (more so in the second case than the first). The reason being that the the client and server will be in the same JVM. Thus, in the first case, if the Web container and the ejb container are in the same app server, EJBs can be local.
    However, in the third case, it is unlikey that you will have the client runnng and the same jvm as the server, because the server is using the jvm provided by weblogic.
    Thus, you cannot use local interfaces in this 3rd case. I have a feeling that this is what you are doing. If so, change the local interfaces to remote.
    See if this helps. Else, I will mail you some sample code. But I am afraid, sample code wont be of much help bcoz this seems to be a design problem.
    regards

  • 'Type code out of range' error when getting initial Context

    I am running WLS 6.1 SP3 for J2EE 1.2 on Solaris. I try to create a JNDI Context
    with the standard example code:
    ht.put( Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"
    ht.put( Context.PROVIDER_URL, "t3://3.7.193.101:7001" );
    ctx = new InitialContext( ht );
    When I compile and run this code on the same machine where I am hosting WLS 6.1,
    I get the error messages below. The PROGRAM ERROR output is from the command
    line I used to run the program; the SERVER ERROR output is in the WLS console
    window.
    The funny thing is, when I compile and run the same code on a different machine
    (A Windows laptop) it works fine !
    So ... some kind of network setup problem ?!? I dunno ... can anybody help ?
    Thanks in advance for your effort !!
    PROGRAM ERROR
    java.io.StreamCorruptedException: Type code out of range, is 0
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Exception.java:42)
    at java.io.IOException.<init>(IOException.java:47)
    at java.io.ObjectStreamException.<init>(ObjectStreamException.java:29)
    at java.io.StreamCorruptedException.<init>(StreamCorruptedException.java:30)
    at java.io.ObjectInputStream.peekCode(Compiled Code)
    at java.io.ObjectInputStream.SkipToEndOfBlockData(Compiled Code)
    at java.io.ObjectInputStream.inputClassDescriptor(Compiled Code)
    at java.io.ObjectInputStream.readObject(Compiled Code)
    at java.io.ObjectInputStream.readObject(Compiled Code)
    at java.io.ObjectInputStream.inputObject(Compiled Code)
    at java.io.ObjectInputStream.readObject(Compiled Code)
    at java.io.ObjectInputStream.readObject(Compiled Code)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:107)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:115)
    at weblogic.rjvm.ConnectionManager.readPeerInfo(ConnectionManager.java:685)
    at weblogic.rjvm.ConnectionManagerClient.handleIdentifyResponse(ConnectionManagerClient.java:140)
    at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:626)
    at weblogic.rjvm.t3.T3JVMConnection.dispatch(Compiled Code)
    at weblogic.socket.JavaSocketMuxer.processSockets2(Compiled Code)
    at weblogic.socket.JavaSocketMuxer.processSockets(Compiled Code)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(Compiled Code)
    --------------- nested within: ------------------
    weblogic.utils.AssertionError: ***** ASSERTION FAILED ***** - with nested exception:
    [java.io.StreamCorruptedException: Type code out of range, is 0]
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Error.<init>(Error.java:50)
    at weblogic.utils.NestedError.<init>(NestedError.java:24)
    at weblogic.utils.AssertionError.<init>(AssertionError.java:56)
    at weblogic.rjvm.ConnectionManager.readPeerInfo(ConnectionManager.java:687)
    at weblogic.rjvm.ConnectionManagerClient.handleIdentifyResponse(ConnectionManagerClient.java:140)
    at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:626)
    at weblogic.rjvm.t3.T3JVMConnection.dispatch(Compiled Code)
    at weblogic.socket.JavaSocketMuxer.processSockets2(Compiled Code)
    at weblogic.socket.JavaSocketMuxer.processSockets(Compiled Code)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(Compiled Code)
    Exception in EJATestJMSSender main block ! was :javax.naming.CommunicationException
    [Root exception is java.net.ConnectException: No server found at T3://3.7.193.101:7001]:
    javax.naming.CommunicationException. Root exception is java.net.ConnectException:
    No server found at T3://3.7.193.101:7001
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Exception.java:42)
    at java.io.IOException.<init>(IOException.java:47)
    at java.net.SocketException.<init>(SocketException.java:36)
    SERVER ERROR
    <Sep 6, 2002 12:27:48 PM CDT> <Error> <Posix Performance Pack> <Uncaught Throwable
    in processSockets
    java.util.EmptyStackException
    at weblogic.utils.collections.Stack.pop(Stack.java:72)
    at weblogic.rjvm.InboundMsgAbbrev.getAbbrev(InboundMsgAbbrev.java:85)
    at weblogic.rjvm.MsgAbbrevInputStream.readImmutable(MsgAbbrevInputStream.java:172)
    at weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.java:186)
    at weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor(ChunkedObjectInputStream.java:290)
    at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:906)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:107)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:115)
    at weblogic.rjvm.ConnectionManager.readPeerInfo(ConnectionManager.java:685)
    at weblogic.rjvm.ConnectionManagerServer.handleIdentifyRequest(ConnectionManagerServer.java:255)
    at weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:619)
    at weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
    at weblogic.socket.PosixSocketMuxer.deliverGoodNews(PosixSocketMuxer.java:449)
    at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:378)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

    I get this error when i run Visual Cafe with Netscape Navigator. All the classes are in CLASSPATH. Can someone point out the reason.

  • Getting Initial Context from standalone client

    I have not been able to set up the InitialContext for a stand-alone client, sending and receiving a topic.
    I have already looked at and tried all the previous relevant threads, but no success.
    Any help is greatly appreciated.
    Many thanks in advance.

    I have not been able to set up the InitialContext for a stand-alone client, sending and receiving a topic.
    I have already looked at and tried all the previous relevant threads, but no success.
    Any help is greatly appreciated.
    Many thanks in advance.

  • Initial Context is slow within Java Web Start

    All,
    I have a Swing-based client app that makes EJB calls on a Weblogic 6.1sp2
    server. It works great as a standalone app run from the command line. The
    problem is when I deploy it using Java Web Start. The 'new
    InitialContext(props)' call takes from 5-20 seconds. This is on a single
    user development machine with the server and client running on the same
    machine.
    When I run it from the command line the initial context only takes 1-2
    seconds to create. This is using the exact same .jar file used in the Web
    Start case.
    The Web Start environment is somewhat different than command line clients.
    I think it is similar to the applet sandbox environment (security,etc).
    Other than this, the client/server interaction speed is good (they should
    be since they are on the same machine!). Any ideas?
    System particulars:
    Weblogic 6.1sp2. Native IO.
    Host=127.0.0.1 (Reverse DNS Lookup disabled in server).
    Java 1.3.1
    Java Web Start 1.0.1
    Windows NT 4.0sp5

    I have some more details. If I signed the .jar file and give it all
    permissions, then the performance is fine (~1s to get initial context).
    Does anyone know which permissions are needed to connect quickliy? I would
    like to only give the application those permissions it really needs.
    Thanks.
    Mike Houston <[email protected]> wrote in
    news:[email protected]:
    All,
    I have a Swing-based client app that makes EJB calls on a Weblogic
    6.1sp2 server. It works great as a standalone app run from the command
    line. The problem is when I deploy it using Java Web Start. The 'new
    InitialContext(props)' call takes from 5-20 seconds. This is on a
    single user development machine with the server and client running on
    the same machine.
    When I run it from the command line the initial context only takes 1-2
    seconds to create. This is using the exact same .jar file used in the
    Web Start case.
    The Web Start environment is somewhat different than command line
    clients. I think it is similar to the applet sandbox environment
    (security,etc).
    Other than this, the client/server interaction speed is good (they
    should be since they are on the same machine!). Any ideas?
    System particulars:
    Weblogic 6.1sp2. Native IO.
    Host=127.0.0.1 (Reverse DNS Lookup disabled in server).
    Java 1.3.1
    Java Web Start 1.0.1
    Windows NT 4.0sp5

  • Why can't I get an initial context in websphere!?!

    I am using WebSphere App Dev v.4.0, and I have written a client application which should call methods from an EJB. But I don't seem to be able to get an initial context no matter what I do. Here is a snippet of the app code and the exception it throws: I will be most grateful if someone could help me out. Thanks Ben.
    THE CODE...
    try {          
        System.out.println("about to retrieve initial context.");   
        java.util.Properties p = new java.util.Properties();   
        p.put(Context.PROVIDER_URL, "iiop://localhost:901");   
        p.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");   
        InitialContext initContext = new InitialContext(p);
        System.out.println("initial context has been created.");     
    }catch (Exception e) {        
        e.printStackTrace();
    THE EXCEPTION...
    about to retrieve initial context.
    javax.naming.NoInitialContextException: Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory. Root exception is java.lang.ClassNotFoundException: com.ibm.websphere.naming.WsnInitialContextFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:325)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:380)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:257)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:212)
    at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:656)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
    at javax.naming.InitialContext.init(InitialContext.java:223)
    at javax.naming.InitialContext.<init>(InitialContext.java:199)
    at BeanClient.main(BeanClient.java:18)

    Hi Ben,
    As the gurus told in the earlier replies, it is the problem with Class loading.
    Make Sure that following jar files are in CLASSPATH. (Assuming C:\Websphere is your websphere installation directory)
    J2EE.jar - C:/Websphere/AppServer/lib/J2ee.jar
    Websphere.jar - C:/Websphere/AppServer/lib/websphere.jar
    Ibmorb.jar - C:/Websphere/AppServer/java/jre/lib/ext/ibmorb.jar
    Once you have all these in your CLASSPATH, try running your client application. If you are using Sun JDK you will encounter an error message in the runtime which says like "Service Unavaible.. XXXX Service not found".
    When you encounter this problem make sure that your service named XXXX is running and you are calling it appropriately. To find whether a service with name XXXX is running type
    >>>>dumpnamespace
    at the command prompt. If your service name is listed by dumpnamespace.. your service is running. So there is something wrong with the client code. Proceed to the next step.
    In this tep you can use IBM JDK to fix the error. But that might not be the most suitable solution.
    Here is how you can run Websphere EJB client programs without IBM JDK.
    http://www7b.software.ibm.com/wsdd/downloads/pluggableclient.html
    Follow this link and download the Websphere Pluggable application client and follow the instructions given in Readme to install the pluggable application client.
    Once you finish installing the pluggable application client, you should be able to run with no problems.
    For dwildcat92
    I was also under the impression that we SHOULD use IBM JDK to make the client run. But our integration process demanded that the clients be called from Apache Tomcat. Thats how I was forced to find this link
    http://www7b.software.ibm.com/wsdd/downloads/pluggableclient.html
    Thanks for making me learn guys,
    Ravi.

  • Why can't I get an initial context??!!

    I am using WebSphere App Dev v.4.0, and I have written a client application which should call methods from an EJB. But I don't seem to be able to get an initial context no matter what I do. Here is a snippet of the app code and the exception it throws: I will be most grateful if someone could help me out. Thanks Ben.
    THE CODE...
    try {       
        System.out.println("about to retrieve initial context.");
        java.util.Properties p = new java.util.Properties();
        p.put(Context.PROVIDER_URL, "iiop://localhost:901");
        p.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
        InitialContext initContext = new InitialContext(p);
        System.out.println("initial context has been created.");
    }catch (Exception e) {
             e.printStackTrace();
    THE EXCEPTION...
    about to retrieve initial context.
    javax.naming.NoInitialContextException: Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory. Root exception is java.lang.ClassNotFoundException: com.ibm.websphere.naming.WsnInitialContextFactory
         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:325)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:380)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:257)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:212)
         at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:656)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:199)
         at BeanClient.main(BeanClient.java:18)

    Is it Manadatory to keep the jar(containing the vendor specific context factory ) in the class path ?
    E.g Bean A in Appserver 1 wants to invoke Bean B in Appserver 2.
    In Appserver 1 's local Classpath may not have the above mentioned jar.
    The problem is , I m using java.rmi.server.codebase url.I m able to load the context factory class using RMIClassLoader and code base url(having the Appserver 2 required classes), BUT when I try to create the new InitialCoNtext for Appserver 2(from Appserver 1), it says contextFactory class not found !! it's finding the class in local Classpath !
    Please help
    Thanks

  • Can I get a weblogic Initial context without importing all weblogic classes ?

    can I get a weblogic Initial context (with weblogic.jndi.WLInitialContextFactory)
    without importing all weblogic classes ?

    I ran my client through all its functions.
    I then took the access.log file and parsed out a list of all the class
    files that were downloaded and built a script to create my
    weblogiclient.jar file.
    Before running the client we had to:
    With WL5.1 I think we had to unjar the weblogicaux.jar file into the
    serverclasses directory so the client could load them all individually.
    Make sure you clean up after you are done with this.
    With WL 6 we did not have to do that.
    The access.log file is the key to building your own client jar file.
    We also require the use of the Java 1.3 plug-in by our clients (for
    Applets) so we can do multiple Jar caching.
    Tom
    Dominique Jean-Prost wrote:
    Hello tom
    What do you mean by "use the Weblogic class loader" ?
    Could you explain whath you exactly did to find all the classes you need ?
    regards.
    dom
    <nospam@nospam> a écrit dans le message news: 3ABF3EC2.9010200@nospam...
    You need the classes one way or another. BUT you do not have to
    redistribute the whole Weblogic.jar file. Use the Weblogic class
    loader then run your program. The weblogic access.log should have a
    listing of all the classes you need to use and you can build your own
    sub-jar. My experience is that this new jar is significantly smaller.
    Ours is around 600K instead of 15MB.
    Tom
    Dimitri Rakitine wrote:
    Yes, if, for example, you can network classload from WebLogic. Talking
    to a WebLogic
    server means WebLogic RMI (unless you use RMI/IIOP in which case youdont need any
    WebLogic classes) which needs WebLogic-specific classes, so you clientapplication needs
    to get them from somewhere - local classpath or remote WebLogic server.
    David Dahan <[email protected]> wrote:
    I mean without a classpath to all weblogic classes.
    can I get a weblogic Initial context (with
    weblogic.jndi.WLInitialContextFactory)
    without importing all weblogic classes ?

  • Different ways to get the initial context within the container

    Hi there,
    Simple question concerning WLS61:
    Is there a difference between getting the context like this:
    Context ctx = T3Services.getT3Services().name().getInitialContext();
    and getting it like:
    Context ctx = new InitialContext();
    The only difference I see is that the second version is portable.
    Is there a performance difference?
    Thanks
    Juerg

    Hi Floris,
    You can also use RANK: http://www.dba-oracle.com/oracle_news/oracle_faq/faq_beg_sql_top_n_rows.htm
    Regards Pete

  • How to get security context in BPEL to get Logged in UserId

    Hi All,
    We have a requirement of getting security context in BPEL flow and from that we want to extract currentUserId. The requirement is to know who has initiated the composite flow. We are not passing userId in the event payload. In ADF we get the same through following expression:
    ADFContext.getCurrent().getSecurityContext().getUserName()
    Is there any similar api which we can access to get currentUserId?
    Thanks,
    Naga

    Hi,
    If your BPEL has oracle/wss_username_token_service_policy you can retrieve the username from the SOAP headers...
    Have a look at this...
    http://yuanmengblog.blogspot.com.au/2012/09/extracting-and-passing-wss-name-token.html
    Cheers,
    Vlad

  • Caching initial contexts

    I have read the posts about caching initial context lookups and have
    implemented the solution and seen some benefits.
    I am dealing with a third party application that I cannot change.
    When I put my InitialContextFactory in the architecture I also logged
    how many getInitialContext() calls were being made - I was absolutely
    shocked - often 4+ per user transaction. I suspect that the code gets
    one, does a call and dereferences all over the place.
    90% of InitialContexts had the same environment passed to the getIC()
    call so it struck me that what I should do is create a pool of IC, and
    in my factory just serve one from the pool.
    So, the question is, what is the best way of detecting when the IC has
    been dereferenced so I know I can serve it again from my pool?
    I presume this is a generic pool problem when you can't guarantee that
    your client's will be good citizens and call a close() method or
    similar.
    I've posted here as it is performance related; also, is there any
    reason why what I am doing is not a good idea?
    Can the client do something with the IC which means it is not suitable
    for use by another client? If so, can I detect this so I may discard?
    As always, many thanks in advance.
    Presuming I can get it to work I will post the code so that we can all
    share ;-)
    Cheers
    Ed

    Why don't you instrument your factory then to give out your own
    implementation of InitialContext that will in fact only wrap a "loaner"
    InitialContext every time a method is invoked on it and before returning
    the value to the caller will put the real InitialContext back to the
    pool to be reused by another one.
    Then your clients can do whatever they want with those ICs and still
    would not cause so big performance hits.
    It's just an idea that just came to mind and I haven't tested it so it
    might have flaws but it looks viable.
    --dejan
    Ed Barrett wrote:
    The application is a third-party product that cannot be changed.
    By introducing the factory you gave below (thanks!) we put the application
    back under the load test and saw minimal improvements (like 1% response
    time).
    I then instrumented the factory with a system.out on finalize and noticed
    that a factory instance is created for each call to getInitialContext() - is
    this the way that WLS/J2EE works? I would have hoped that factories were
    shared or something. What we did see is that for one user request a number
    (sometimes 5!) ICs were being created ;-( Obviously the lookup cache is a
    class instance and shared across the lot.
    So then I started to think about pre-creating ICs and haveing a pool for the
    default ones (environment specifies URL and no security details or the
    like). Trouble is how to implement such when you cannot change the client
    code to call a factory return method (such as returnToPool()).
    Any ideas would be appreciated
    "Dimitri I. Rakitine" <[email protected]> wrote in message
    news:[email protected]...
    I've ran into this problem while porting 5.1 application (JNDI lookups
    were
    super-cheap) to 6.1 (where they are not so cheap due to
    serialization/deserialization)
    and did this test to see if this indeed was the problem. As you saw I
    didn't bother to
    cache InitialContext's - I just cached JNDI lookups and that resulted in
    very significant
    performance improvements.
    Which application are you testing it with?
    Graham <[email protected]> wrote:
    Dimitri,
    We did this but did not see that much improvement over the default way -
    we
    are using 6.1 sp2.
    We put some messages in our factory and found that the client code often
    created over 4 ICs for one user click - aaggghhhh!! As I say we cannot
    change their code but if we could take the time to create an IC away
    from
    the online response we feel we would save some time.
    We also observed a new instance of the IC factory being created every
    time a
    new IC was created - is this what you would expect?
    I think this is what NamingManager.getInitialContext() is supposed to do.
    Cheers
    Ed
    "Dimitri I. Rakitine" <[email protected]> wrote in message
    news:[email protected]...
    Caching InitialContext's will probably not quite solve the problem,
    because lookup()'s are expensive (in 6.x), so, caching lookup results
    will result in performance improvements.
    If you cannot change the 3'rd party code and all it does is:
    ... DataSource ds = (DataSource)new InitialContext().lookup(".....");
    or similar, you can add caching by implementing your own InitialContext
    factory,
    for example: (extremely simplistic)
    Startup class :
    System.setProperty("java.naming.factory.initial",
    "myjndi.InitialContextFactory");
    where
    myjndi.InitialContextFactory is :
    public class InitialContextFactory implements
    javax.naming.spi.InitialContextFactory {
    public Context getInitialContext(Hashtable env) throws
    NamingException
    Context ctx = new
    weblogic.jndi.WLInitialContextFactory().getInitialContext(env);
    return
    (Context)Proxy.newProxyInstance(ctx.getClass().getClassLoader(),
    new Class[]
    { Context.class },
    new
    ContextHandler(ctx));
    and myjndi.ContextHandler is:
    public class ContextHandler implements InvocationHandler {
    Context ctx;
    static Hashtable cache = new Hashtable();
    public ContextHandler(Context ctx) {
    this.ctx = ctx;
    public Object invoke(Object proxy, Method method, Object[] args)
    throws Throwable {
    try {
    Object retVal;
    if("lookup".equals(method.getName()) && args[0] instanceof
    String) {
    retVal = cache.get(args[0]);
    if(retVal == null) {
    retVal = method.invoke(ctx, args);
    cache.put(args[0], retVal);
    } else {
    retVal = method.invoke(ctx, args);
    return retVal;
    } catch(InvocationTargetException oops) {
    throw oops.getTargetException();
    Ed <[email protected]> wrote:
    Adarsh,
    We agree it is a brilliant idea - now just to work out how to do it.
    As you cannot always guarantee to be able to change the client code
    you cannot use normal pooling techniques:
    getObjectFromPool()
    // do work
    returnObjectToPool()
    So, the client code needs an InitialContext. We can put in our own
    Factory and intercept the getInitialContext() calls. This method
    must
    return class javax.naming.Context - therefore the only way I can see
    to spot when the class is dereferenced is to extend the class and add
    a finalize() method that notifies the factory.
    The trouble I believe is that the class cannot be "rescued" in the
    finalize() method (i.e. "I'm dying - take me back" ;-). If it simply
    told the factory to add another one to its pool this would mean that
    the new IC create "hit" would be in garbage collection (i.e. the
    users
    will pay somewhere along the line) - is this correct?
    Anyone any ideas on a solution? I have discovered out code create
    HUNDREDS of contexts in an hour and discards them very quickly. Be
    nice to be able to cache them!
    Cheers
    Ed
    "Adarsh Dattani" <[email protected]> wrote in message
    news:<[email protected]>...
    Ed,
    This a brilliant idea. We are planning something similar too. We
    first
    want to create a pool of LDAP connections as apps make extensive
    calls
    to
    LDAP. Did you check-out the object pooling api at Jakarta Commons.
    It
    deserves a close look.
    http://jakarta.apache.org/commons/pool/index.html
    Thanks,
    Adarsh
    "Ed" <[email protected]> wrote in message
    news:[email protected]...
    I have read the posts about caching initial context lookups and
    have
    implemented the solution and seen some benefits.
    I am dealing with a third party application that I cannot change.
    When I put my InitialContextFactory in the architecture I also
    logged
    how many getInitialContext() calls were being made - I was
    absolutely
    shocked - often 4+ per user transaction. I suspect that the code
    gets
    one, does a call and dereferences all over the place.
    90% of InitialContexts had the same environment passed to the
    getIC()
    call so it struck me that what I should do is create a pool of IC,
    and
    in my factory just serve one from the pool.
    So, the question is, what is the best way of detecting when the IC
    has
    been dereferenced so I know I can serve it again from my pool?
    I presume this is a generic pool problem when you can't guarantee
    that
    your client's will be good citizens and call a close() method or
    similar.
    I've posted here as it is performance related; also, is there any
    reason why what I am doing is not a good idea?
    Can the client do something with the IC which means it is not
    suitable
    for use by another client? If so, can I detect this so I may
    discard?
    As always, many thanks in advance.
    Presuming I can get it to work I will post the code so that we can
    all
    share ;-)
    Cheers
    Ed
    Dimitri
    Dimitri

  • Error creating initial context with environment

    Hi,
    Currently we are working on a scenarios, where we need to integrate XI and webmethods using JMS.
    It was working fine. But recently they have restarted the webmethods server. After that we re getting an error message like,
    In Adapter Monitoring:
    Channel error occurred; detailed error description: com.sap.aii.adapter.jms.api.connector.ConnectorException: Error creating initial context with environment: {java.naming.provider.url=server:port, java.naming.factory.initial=com.sap.engine.services.jndi.InitialContextFactoryImpl, java.naming.security.principal=XYZ, java.naming.security.credentials=ABC}for profile: ConnectionProfile of channel: CC_RCV_JMS_INon node: 3010950 having object id: ABCXYZ: NamingException: Error getting the server-side naming service functionality during getInitialContext operation.
    at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createInitialContext(JndiConnectorImpl.java:66)
    In RWB
    MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: No transition found from state: STARTING, on event: process_commence for DFA: C_RCV_JMS_IN:e4413a5265a436459e271d5e0dd4859b
    Can one please tell me what the problem is?
    Thanks in advance.
    Regards,
    Prasad Babu.

    Hi,
    Check this link looks like same problem
    Re: file to JMS(for MQ series)
    Thanks
    Vikranth

Maybe you are looking for

  • Is there a way to make Siri display Celsius on the iPad?

    there's no weather app so I don't see a way to change the weather from Fahrenheit to Celsius

  • Using sender file adapter to read the most current file

    Hi, in my sender file adapter , i have to read the latest file- all files in  the source directory are named as <filename><timestamp>.txt . I need to read the file with the latest timestamp (i.e. the most current file ) How do i configure this using

  • SET-Variable not working in script logic

    Hello experts, I have a default logic running a stored procedure with parameters: *RUN_STORED_PROCEDURE=SP_IST_VERTEILUNG_PARAMETER('%KD_KUNDE_NR_SET%','%VE_VERSION_SET%','%PB_PKS_BEREICH_SET%','%RA_RABATT_ART_SET%') Whereas the dimensions have the f

  • Problem with BADI in MEANS transaction

    I am using ADDRESS1_SAVED method of BADI ,ADDRESS_UPDATE to make telephone numbers mandatory, if the field is empty, an error message comes as i have coded, but as i re-enter the correct value, there comes an internal error message that "Internal err

  • CheckBoxGroup, checkBoxOption and netui-data:repeater

    Greetings, How can I have multiple options (<netui:checkBoxOption>) inside a checkbox group (<netui:checkBoxGroup>) dinamycally, using netui tags? CheckBoxOption doesn't allow using another tag like <netui-data:repeater> as it's parent. I really appr