RMI call To a specific EJB in a cluster ignored!!!

I have an enumeration of objects in a cluster.
A specific problem is to reset some cash on every instance of a BEAN on all servers in a cluster.
Code below works fine when I start 2 instances of servers not in a clustered mode:
URL1=t3://pbwebs01:9466
and
URL2=t3://pbwebs02:9466
from t3://pbwebs01:9466 EJB instance -> call method resetCash() on t3://pbwebs02:9466 EJB instance
result:--> resetCash() on t3://pbwebs02:9466 EJB instance is called.
However when i start both servers in a clustered mode:
URL1=t3://pbwebs01:9466
and
URL2=t3://pbwebs02:9466
from t3://pbwebs01:9466 EJB instance -> call method resetCash() on t3://pbwebs02:9466 EJB instance
result:--> resetCash() on t3://pbwebs01:9466 EJB instance is called.
Here is the code:
for (all bean instances in a cluster)
Hashtable context_env = new Hashtable();
context_env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
context_env.put(Context.PROVIDER_URL, url);
context_env.put(Context.SECURITY_PRINCIPAL, uid);
context_env.put(Context.SECURITY_CREDENTIALS, password != null ? password : "");
InitialContext admctx = new InitialContext(context_env);
AdmUserHome admh = (AdmUserHome) admctx.lookup("AdmUserHome");
AdmUserRemote admr = admh.create();
admr.resetCash();
Any ideas?
Thanks in advance.

