Initial Context Properties

Hi,
I'm using RAD 6 and the embedded messaging server. I'm trying to configure the initial context. Can anyone tell me wht it needs to be configured as.
try {
            env.put(Context.INITIAL_CONTEXT_FACTORY,"*******");
            env.put(Context.PROVIDER_URL, "****");*/
            ctx = new InitialContext();
            System.out.println("Set CONN FACTORY");
            queueConnectionFactory = (QueueConnectionFactory)PortableRemoteObject.narrow(ctx.lookup(connectionFactoryName),QueueConnectionFactory.class);
            System.out.println("SET CONNECTION");
            queueConnection = queueConnectionFactory.createQueueConnection();
            System.out.println("SET SESSION");
            queueSession = (QueueSession) queueConnection.createSession(false, QueueSession.AUTO_ACKNOWLEDGE);
            System.out.println("SET QUEUE");
            queue = (Queue)PortableRemoteObject.narrow(ctx.lookup(queueName), Queue.class);
             queueSender = queueSession.createSender(queue);I'm getting the following error,
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
And i aslo need it to work with MQ Series version 6.0, let me know the env properties for that also.
regards,
karthik

env.put(Context.INITIAL_CONTEXT_FACTORY,"*******");
env.put(Context.PROVIDER_URL, "****");*/
ctx = new InitialContext();
Modify the last line as:
ctx = new InitialContext(env);That's what the error message is telling you. :-)

Similar Messages

  • 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

  • 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?

  • Initial Context Problem

    I have developed local entity bean in weblogic 8.1
    but i wouldnt able to get the Initial Context of the Bean.
    It throws javax.naming.NoInitialContextException
    But in jndi tree it shows the bean..
    the problem is only for Local Bean
    Remote Beans are working fine

    G,
    One thing I would make sure of is that you are not deploying oc4j.jar file as part of you ear. Check the 'exploded' ear file under WEB-INF/lib to ensure that you do not have an oc4j.jar file under it.
    It usually happens that in your Jdev Project, if you had included the oc4j.jar library solely to compile, but when you generated the deployment profile it would by default include all the libraries that are part of the project. You can correct this by right clicking the deployment profile and editing its properties to exclude the libraries that you don't want to deploy.

  • Initial Context Lookup

    hi
    i have written a jms message sender and receiver.
    i am using j2ee server to provide the jms service.
    no how do i get the initial context.
    i am not able to get the initial context and it is giving
    NoInitialContextException
    could anyone help me out.
    thanks and regards,
    rajesh.

    Hi, When you create InitialContext, context's environment should be in the system properties or you can pass it to the constructor. Those properties vary J2EE server to server.
    For example, if you are using Weblogic it goes like this
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    env.put(Context.PROVIDER_URL, "t3://localhost:7001");
    Context intialContext = new InitialContext(env);

  • Initial context

    Hi!
    I am using a jndi initial context object to lookup my ejbs in weblogic.
    There are places, where I initialize the initial context differently. I was
    wondering if it's ok to do that.
    For example,
    Scenario A:
    InitialContext context = new InitialContext();
    context.lookup("some bean");
    Scenario B:
    HashMap prop = new HashMap();
    prop.set(contextFactory, ...);
    prop.set(providerUrl, ...);
    InitialContext context = new InitialContext();
    context.lookup("some bean");
    Should I foresee any kind of problems with Scenario A. Does weblogic know
    what context factory and provider url to use if I don't mention it.
    Thanks in advance,
    Van

    If you are creating InitialContext inside the container, you
    do not need to specify any properties - it is container's responsibility
    to set them up.
    van saravanan <[email protected]> wrote:
    Hi!
    I am using a jndi initial context object to lookup my ejbs in weblogic.
    There are places, where I initialize the initial context differently. I was
    wondering if it's ok to do that.
    For example,
    Scenario A:
    InitialContext context = new InitialContext();
    context.lookup("some bean");
    Scenario B:
    HashMap prop = new HashMap();
    prop.set(contextFactory, ...);
    prop.set(providerUrl, ...);
    InitialContext context = new InitialContext();
    context.lookup("some bean");
    Should I foresee any kind of problems with Scenario A. Does weblogic know
    what context factory and provider url to use if I don't mention it.
    Thanks in advance,
    Van--
    Dimitri

  • Initial context and PROVIDER_URL default

    I´d like a short way to put into the initial context the correct provider.
    Default value of PROVIDER_URL is "t3://localhost:7001", but this is tied to a specific port (I run two instances of Weblogic in a development environment).
    How can I detect on wich port is running my instance of weblogic server in order to put the provider value in an independent way.
    Thanks,

    I am fairly new to JBoss as well, so I may be of limited help here. Although JBoss can use a jndi.properties file (as you are using) I have not experimented with this appraoch as of yet ...I supply a Hashtable filled with the appropriate properties.
    i.e.
        java.util.Hashtable props = new java.util.Hashtable();
         props.put(
          Context.INITIAL_CONTEXT_FACTORY,
        props.put(
          Context.PROVIDER_URL,
        props.put(
          Context.URL_PKG_PREFIXES,
        Context ctx = null;
        try {
           ctx = new InitialContext(props);
        } catch (NamingException ne) {
          System.out.println("Failed to create JNDI context from EJB server.");
          System.out.println(ne.toString(true));
        }However, I am starting to think this might not be the problem. I was reading the JBoss newsgroup yesterday and there are some jars from the JBoss "client" folder that need to be included in the classpath when running your client, but I sent the doc I created home (I could verify for you later if we can'y figure it out here from memory). You need two for sure, one being $JBOSS_HOME/client/log4j.jar and the other being (something like) $JBOSS_HOME/client/clientall-jboss.jar
    If you experiment with what you find in the client folder in the JBoss install dir, you will likely find the jars you need in the classpath by process of elimination.
    Hope this helps, sorry all my references are at home at the moment.
    GumB.

  • 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

  • Error in ArjunaMs Provider: Could not set up Initial Context

    Hi,
    I am trying to run the chatdemo example that comes with arjunams using http as the protocol and for that I have changed the file "chatdemo.properties" to this:
    java.naming.factory.initial=com.arjuna.ams.client.naming.AMSInitialContextFactory
    java.naming.provider.url=ams://server?web#http://localhost:8090/WebConnect/WebConnect
    I have already tried running the tomcat server in port 8080 now I am trying it in 8090 and I have WebConnect.war deployed in webapps folder. When I run the chatdemo I get the following error:
    Caught exception getting properties from file
    javax.naming.CommunicationException: Cannot set up Initial Context : Timeout whe
    n communicating with the server (ams.timeout=3000 [milliseconds]). [Root excepti
    on is [TIMEOUT_EXCEPTION]com.arjuna.ams.internal.client.common.TransportExceptio
    n: Timeout when communicating with the server (ams.timeout=3000 [milliseconds]).
    at com.arjuna.ams.internal.client.core.AbstractInitialContext.<init>(Abs
    tractInitialContext.java:171)
    at com.arjuna.ams.internal.client.transport.server.InitialContext.<init>
    (InitialContext.java:72)
    at com.arjuna.ams.internal.client.transport.server.web.naming.InitialCon
    text.<init>(InitialContext.java:40)
    at com.arjuna.ams.internal.client.transport.server.web.naming.InitialCon
    textFactory.getInitialContext(InitialContextFactory.java:41)
    at com.arjuna.ams.client.naming.AMSInitialContextFactory.getInitialConte
    xt(AMSInitialContextFactory.java:360)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
    62)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    at com.arjuna.ams.demos.chat.core.JMSChatInterface.<init>(JMSChatInterfa
    ce.java:240)
    at com.arjuna.ams.demos.chat.ui.text.TextClient.test(TextClient.java:163
    at com.arjuna.ams.demos.chat.ui.text.TextClient.main(TextClient.java:67)
    Caused by: [TIMEOUT_EXCEPTION]com.arjuna.ams.internal.client.common.TransportExc
    eption: Timeout when communicating with the server (ams.timeout=3000 [millisecon
    ds]).
    at com.arjuna.ams.internal.client.common.MessageCarrierBuffer.get(Messag
    eCarrierBuffer.java:67)
    at com.arjuna.ams.internal.client.common.RPCMapper.sendRPC(RPCMapper.jav
    a:102)
    at com.arjuna.ams.internal.client.transport.server.TransportManager.init
    (TransportManager.java:139)
    at com.arjuna.ams.internal.client.transport.server.InitialContext.create
    TransportLayer(InitialContext.java:102)
    at com.arjuna.ams.internal.client.core.AbstractInitialContext.createComm
    Chain(AbstractInitialContext.java:999)
    at com.arjuna.ams.internal.client.core.AbstractInitialContext.<init>(Abs
    tractInitialContext.java:165)
    What can be the error? Please I need help urgently!!!
    Thanks in advance!

    Hi RESIDENT2,
    First of all, please let me apologise for the delay in response time to your message! Unfortunately it seems as though we missed this one.
    Can I suggest to you that the best place to get help with ArjunaMS is from:
    http://www.arjuna.com/forum/
    As far as your problem is concerned it appears as though you have performed the correct procedures to setup ArjunaMS, if your problem still exists can I ask you to post a complete description of the system as it stands.
    NOTE: To check the WebConnect servlet is running you should be able to connect to http://localhost:8090/WebConnect, which should display a welcome page for the servlet. If this welcome screen cannot be seen then the servlet failed to deploy.
    Once again, sorry for the delayed response!
    Cheers,
    Tom
    Arjuna Technologies Limited

  • Migrating from 4.1 to 6.1, context.properties

    Hello,
    I currently have this line in my context.properties file:
    context.global.sessionCookie=PublicSessionID
    in my 4.1 environment.
    I am trying to create same application on other machine running Sun One Web Server 6.1, which does not have a context.properties file. I have managed to reconfigure my servlets and rules.properties to web.xml and am now building a war instead of a jar. I have updated my obj.conf and magnus.conf.
    Where do I put this line in a Sun One Web Server 6.1 environment?

    I created a sun-web.xml file, and set the reuseSessionID to be true:
    <sun-web-app>
    <property name="reuseSessionID" value="true"/>
    </sun-web-app>
    This allowed me to use the same cookie session across both instances, which worked.
    Until I installed a SSL cert on one instance. Now from the public to the private side, I can see the same session Id, but when I go from private to public, I get a new Session ID.
    Any ideas?

  • 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

  • Setting de-batched message specific message context properties in custom disassembler

    I have recently created a custom disassemble component which can handle a message batch. The message batch can contain multiple messages and the custom component during de-batching recognizes this and does appropriate disassembly. All this is working fine.
    The issue I have is that in the disassembler in the disassembled message part I copy the base message context, then assign additional properties. This is resulting in the context of the base message getting modified and as a result, all messages come into
    BizTalk with the same context (which is wrong) but the correct message data.
    So I could trace it to the statement debatchedMessage.Context = pInMsg.Context. It is not the copy but the reference which is being passed which is causing an overwrite and causing me grief.
    Anybody else noticed this behavior? or perhaps knows of a fix? or perhaps knows of a method which will allow me to
    COPY the message context?
    Regards.

    What you are seeing is the expected behavior.  You are correct:
    debatchedMessage.Context = pInMsg.Context
    merely assigns the context as a reference.
    There is no shortcut to copying the context properties as there is in an Orchestration so you have to copy them one by one:
    for (int i = 0; i < pInMsg.Context.CountProperties; i++)
    string Name
    string Namespace;
    object PropValue = pInMsg.Context.ReadAt(i, out Name, out Namespace);
    if (pInMsg.Context.IsPromoted(Name, Namespace))
    outMsg.Context.Promote(Name, Namespace, PropValue);
    else
    outMsg.Context.Write(Name, Namespace, PropValue);

  • Error in JMS receiver adapter: "Error creating initial context with environment"

    Hello,
    I have some trouble with a JMS receiver adapter (access to JMS-provider with JNDI).
    The message in adapter monitoring is:
    A channel error occurred. Detailed error (if any) :
    com.sap.aii.adapter.jms.api.connector.ConnectorException: Fatal Error looking up connection factoryJMSQueueConnectionFactory, for profile: ConnectionProfile of channel: CC_JMS_RCV_XLIMI00001on node: 503473150 having object id: 5b424f2f79b6350ca636ab35d528cfdd:
    ConnectorException: Error creating initial context with environment: java.naming.provider.url=wcsefdev.example.com:9064; java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory; for profile: ConnectionProfile of channel:
    CC_JMS_RCV_XLIMI00001on node: 503473150 having object id: 5b424f2f79b6350ca636ab35d528cfdd: javax.naming.NoInitialContextException:
    Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory<br> at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory
    (JndiConnectorImpl.java:152)<br> ....
    Message processing failed. Cause:
    com.sap.aii.adapter.jms.core.fsm.DFA$InvalidTransitionException: No transition found from state: ERROR, on event: process_commence for DFA: CC_JMS_RCV_XLIMI00001:5b424f2f79b6350ca636ab35d528cfdd
    The third party assured me that the specified JNDI parameters are right and everything is configured on their site, so it should work...
    Might there be a problem with the JMS drivers?
    Regards,
    Marcus

    Hi Marcus,
    Have a look at below thread
    Connecting to PI 7.11 JMS Queue from other PI 7.11 Server

  • 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

  • Loading of lis extractions into cube

    hello everyone, i have extracted say 2lis_11_vasth from r.3 to bw and all the transformations, infopackage and dtp have been done properly, but wen im going to the contents of the cube i see the fields but not the data. before replicating in rsa3 it

  • Deal-breakers for real use of Solaris 11 Express

    I run Solaris 10 U9 for my home 12TB NAS box - based on Supermicro H8SSL-i2 motherboard (ServerWorks HT1000 Chipset and Dual-port Broadcom BCM5704C) and their 8-port SATA2 PCI-X card (AOC-SAT2-MV8). It's a great (but aging) platform and a rock solid

  • Performance Issues during Upgrade of EBS from 11.5.10.2 to 12.1.1

    Hi, We're upgrading our EBS , from Rel 11.5.10.2 to 12.1.1. We're stuck , while running script ar120bnk.sql (ran more than 20 Hours) : Regarding the tables involved in this Process : select owner , table_name,num_rows,last_analyzed,sample_size from d

  • Error executing Interactive Form

    I have an issue when I execute a WD that has an Adobe Document. <br><br> In the first place, the WD works properly in a PRD environment (in a primary and secondary instances). I made some changes to it (added another PDF, similar to the prior one) an

  • Proxy authentication error on Win7

    I used Itunes 11.0.2 on win7 until yesterday without problem. Yesterday I changed my proxy password on Windows and Itunes stop working on Internet. Itunes doesn't ask me more Proxy login mask.