Since you are using clustered services WebLogic will always prefer local call vs remote.
You can use JMS (http://dima.dhs.org/misc/readOnlyUpdates.jar for example) to achieve this.
Leonid Lemmer <[email protected]> wrote:
I have an enumeration of objects in a cluster.
A specific problem is to reset some cash on every instance of a BEAN on all servers in a cluster.
Code below works fine when I start 2 instances of servers not in a clustered mode:
URL1=t3://pbwebs01:9466
and
URL2=t3://pbwebs02:9466
from t3://pbwebs01:9466 EJB instance -> call method resetCash() on t3://pbwebs02:9466 EJB instance
result:--> resetCash() on t3://pbwebs02:9466 EJB instance is called.
However when i start both servers in a clustered mode:
URL1=t3://pbwebs01:9466
and
URL2=t3://pbwebs02:9466
from t3://pbwebs01:9466 EJB instance -> call method resetCash() on t3://pbwebs02:9466 EJB instance
result:--> resetCash() on t3://pbwebs01:9466 EJB instance is called.
Here is the code:
for (all bean instances in a cluster)
Hashtable context_env = new Hashtable();
context_env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
context_env.put(Context.PROVIDER_URL, url);
context_env.put(Context.SECURITY_PRINCIPAL, uid);
context_env.put(Context.SECURITY_CREDENTIALS, password != null ? password : "");
InitialContext admctx = new InitialContext(context_env);
AdmUserHome admh = (AdmUserHome) admctx.lookup("AdmUserHome");
AdmUserRemote admr = admh.create();
admr.resetCash();
Any ideas?
Thanks in advance. Dimitri

Similar Messages

  • Is it allowed to make a rmi call from within an ejb??

    Hello,
    Am I allowed to make a rmi call from within an ejb such as:
    String host = "localhost";
    RemoteObject ro = (RemoteObject) Naming.lookup("rmi://"+host+"/MonServeur");
    ro.myMethod();
    package pack;
    import java.rmi.Naming;
    import java.rmi.RemoteException;
    import java.rmi.server.UnicastRemoteObject;
    public class MyRemoteObject extends UnicastRemoteObject implements RemoteObject {
        public MyRemoteObject() throws RemoteException {
        public void myMethod() throws RemoteException {
            System.out.println("toto");
        public static void main(String[] args) {
            try {
                RemoteObject ro = new MyRemoteObject();
                Naming.rebind("MonServeur", ro);
            } catch (Exception ex) {
                ex.printStackTrace();
    }Is it allowed by the spec?
    Is it good design?
    Thanks in advance,
    Julien Martin.

    Allowed - yes
    Good design - no, in my opinion.

  • Can I specify a timeout value for an RMI call?

    Is it possible to specify a timeout value when a client makes a remote
    RMI call to a WL
    EJB? If the server method hangs does the client call hang forever with it?
    - Rick Holland OO/Distributed Systems Consultant
    - ObjectAge Inc.
    - [email protected]
    "Logic is a wreath of pretty flowers, that smell bad"

    That's what I did to try this. weblogic.ejbc knows how to pass -dispatchPolicy to
    the weblogic.rmic, so in the RMI descriptor it creates:
    <method
    name="*"
    dispatch-policy="queueName"
    >
    </method>
    so, maybe there is a command-line option for the timeout as well. Anyway, extracting
    xxxRTD.xml and adding
    <method
    name="*"
    timeout="xxx"
    >
    </method>
    works just fine.
    Rick Holland <[email protected]> wrote:
    So all I have to do is build my EJB jar, extract the *RTD.xml file, hack
    it, stuff it back into the jar and deploy (all within my Ant script).
    Sounds fairly straight forward.
    Thanks again
    [email protected] wrote:
    It gets there from the server. If you look inside ejbc'ed ejb-jar you'll find
    RMI descriptors there (they are named like xxx.RTD.xml)
    Rick Holland <[email protected]> wrote:
    Thank you Dimitri, but I have one more dumb question, since I need these
    timeouts
    on the client side where does an RMI descriptor go? I have never used
    one of these.
    Thanks
    [email protected] wrote:
    AFAIK, you can specify it in the RMI descriptor :
    <rmi Name=".....">
    <cluster
         clusterable="true"
    </cluster>
    <method
         name="methodname"
         timeout="timeoutinmilliseconds"
    </method>
    </rmi>
    And, if there is timeout, method invocation will fail with exception like this:
    weblogic.rmi.extensions.RequestTimeoutException: RJVM response timed out after: '1000' milliseconds.
    at weblogic.rmi.internal.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:85)
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:262)
    at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:229)
    at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
    at $Proxy2.testTimeout(Unknown Source)
    Rick Holland <[email protected]> wrote:
    Is it possible to specify a timeout value when a client makes a remote
    RMI call to a WL
    EJB? If the server method hangs does the client call hang forever with it?
    - Rick Holland OO/Distributed Systems Consultant
    - ObjectAge Inc.
    - [email protected]
    "Logic is a wreath of pretty flowers, that smell bad"
    - Rick Holland OO/Distributed Systems Consultant
    - ObjectAge Inc.
    - [email protected]
    "Logic is a wreath of pretty flowers, that smell bad"
    - Rick Holland OO/Distributed Systems Consultant
    - ObjectAge Inc.
    - [email protected]
    "Logic is a wreath of pretty flowers, that smell bad"
    Dimitri

  • Can EJB Beans explicitly make RMI calls?

    Hi,
    I'm new to EJBs and would like to know if an EJB bean (especially a session bean)
    can explicitly make RMI calls to remote objects that are not EJBs?
    Thanks in advance to your advice.
    cc.

    The best approach here in my mind would be to bind the RMI object to a JNDI name then have your bean lookup the RMI object with JNDI and then make the calls.

  • Not able to call BPEL web service using RMI call from different machine

    Hi,
    1. I have created a smiple Helloworld asynchoronous BPEL process
    2. I am able to call that BPEL process using java program (RMI call) which I have written in JDeveloper 10.1.3.3 and the java program is running in the embeded OCJ4 instance of JDeveloper sucessfully.
    3. Now I am trying to run the same Java program in my unix machine where oracle application is installed.
    4. I have set all the CLASSPATH for required jars which I have used in JDeveloper and also kept the jar file in Unix machine.
    5. The java codes are complied successfully.
    6. But when I am trying to run it , getting the following exception:
    bash-3.00$ java HelloworldAsyn
    name is Debkanta
    property file data are: {java.naming.provider.url=opmn:ormi://172.18.19.169:6003:home/orabpel, java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory, orabpel.platform=ias_10g, java.naming.security.principal=oc4jadmin, java.naming.security.credentials=welcome1}
    hello3
    java.lang.Exception: Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
    at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:52)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:279)
    at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:149)
    at HelloworldAsyn.main(HelloworldAsyn.java:64)
    at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:293)
    at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:149)
    at HelloworldAsyn.main(HelloworldAsyn.java:64)
    bash-3.00$
    I need to solve it urgently. Can anyone please help me.
    Is it relaed to some user access issue in unix?
    Thanks & Regards
    Deb
    Message was edited by:
    user587916

    actually , I have laready given print stataement for the data in the context property file that you can see in the output. Today I am also able to call the bpel process using the same java program from my DOS command promt(cmd). Don't understand why the problem is occuring in unix.
    please help.

  • RMI call back - How to refer to the client project from the server project?

    Hi, I am working on an RMI assignment which basically needs me to use the RMI call back for the server to notify the clients.
    I have 2 projects , one for the client and another for the server.
    In the client project, I have a client interface and the main client class implements this interface.
    In the server project, I have a server interface and a class that implements this interface.
    I can use the server interface in the client project's code by adding the server project in the path of the client project. it lets me use the server interface in the code if I put "import.." statement.
    But the issue is I can not do the same to access the client interface from within the server project's code. Since that will be a circular reference, the compiler does not let me use the client interface from within the server's code. This is putting me in a great difficulty and I am stuck here. What should I do so that I can use the client interface and the compiler won't complain?
    Thanks for any help..
    Regards.. js

    Let me explain what I tried: I manually generated stub class of the client using the Eclipse IDE as mentioned in my previous message. The StockMSClient_Stub.class got created in my client project.
    The common project has the 2 interfaces - one from the client and one from the server.
    I have added reference to the common project from the client and server projects to use the interfaces.
    With the above mentioned in place, when I run the server project, the registry binding of the server objects is very fine. But I am getting error in the applet at the line where I am passing the client object to the method provided by the server interface. The following is the code snippet in the applet where I am getting the error.
    specifically the line: String response = objs.login(userId, password, smsClient);     ====================
    public void login() {
                Registry reg = null;
                String userId = "test";
                String password = "test";
                this.smsClient = new StockMSClient();
                try {
         reg = LocateRegistry.getRegistry(rmiHost,rmiPort);
                          UserInterface obj = (UserInterface) reg.lookup(rmiStrings
                                                                                                                        [1]);
         User u = obj.find(userId);
         if (u == null) {
              System.out.println("This user is not valid");
         } else {
                         UnicastRemoteObject.exportObject(smsClient);
         reg = LocateRegistry.getRegistry(rmiHost, rmiPort);
         LoginLogoutInterface objs = (LoginLogoutInterface) reg
                                   .lookup(rmiStrings[0]);
                        //getting error at the following line.
                        String response = objs.login(userId, password, smsClient);     
                         System.out.println("response :" + response);
               } catch (AccessException ae) {
                       System.out.println(ae);
               } catch (NotBoundException nbe) {
                      System.out.println(nbe);
               } catch (RemoteException re) {
                      System.out.println(re);
    } //end login()====================
    Error is:
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
         java.lang.ClassNotFoundException: sms.rmi.graphics.StockMSClient_Stub (no security manager: RMI class loader disabled)================
    I don't know why this is happening..Please help.
    thanks & regards, js
    Message was edited by:
    jsitaraman

  • RMI call to java in Oracle 8i

    We need to access stored Java classes inside the Oracle 8i (8.1.7) database using RMI from a remote machine. Is this possible? How?
    Basically we have stored PL/SQL procedures/packages we want to create interfaces for (Using JPiblisher) and access them remotely via RMI.

    We need to access stored PL/SQL packages from outside the database via RMI. That's the requirement. First we need to wrap the PL/SQL packages with Java classes (JPublisher can help us here). Then there are, in my opinion, three possible ways to achieve this:
    - direct Java RMI calls
    - CORBA
    - EJB
    Because I need to evaluate all ways, I am just trying the 1st ( I know, not scalable) way - direct RMI calls. I can do a direct RMI call from the database to an outside server. That works fine. My problem is the other way round, to call an object inside 8i. I understand that using CORBA or EJB the Oracle ORB is used (handled by the TNS Listener). Using a direct RMI call I would need to run the RMIREGISTRY program (inside or outside 8i?)...But I have no clue, how this could work.

  • How do I run a JCA adapter when I am calling it from an EJB?

    How do I run a JCA adapter when I am calling it from an EJB? Do I need to create an EJB client and place it in a Client container? If my EJB and JCA adapter are deployed is there a way to call my EJB from the command line?
    Mike

    Hi. When you look at the code I provided for you in other thread you will see that connecting to adapter is done through JNDI lookup. The creation of the adapter is done in your J2EE server. Here is some code for you where you can find mapping from code to ejb-jar and orion-ejb-jar.
    ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
    version="2.1">
    <!--
    This file declares the interface (needs/promises) of the message-driven bean.
    The MDB requires:
    - a JMS queue (to receive messages from the client),
    - a JMS exception queue (to send undeliverable messages back to the source), and
    - a connection factory (to communicate with a JMS resource provider).
    Note that communication with the resource provider may be (and for this
    application is) via a JMS Connector rather than direct.
    -->
    <display-name>JMS Consume MDB - opp-ifs</display-name>
    <enterprise-beans>
    <entity>
    <description>Entity Bean ( BMP )</description>
    <display-name>EBEjbMecomsIFS</display-name>
    <ejb-name>EBEjbMecomsIFS</ejb-name>
    <local-home>EBEjbMecomsIFSLocalHome</local-home>
    <local>EBEjbMecomsIFSLocal</local>
    <ejb-class>EBEjbMecomsIFSBean</ejb-class>
    <persistence-type>Bean</persistence-type>
    <prim-key-class>java.lang.Long</prim-key-class>
    <reentrant>false</reentrant>
    <service-ref>
    <service-ref-name>service/interceptor</service-ref-name>
    <service-interface>javax.xml.rpc.Service</service-interface>
    <wsdl-file>META-INF/wsdl/MHS5_Jms_In_RS.wsdl</wsdl-file>
    <service-qname xmlns:ns="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5">ns:ESB_MHS5_Jms_In_RS_Service</service-qname>
    </service-ref>
    </entity>
    <message-driven>
    <display-name>JMS Consume MDB - MDB</display-name>
    <ejb-name>MDBEjbMecomsIFS</ejb-name>
    <!-- name of bean in deployment descriptor (including orion-ejb-jar.xml file) -->
    <ejb-class>MDBEjbMecomsIFSBean</ejb-class>
    <!-- bean's fully qualified Java class name -->
    <messaging-type>javax.jms.MessageListener</messaging-type>
    <transaction-type>Container</transaction-type>
    <!-- allow incoming messages to be included in transactions -->
    <!-- The ejb requires a connection factory to access an external resource (JMS). -->
    <ejb-local-ref>
    <ejb-ref-name>ejb/local/EBEjbopp_ifs</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>EBEjbMecomsIFSLocalHome</local-home>
    <local>EBEjbMecomsIFSLocal</local>
    <ejb-link>EBEjbMecomsIFS</ejb-link>
    </ejb-local-ref>
    <resource-ref>
    <!-- The resource's connection factory must be accessible at jndi location "java:comp/env/jms/QueueConnectionFactory". -->
    <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
    <!-- The resource's connection factory must implement the "javax.jms.ConnectionFactory" interface. -->
    <res-type>javax.jms.ConnectionFactory</res-type>
    <!-- container managed authorization -->
    <res-auth>Container</res-auth>
    </resource-ref>
    </message-driven>
    </enterprise-beans>
    <assembly-descriptor>
    <!--
    Declare that a global transaction is required when the onMessage method of the ejb named
    "MDBEjbName" is called. This will cause the app server to automatically initiate a
    global (XA) transaction before calling onMessage (actually, before even receiving the JMS
    message that triggers onMessage) and end the transaction after onMessage returns. The
    JMS Connector will automatically rollback the transaction if onMessage throws an
    exception. onMessage may also set the transaction to be "rollback only".
    Participating in global transactions requires that the connection factory provided in the
    activation spec (see the ConnectionFactoryJndiName property earlier in this file) must be
    XA-capable (it must implement the javax.jms.XAConnectionFactory interface).
    If this declaration is ommitted, then onMethod will not be part of any global
    transaction. In that case the connection factory provided in the activation spec must
    implement the javax.jms.ConnectionFactory interface.
    -->
    <container-transaction>
    <method>
    <ejb-name>MDBEjbMecomsIFS</ejb-name>
    <method-name>onMessage</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    <container-transaction>
    <method>
    <ejb-name>EBEjbMecomsIFS</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Supports</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    orion-ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <orion-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNameSpaceSchemaLocation="http://www.oracle.com/technology/oracleas/schema/orion-ejb-jar-10_0.xsd">
    <enterprise-beans>
    <entity-deployment name="EBEjbMecomsIFS">
    <service-ref-mapping name="service/interceptor">
    <wsdl-location>http://on-poc62.ontw.alfa.local:7777/event/PilotOWSM/MustHavesScenario5/MHS5_Jms_In_RS?wsdl</wsdl-location>
    <service-qname localpart="ESB_MHS5_Jms_In_RS_Service" namespaceURI="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5"/>
    <port-info>
    <wsdl-port namespaceURI="http://oracle.com/esb/namespaces/PilotOWSM_MustHavesScenario5"
    localpart="__soap_MHS5_Jms_In_RS_execute_ppt"/>
    <service-endpoint-interface>javax.xml.rpc.Service</service-endpoint-interface>
    <call-property>
    <name>javax.xml.rpc.service.endpoint.address</name>
    <value>http://on-poc62.ontw.alfa.local:7777/event/PilotOWSM/MustHavesScenario5/MHS5_Jms_In_RS</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.http.soapaction.uri</name>
    <value>execute</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.http.soapaction.use</name>
    <value>true</value>
    </call-property>
    <call-property>
    <name>javax.xml.rpc.soap.operation.style</name>
    <value>document</value>
    </call-property>
    <runtime enabled="owsm">
    <owsm init-home="/oracle/product/SoaAs/10.1.3/owsm/config/interceptors/C0003002"
    init-file="confluent.properties"/>
    </runtime>
    </port-info>
    </service-ref-mapping>
    </entity-deployment>
    <message-driven-deployment name="MDBEjbMecomsIFS"
    resource-adapter="OEMSJMSDRAopp-ifs"
    enabled="true" max-instances="10">
    <!--
    The ejb requires a connection factory implementing the "javax.jms.XAConnectionFactory"
    interface to be accessible at jndi location "java:comp/env/jms/QueueConnectionFactory". (see ejb-jar.xml and ....)
    A suitable connection factory is already accessible at jndi location "OEMSJMSDRASubcontext/MyXACF" (see oc4j-ra.xml)
    -->
    <resource-ref-mapping location="OEMSJMSDRASubopp-ifs/MyXACF"
    name="jms/QueueConnectionFactory"/>
    <!-- don't misspell this or you'll get an RP CF which doesn't work -->
    <!-- Required activation-spec properties. -->
    <!--
    ConnectionFactoryJndiName (string, no default)
    This should be the JNDI location of an RA connection factory.
    The JMS Connector will use this connection factory to create the JMS
    connection it uses to receive messages for this MDB's onMessage. If the
    exception queue is enabled (see UseExceptionQueue), the JMS Connector will
    also use a connection created from this connection factory for the production
    of messages to the exception queue.
    This connection factory must be compatible with the message domain(s). (For
    example, if the MDB is receiving messages from a queue, the connection
    factory should implement javax.jms.[XA]QueueConnectionFactory or
    javx.jms.[XA]ConnectionFactory.)
    For XA/non-XA considerations, see the <container-transaction> comments later
    in this file.
    -->
    <config-property>
    <config-property-name>ConnectionFactoryJndiName</config-property-name>
    <config-property-value>OEMSJMSDRASubopp-ifs/MyXAQCF</config-property-value>
    </config-property>
    <!--
    DestinationName (string, no default)
    This is JNDI location of the queue or topic from which messages to be
    delivered to the MDB's onMessage method should be received.
    The JNDI locations for RA destinations are defined in the
    oc4j-connectors.xml file.
    -->
    <config-property>
    <config-property-name>DestinationName</config-property-name>
    <config-property-value>OEMSJMSDRASubopp-ifs/MyQ</config-property-value>
    </config-property>
    <!--
    DestinationType (string, no default)
    This must be set to the type of the destination named by the above
    "DestinationName" property.
    The EJB 2.1 spec states that this must be set to either javax.jms.Queue or
    javax.jms.Topic. OracleGJRA also allows it to be set to
    javax.jms.Destination (which works for both queues and topics).
    -->
    <config-property>
    <config-property-name>DestinationType</config-property-name>
    <config-property-value>javax.jms.Queue</config-property-value>
    </config-property>
    <!--
    Other activation-spec properties.
    The following activation-spec properties supported by OracleGJRA are optional
    except where otherwise noted:
    -->
    <!--
    ListenerThreadMaxPollInterval (milliseconds, 5000)
    Listener threads "poll" to see if there is a message waiting to be processed.
    The more frequently this polling is performed, the faster (on average) a given
    listener thread can respond to a new message. The price for frequent polling is
    overhead - the resource provider must process a receive request each time it is
    polled.
    Oracle's JMS Connector implementation applies an adaptive algorithm which
    uses shorter polling intervals (high polling rates) during periods of activity
    (once activity is noticed) and longer polling intervals (lower polling rates)
    during periods of inactivity. The ListenerThreadMaxPollInterval property places
    an upper limit on the polling interval used by this adaptive algorithm.
    -->
    <config-property>
    <config-property-name>ListenerThreadMaxPollInterval</config-property-name>
    <config-property-value>5000</config-property-value>
    </config-property>
    <!--
    AcknowledgeMode (string, default = Auto-acknowledge)
    This should be set to Auto-acknowledge or Dups-ok-acknowledge. This
    controls the quality-of-service provided by listener threads which
    consume messages and call the MDB's onMessage method.
    MessageSelector (string, default = no message filtering)
    This is the selector expression used to filter messages sent to the
    MDB's onMessage method. (I.e., this is used as the messageSelector for
    the JMS sessions created for the listener threads.)
    SubscriptionDurability (string, default = NonDurable)
    For topics this should be set to Durable or NonDurable. (This should
    not be set for queues.) This controls the durability of the topic
    consumer used by the listener thread. When SubscriptionDurability is
    set to Durable (and DestinationType is javax.jms.Topic or
    javax.jms.Destination), the SubscriptionName property is required.
    SubscriptionName (string, no default)
    This property is required when SubscriptionDurability is Durable (and
    DestinationType is javax.jms.Topic or javax.jms.Destination). (In all
    other cases it is ignored.) This is the name used when creating the
    durable subscriber used by the listener thread. For a given JMS server,
    a given subscription name should be assigned to at most one MDB (which
    must have most one listener thread).
    ClientId (string, no default)
    If set, connection(s) used by the listener threads will be set to use
    this client ID.
    TransactionTimeout (milliseconds, default = 300,000)
    This limits the amount of time that the JMS Connector will wait for a
    message to arrive before exiting the current transaction. The
    transaction manager limits the amount of time a transaction can last
    (see transaction-timeout in transaction-manager.xml).
    TransactionTimeout should be set such that the transaction manager will
    not timeout the transaction during the onMessage routine unless
    something is wrong. For example, If the transaction mananager timeout
    is set to 30 seconds, and the onMessage routine will never take more
    than 10 seconds unless something is wrong, then this property could be
    set to 20 seconds (20000 milliseconds).
    EndpointFailureRetryInterval (milliseconds, default = 60,000)
    If an endpoint can not be processed (due to the app server WorkManager
    not accepting new work), it will be scheduled to be retried this many
    milliseconds later.
    ReceiverThreads (integer, default = 1)
    This sets the maximum number of listener threads to create for this
    endpoint. For queues, using more than one thread may be useful in
    increasing the rate at which messages can be consumed. For topics this
    value should always be 1. (Each listener thread gets its own session
    and TopicSubscriber. For durable subscribers it would be an error to
    have more than one subscriber with the same subscription name. For
    nondurable subscribers having more than one thread will not help because
    more threads translates into more subscribers which translates into more
    copies of each message.) See also: ListenerThreadMinBusyDuration
    UseExceptionQueue (boolean, default = false)
    When "UseExceptionQueue" is true:
    - Messages that would otherwise be discarded are sent to the
    exception queue. (Currently the only case where this happens is
    when the max delivery count is exceeded. See MaxDeliveryCnt
    property.) Rather than sending the original message directly to
    the exception queue, the following procedure is used:
    o Create a new message of the same type.
    o Copy the properties and body from the original message to the
    new message.
    o If the headers were copied, sending the message to the
    exception queue would cause most of them to be lost
    (over-written by the resource-provider). So instead,
    translate headers in the original to properties in the copy,
    assigning each header obtained via "getJMS{Header}" to
    property "GJRA_CopyOfJMS{Header}". Since
    javax.jms.Destination is not a valid property type, translate
    destination headers into descriptive messages.
    (Currently this same service is not provided for JMSX*
    properties, most notably the JMSXDeliveryCount property.)
    o If some part of the copy process (above) or augmentation
    process (below) fails, do not abort. Attempt to complete the
    rest of the procedure. (For Bytes/Map/Stream message types,
    this can mean that part of the body is copied and the rest is
    not.)
    o If the copy process is 100% successful, add a boolean property
    called "GJRA_CopySuccessful" with the value "true".
    o Add a string property called "GJRA_DeliveryFailureReason" which
    indicates why the message was not delivered.
    o If the MDB onMessage method generated an exception immediately
    prior to the delivery failure, add a string property called
    "GJRA_onMessageExceptions" which contains exception information.
    o Send the resulting message to the exception queue.
    Note that only one attempt is made to send the message to the
    exception queue. Should this attempt fail, the message will
    be discarded without being placed in the exception queue.
    See IncludeBodiesInExceptionQueue property for potential variations
    of the above procedure.
    - The ExceptionQueueName property is required.
    - In addition to being used for the primary destination, the
    connection factory specified by the ConnectionFactoryJndiName
    property will also be used for the exception queue. If the primary
    destination (specified by the DestinationName property) is a topic,
    then the connection factory must support both queues and topics.
    (I.e., the <connectionfactory-interface> [see oc4j-ra.xml] for the
    given connection factory must be either javax.jms.ConnectionFactory
    or javax.jms.XAConnectionFactory.)
    ExceptionQueueName (string, no default)
    This is the JNDI location of the javax.jms.Queue object to use as the
    exception queue. (See UseExceptionQueue property for information about
    the use of the exception queue.) This property is required when
    UseExceptionQueue is true, and ignored when UseExceptionQueue is false.
    IncludeBodiesInExceptionQueue (boolean, default = true)
    This controls whether or not messages sent to the exception queue will
    include a message body. (See UseExceptionQueue property for information
    about the use of the exception queue.) If many messages are sent to the
    exception queue during normal operation and the message body is of no
    use in the exception queue, then this property may be set false to
    improve performance. This property is ignored when UseExceptionQueue is
    false. There are two cases where this property does not apply:
    - If the original message did not have a message body, then the
    message sent to the exception queue will not have one either.
    - If a copy of the original message can not be created for any
    reason, then the original may be sent to the exception queue
    instead. This may result in a message body being sent to the
    exception queue.
    MaxDeliveryCnt (integer, default = 5)
    If a message has the "JMSXDeliveryCount" property and the value of that
    property is greater than MaxDeliveryCnt, then the message will be
    discarded (and not sent to onMessage). If the exception queue is
    enabled (see UseExceptionQueue), a copy of the message will be sent to
    the exception queue. If MaxDeliveryCnt is set to 0, no messages will be
    discarded. (Note that when an MDB responds to a message by throwing an
    exception, the message is not considered delivered and it may be
    redelivered. If the MDB might always respond to a given message by
    throwing an exception, and MaxDeliveryCnt is set to 0 to prevent the
    message from ever being discarded, the result may be an MDB stuck in an
    "infinite loop" - failing to process the same message over and over
    again.)
    -->
    <config-property>
    <config-property-name>MaxDeliveryCnt</config-property-name>
    <config-property-value>0</config-property-value>
    </config-property>
    <!--
    LogLevel (string, no default)
    This controls the level of detail of messages logged by the JMS
    Connector. These messages are primarily intended for debugging the
    JMS Connector itself, but may also be useful when debugging issues
    related to the use of the JMS Connector. This property should not be
    set in production code. (It should only be set temporarily for
    debugging purposes - specific log messages and log levels may be and
    will be added/removed/modified in future versions of the JMS
    Connector.) Currently the allowed values are:
    ConnectionPool
    ConnectionOps
    TransactionalOps
    ListenerThreads
    INFO
    CONFIG
    FINE
    FINER
    FINEST
    SEVERE
    WARNING
    OFF
    ListenerThreadMaxIdleDuration (milliseconds, default = 300,000)
    This is how long a listener thread which is not receiving any messages
    will be kept around. (At least one listener thread will remain as long
    as the endpoint is active.)
    ListenerThreadMinBusyDuration (milliseconds, default = 10,000)
    If a listener thread has just received a message, has not been idle (had to
    wait for a new message to arrive) at any point during the past
    ListenerThreadMinBusyDuration milliseconds, and the current number of
    listener threads for this endpoint is less than ReceiverThreads, then
    (application server willing) an additional listener thread will be created.
    ResUser (string, default = null)
    ResPassword (string, default = null)
    These properties allow a user/password to be passed to the resource
    provider. When neither of these properties are set, connections used for
    this MDB's inbound message handling (as well as for exception queue
    handling, if enabled) are created using the no-argument version of the
    create*Connection method. When one or both of these properties are set,
    they are passed to the create*Connection method as the user/password
    arguments. (If only one property is not set, then 'null' is used for that
    particular create*Connection argument.) The ResPassword property supports
    the standard password indirection options (e.g., using "->joeuser" to
    represent the password of "joeuser").
    Note that the commas used in many of the above default values and examples are
    included here for readability but can not be used in the actual activation spec.
    (I.e., integer/milliseconds values in the activation spec must not include
    embedded commas.)
    -->
    </message-driven-deployment>
    </enterprise-beans>
    <assembly-descriptor>
    <default-method-access>
    <security-role-mapping name="&lt;default-ejb-caller-role>"
    impliesAll="true"/>
    </default-method-access>
    </assembly-descriptor>
    </orion-ejb-jar>

  • EmptyStackException in RMI call

    Hi group -
    We are running the following scenario:
    Weblogic <-- WL RMI --> JVM1 <-- WL RMI --> JVM2
    I am able to connect via RMI from a client app directly to JVM2 and execute
    an RMI call. When I use an EJB in Weblogic to call JVM1, which calls JVM2,
    I get the following exception in JVM1. Has anyone seen this before? Please
    let me know if this does not make sense.
    TIA
    Peter
    java.util.EmptyStackException:
    Start server side stack trace:
    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:
    174)
         at
    weblogic.rjvm.MsgAbbrevInputStream.getMethodDescriptor(MsgAbbrevInputStream
    .java:262)
         at
    weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:140)
         at
    weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:186)
         at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:624)
         at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:581)
         at
    weblogic.rjvm.ConnectionManagerClient.handleRJVM(ConnectionManagerClient.ja
    va:50)
         at
    weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:639)
         at
    weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
         at
    weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:311)
         at
    weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:225)
         at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    Start server side stack trace:
    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:
    174)
         at
    weblogic.rjvm.MsgAbbrevInputStream.getMethodDescriptor(MsgAbbrevInputStream
    .java:262)
         at
    weblogic.rmi.internal.BasicServerRef.dispatch(BasicServerRef.java:140)
         at
    weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:186)
         at weblogic.rjvm.RJVMImpl.dispatchRequest(RJVMImpl.java:624)
         at weblogic.rjvm.RJVMImpl.dispatch(RJVMImpl.java:581)
         at
    weblogic.rjvm.ConnectionManagerClient.handleRJVM(ConnectionManagerClient.ja
    va:50)
         at
    weblogic.rjvm.ConnectionManager.dispatch(ConnectionManager.java:639)
         at
    weblogic.rjvm.t3.T3JVMConnection.dispatch(T3JVMConnection.java:454)
         at
    weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:311)
         at
    weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:225)
         at
    weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace

    Anyone? Should I file a support case?
    Peter
    Peter Mularien <[email protected]> wrote in
    news:[email protected]:
    Hi group -
    We are running the following scenario:

  • Problem calling a session bean (EJB 3.0)

    Hello,
    I'm new to netbeans and J2EE. I'm using NetBeans 5.5 Beta 2 and sun application server 9 pe.
    I created a new enterprise application and i'm trying to access a Session Bean (Remote and Stateless)
    from the app-client (outside the main class).
    This is the loockup method that was generated by the IDE (Enterprise Resources > Call enterprise bean):
    private ejb.SessionBeanDoenteRemote lookupSessionBeanDoenteBean() {
    try {
    javax.naming.Context c = new javax.naming.InitialContext();
    return (ejb.SessionBeanDoenteRemote) c.lookup("java:comp/env/ejb/SessionBeanDoenteBean");
    catch(javax.naming.NamingException ne) {
    java.util.logging.Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
    throw new RuntimeException(ne);
    When I run the application and try to invoke the lookup method my application gets the following exception:
    SEVERE: exception caught
    javax.naming.NameNotFoundException: No object bound to name java:comp/env/ejb/Se
    ssionBeanDoenteBean
    at com.sun.enterprise.naming.NamingManagerImpl.lookup(NamingManagerImpl.
    java:751)
    at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.j
    ava:156)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:307
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at intensivecare.entrada.JDialogEntrada.lookupSessionBeanDoenteBean(JDia
    logEntrada.java:219)
    at intensivecare.entrada.JDialogEntrada.buttonMenuGravarActionPerformed(
    JDialogEntrada.java:79)
    at intensivecare.JDialogWizzard$2.jButtonGravarActionPerformed(JDialogWi
    zzard.java:178)
    at componentes.JTaskPanelMenu$3.actionPerformed(JTaskPanelMenu.java:54)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18
    49)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
    a:2169)
    Please... can someone help me?

    The portable way to acquire the dependency is through java:comp/env or @EJB. Accessing the
    global namespace directly is not recommended. If you use an ejb-ref, you need to define it
    in the component environment within which you'll be looking up the dependency. So if you're
    looking it up from an Application Client, you'll need to define the ejb-ref in application-client.xml.
    Also, the ejb-ref-name is the portion of the string after java:comp/env. There is no automatic
    "ejb" appended to it. If you do ic.lookup("java:comp/env/foo"), your ejb-ref-name would be "foo".
    You can use @EJB but it can only be defined in certain managed classes such as the
    Application Client main class.
    You can find additional info in our EJB FAQ :
    https://glassfish.dev.java.net/javaee5/ejb/EJB_FAQ.html
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How do I call on a specific child in a container

    I am loaded images into a container that is being displayed on a map.  I've created a string of my images names and am looping a loader to load each image and add them to the container.
    var overlays=["compsmall.png","compsmall3.png","compsmall3.png","compsmall4.png"]
    var overlay_container:MovieClip= new MovieClip();
    function calloverlays():void
    for (var i:Number = 0; i < overlays.length; i++)
    var overlay_url = overlays[i];
    var overlay_loader = new Loader();
    overlay_loader.load(new URLRequest(overlay_url));
    overlay_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, overlayLoaded);
    function overlayLoaded(e:Event):void
    var my_overlay:Loader = Loader(e.target.loader);
    overlay_container.addChild(my_overlay);
    Once all of my images are loaded into the container overaly_container how can I call on a specific child of the container?  For example how can I call on compsmall2.png once its been loaded into overlay_container?
    I place these images onto a map by placing the whole container at the correct location.  I then turn layers on/off by adding and removing the children within the container.  This is why I'd like to specify a specific object in the parent.
    Thanks in advance,
    j

    Well, there are better ways given how you're loading - nesting functions is generally frowned upon... but this should get you started anyway. This is a little function that you could use to hide one of your loaded images:
    function hideLayer(image:String){
        var c:int = overlay_container.numChildren;
        for(var i:int = 0; i < c; i++){
            if(Loader(overlay_container.getChildAt(i)).contentLoaderInfo.url.indexOf(image) != -1){
                overlay_container.getChildAt(i).visible = false;
                break;
    and then use like: hideLayer("compsmall2.png");
    But like I said, there are better ways. But you'd need to restructure your code - get rid of the nested functions, and the loop... then load each image one at a time. Then you know the index in the array of the image being loaded and can match that with the index inside the container...

  • Error while calling PI webservice from EJB

    Hi Experts,
    We are getting exception while calling PI webservice from EJB which is deployed in CE 7.2. Earlier we used to call the same webservice but from different PI system at that it worked fine. Now we have changed the consumer proxies required in CE and tried to call from CE and it is throwing error. We have checked usernames and passwords that we are using to call the service and that is working fine. PI team tested from their side and li is also fine. We have also restarted the CE system but invain. Can somebody help on this.  The below is the trace that we got.
    Location: com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding
    Text: Connection IO Exception. Check nested exception for details. (Connection reset).
    [EXCEPTION]
    com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Connection IO Exception. Check nested exception for details. (Connection reset).
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.outputSOAPMessage(SOAPTransportBinding.java:419)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1364)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:990)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:944)
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.processTransportBindingCall(WSInvocationHandler.java:168)
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEISyncMethod(WSInvocationHandler.java:121)
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEIMethod(WSInvocationHandler.java:84)
    at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invoke(WSInvocationHandler.java:65)
    at $Proxy780.mioaRDMDataDistribution(Unknown Source)
    at com.MDMEventListener.callToPIWS(MDMEventListener.java:100)
    at com.MDMEventListener.ListenerMethod(MDMEventListener.java:173)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_WS.invoke(Interceptors_WS.java:31)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:39)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:23)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
    at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
    at com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationContainer.java:203)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessingEnvironment.java:730)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessingEnvironment.java:682)
    at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingEnvironment.java:324)
    at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.java:199)
    at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:65)
    at com.sap.engine.services.webservices.servlet.SoapServlet.doPost(SoapServlet.java:61)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:152)
    at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:38)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:404)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:204)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:440)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:429)
    at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:82)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:268)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:54)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:447)
    at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:264)
    at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:168)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.readLine(HTTPSocket.java:950)
    at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.getInputStream(HTTPSocket.java:414)
    at com.sap.engine.services.webservices.jaxm.soap.HTTPSocket.getResponseCode(HTTPSocket.java:319)
    at com.sap.engine.services.webservices.espbase.client.bindings.ClientHTTPTransport.getResponseCode(ClientHTTPTransport.java:209)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.outputSOAPMessage(SOAPTransportBinding.java:385)
    ... 78 more
    Regards,
    Pradeep

    Hi Pradeep,
    this looks like if the server is not reachable. Have you checked if both server are able to communicate? Maybe firewall rules block the request.
    Regards,
    Tobias

  • Calling stored procedure from EJB in JSever

    I have some trouble to call stored procedure from EJB deployed to JServer on Oracle8i (815).
    I have been able to sucessfully test the stored procedure using thin client JDBC driver. But when I user the default connection in JServer, the stored procedure never got called. Is there any restriction of EJB in JServer?
    Thanks
    null

    Thanks man! that was a great help. looks like i am almost there. i created those items t obe hidden.
    now i am passing three parameters to the procedure. my url for that column value looks like this,
    javascript:P65_PARTITION_ID=#PARTITION_ID#;P65_DBC=#DBC#;P65_FILE_ID=#FILE_ID#;doSubmit('Sku_Save');
    the #DBC# parameter is a name of the person that has spaces(firstname lastname). i am getting a javascript error saying,
    Line: 1
    Char: 37
    Error:Expected ';'
    i see that char 37 is the space after firstname.
    any idea how i should get rid of this error.
    Also, as you have been very helpful, a question further beyond :). the above procedure will return a OUT varchar parameter. i guess i have to create another item for that. how do i read it and display just below my report as text.
    Thanks Again!

  • Connection timed out when making RMI call

    Hello,
    I am using a combination of Spring Remoting and Scheduling with Quartz Timer. Both are using RMI as a communication stack. The RMI server is located in sydney while the client is located in the US. This incurs large network lag which causes my RMI method calls to timeout. I am able to do a lookup on the RMI object and receive a stub reference to it with no problem but as soon as I try to invoke a remote method on that stub it eventually times out.
    Thinking it was truly a timeout issue I implemented a Custom socket factory for RMI using RMISocketFactory.setSocketFactory(new TimeoutSocketFactory(120000));Here is the custom TimeoutSocketFactory:
    public class TimeoutSocketFactory extends RMISocketFactory {
            private int timeout;
            private static final Logger log = Logger.getLogger(TimeoutSocketFactory.class);
            public TimeoutSocketFactory(int timeout) {
                this.timeout = timeout;
            public Socket createSocket(String host, int port) throws IOException {
                log.debug("Creating timeout socket with value - " + timeout);
                Socket ret = getDefaultSocketFactory().createSocket(host, port);
                ret.setSoTimeout(timeout);
                return ret;
            public ServerSocket createServerSocket(int port) throws IOException {
                ServerSocket ss = getDefaultSocketFactory().createServerSocket(port);
                ss.setSoTimeout(timeout);
                return ss;
    }I implemented the custom socket factory both on the RMI server and on the RMI client. This had no effect on the time outs that occured when trying to make an RMI call to the server even though the sockets were being built by this custom class (have logging in place).
    Is there something else I need to do to increase the timeout period? And how do I know if it's a server or a client issue?
    Thanks,
    Anthony Bargnesi
    [Exception StackTrace]
    java.rmi.ConnectException: Connection refused to host: 172.16.10.97; nested exception is:
         java.net.ConnectException: Connection timed out: connect
         at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:574)
         at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
         at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:94)
         at org.springframework.remoting.rmi.RmiInvocationWrapper_Stub.invoke(Unknown Source)
         at com.aquent.rmi.test.RMIClient.connectService(RMIClient.java:46)
         at com.aquent.rmi.test.RMIClient.main(RMIClient.java:81)
    Caused by: java.net.ConnectException: Connection timed out: connect
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
         at java.net.Socket.connect(Socket.java:507)
         at java.net.Socket.connect(Socket.java:457)
         at java.net.Socket.<init>(Socket.java:365)
         at java.net.Socket.<init>(Socket.java:178)
         at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
         at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
         at com.aquent.rmi.test.TimeoutFactory.createSocket(TimeoutFactory.java:21)
         at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:569)

    Well this is a connect timeout, not a read timeout, so it has nothing to do with your socket factory, and your socket factory won't help. It's a connectivity issue. Can you ping that host from the client? Can you telnet to port 7?
    In fact no socket factory will help because there is no way of increasing the connect timeout beyond the default: you can only reduce it.

  • Query UCCX database for calls from a specific Caller ID

    Hi,
    I did some searching and could not find this answer specifically.
    I have a request from the call center supervisor to provide a report of all calls coming into the CSQ's showing all of the important data (date, time, answered, not answered, length of call, disposition, etc.) for calls from a specific caller ID for a specific date range.
    The caller ID starts with 9XX-XXX-XXXX, so of course UCCX Historical Reports will not display this number as a parameter in the Detailed Call by Call CCDR report because I am limited to the first 32,765 rows. I tried modifying the XML file but have not been successful.
    I tried doing a query through the CLI but not sure if I have the query right.
    Any insight?
    Thank you very much.

    I tried modifying the XML file for the Detailed Call CSQ Agent report
    ICD_Detailed_Call_CSQ_Agent_en_us.xml with the following:
    BEFORE:
    SELECT distinct callednumber FROM contactcalldetail
    AFTER:
    SELECT SKIP 10000 FIRST distinct 20000 callednumber FROM contactcalldetail
    Unfortunately, there are no changes in the available parameters shown:
    The number starts with a '9', so I need to skip the numbers that start with 408. Any help?

Maybe you are looking for

  • Voicemail issue - iPhone 4S won't undelete message?

    I accidentally deleted a vociemail. I go to deleted messages and click the voicemail there and then click "Undelete", but it just disappears for a few seconds then reappears in "Deleted Messages". How do I get it back with the rest of my voicemails?

  • Articles on Printing in VC7.0

    I was wondering if anyone had some links to solutions of printing the results of a VC application and it looksing decent.

  • [Solved] xmodmap bug? Remapping Caps Lock doesn't work

    When I program I like to swap these keys: Esc <-> Tab Ctrl <-> Caps Lock In ~/.xmodmap, I have specified these re-mappings: keycode 66 = Control_L keycode 37 = Caps_Lock keycode 23 = Escape keycode 9 = Tab The Escape and Tab keys swaps, no problem, b

  • Missing package... it's been 2 months and still no "refund"

     Hi, Sometime in late March/early April, I filed a missing package report for a pair of headphones I ordered online. Two weeks later, I called up Best Buy about the status of the order, and was told that UPS did an investigation and concluded that th

  • Transferring video from hi8 camcorder

    I have an Sony Hi8 Cancorder that I need to get video off of it.  Is there sofware that will allow me to transfer the video from the hi-8 video to an format that I can then use in final cut pro?