Retrieving client identity during method call

Hy,
I have written an RMI application wich uses JSSE with client authentication. I would like to get the client Identity (Certificate information) each time the client perform a method call.
Can anybody help me?

This is rather complicated but it can be done. You need:
1. an RMIServerSocketFactory which returns
2. a wrapper ServerSocket implementation around a real ServerSocket, which delegates everything to the real ServerSocket except for the accept method, which does the delegation but then wraps the result in
3. a wrapper Socket implementation around the real Socket which delegates everything to the real Socket
except getInputStream, which does the delegation but then wraps the result in
4. a wrapper InputStream implementation around the real InputStream, which delegates everything to the real input stream but which registers the underlying Socket (the delegate, not your wrapper) in a ThreadLocal when any read method is called.
Are you with me so far? ;-)
The registered Socket will really be an SSLSocket. Now, inside your remote method implementation, you can do threadLocal.get() to get the SSLSocket associated with the current client (because you're in the same thread as in (4), because the socket is actually read for the first time in the method despatching thread. You can now do SSLSocket.getSession() and get hold of the client certificates.
Sample of (2) to get you started:
public class WrappedServerSocket extends ServerSocket
SSLServerSocket serverSocket;
public WrappedServerSocket(int port) throws IOException
{ this.serverSocket = SSLServerSocketFactory.createServerSocket(port); }
public Socket accept() throws IOException
  Socket socket = serverSocket.accept();
  return new WrappedSocket(socket);
// all other methods should delegate to serverSocket
}EJP

Similar Messages

  • Error During Method Call in Scripting Host

    Hey all ,
    I am running a webdynpro application , which runs an Ecatt which in turn runs an Underlying SAP GUI recording , and as soon we hit the  SAP GUI command we are getting an Error saying ERROR DURING METHOD CALL IN SCRIPTING HOST.
    As of now we know that this might be a security issue as this was working perfectly fine when we were running on a R3 system.
    If any of you have come across such a situation and was able to find a work around it would be of great help if you respond back as I need this info ASAP.
    Thanks And Kind Regards,
    Nischal

    Hi Lawrence,
    I have analyzed the condition, and come with the conclusion that, when eCATT calls QTP in integrated mode, and downloads the QTP scripts from server to your local machine,  it requires more memory. So try to free memory on C drive and don't keep running more application on the local machine.
    Thanks,
    Mahantesh

  • Error during method call in OLE API

    Hello,
    I am getting an error, 'Error during method call in OLE API', when the QTP script is called from eCATT.
    Does anybody knows the reason for this error?
    Thanks,
    Mahantesh

    Hi Lawrence,
    I have analyzed the condition, and come with the conclusion that, when eCATT calls QTP in integrated mode, and downloads the QTP scripts from server to your local machine,  it requires more memory. So try to free memory on C drive and don't keep running more application on the local machine.
    Thanks,
    Mahantesh

  • RMI server and client in one application - Exceptions during some calls

    I wrote an application, which is an RMI-Server (Server1), and another separate application, which is an RMI-Client (Client1). Because I wont use dynamic class loading, I gave the client beside the interface.java also an interface_implementation.java, which is only a dummy of the original interface_implementation of the server. This dummy contains only declarations of the methods (parameters and return values) and no functional code. From this dummy the _stub.class is generated, and it works fine - no problem.
    Now I want to modify Client1 to become also an RMI-Server (Server2) for a second, separate Client (Client2), the methods used are different from the first RMI connection. This Client2 uses a dummy of the implementation of Server2 in the same way as described above. The application Client1+Server2 only has to "translate" the calls from Client2 to Server2 into calls of Client1 to Server1 (Server1 is not changed at all). In case of primitive method parameters or return values this chain of RMI-applications works fine, but in case of more complex structures (my own classes) during the call of Client1 to Server1 an "ClassNotFoundException: access denied to class loader" occurs by running through the stub. Both stub.classes are found, all of the applications know the objects needed, the call of Client1 to Server1 is exactly the same call as it was during the simple version (only Server1 and Client1).
    Does anybody know, why this exception occurs and how I can overcome this ?
    Axel

    I figured out a solution - it's a problem of policies. In detail: Server1's codebase entry (file:) refers to the class directory of Server1's project. In the simple case of only Client1, which has no codebase entry, it works fine without a file permission on the side of Server1. In the complex case of Client1+Server2, which has to have a codebase entry (file:) refering to the class directory of the Server2's project on a separate machine, for exactly the same method call from Client1 to Server1 a file permission entry on the side of Server1 is needed for Server1's class directory. But WHY ???
    It seems to be a little confusing with the codebase entries, many of the posts are contrary to others and to my personal experiences. Some comments given by Adrian Colley throw a little light upon some aspects. Is there anybody, who can explain the whole topic, when, why, and which part of RMI application deals with codebase entries, also in case of not dynamic code downloading ? May be there is also a reference into the java docs, which I didn't found up to now.
    Thanks in advance
    Axel

  • An exception occurred during the call of a business method

    An unexpected exception occurred during the call of a
    business method...Im calling the business object thru the business Delegate.Im calling the business method with an argument as hash table .. And Im using Oracle 9i application server.. Hash table contains data packed in the form of xml...
    The exception thrown is
    java.lang.IndexOutOfBoundsException int java.io.ObjectInputStream.read(byte[], int, int) ObjectInputStream.java:1808 void oracle.xml.io.XMLObjectInput.ensureCapacity(int) XMLObjectI nput.java:347 byte oracle.xml.io.XMLObjectInput.peekByte() XMLObjectInput.java :163 void oracle.xml.parser.v2.XMLNode.readChildNodes(oracle.xml.io.XM LObjectInput, oracle.xml.comp.CXMLContext) XMLNode.java:1800 void oracle.xml.parser.v2.XMLNode.readChildNodes(oracle.xml.io.XM LObjectInput, oracle.xml.comp.CXMLContext) XMLNode.java:1797 void oracle.xml.parser.v2.XMLNode.readChildNodes(oracle.xml.io.XM LObjectInput, oracle.xml.comp.CXMLContext) XMLNode.java:1797 void oracle.xml.parser.v2.XMLNode.readChildNodes(oracle.xml.io.XM LObjectInput, oracle.xml.comp.CXMLContext) XMLNode.java:1797 void oracle.xml.parser.v2.XMLElement.readExternal(java.io.ObjectI nput) XMLElement.java:1574 int java.io.ObjectInputStream.inputObject(boolean) ObjectInputS tream.java:1212 java.lang.Object java.io.ObjectInputStream.readObject(boolean) ObjectInputSt ream.java:386 java.lang.Object java.io.ObjectInputStream.readObject() ObjectInputStream.ja va:236 void java.util.Hashtable.readObject(java.io.ObjectInputStream) H ashtable.java:799 java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) native code boolean java.io.ObjectInputStream.invokeObjectReader(java.lang.Objec t) ObjectInputStream.java:2214 int java.io.ObjectInputStream.inputObject(boolean) ObjectInputS tream.java:1411 java.lang.Object java.io.ObjectInputStream.readObject(boolean) ObjectInputSt ream.java:386 java.lang.Object java.io.ObjectInputStream.readObject() ObjectInputStream.ja va:236 java.lang.Object com.evermind.server.ejb.EJBUtils.cloneObject(java.lang.Objec t, com.evermind.server.ejb.AbstractEJBHome)

    Carol,
    The file is not being read by the programmer.
    The problem seems to be coming when the code tries to return from an ejb call A hashtable is returned while coming back. In this hashtable, the data is present in the form of XML DOM Object(oracle implmentation, because oracle xml development kit is used). I think this exception is coming when EJB tries to serialise the object to send it back.
    So, this exception is compeletely stemming from internal classes of Oracle
    The code is part of a web project.
    regards,
    Amol Behrani

  • Type conflict during dynamic method call.

    While executing the following program I get the error "Type conflict during dynamic method call.":
    DATA: container_r  TYPE REF TO object,
          grid_r       TYPE REF TO object,
          itab_saplane TYPE TABLE OF saplane.
    * IMPORTANT NOTE: class names must be in UPPER CASE
    DATA: str_cnt TYPE seoclsname VALUE 'CL_GUI_CUSTOM_CONTAINER',
          str_gui TYPE seoclsname VALUE 'CL_GUI_ALV_GRID',
          meth_name TYPE STRING VALUE 'SET_TABLE_FOR_FIRST_DISPLAY'.
    TYPE-POOLS abap.
    DATA: ptab    TYPE abap_parmbind_tab,
          wa_ptab LIKE LINE OF ptab,
          ref     TYPE REF TO data.
    CREATE OBJECT container_r TYPE (str_cnt)
      EXPORTING container_name = 'CUSTOM_CONTROL1'. " Name of the custom control area (UC!)
    * Construct parameter itab
    GET REFERENCE OF container_r INTO ref.
    wa_ptab-name  = 'I_PARENT'.  " Must be upper-case
    wa_ptab-value = ref.
    INSERT wa_ptab INTO TABLE ptab.
    *   EXPORTING i_parent = container_r.
    CREATE OBJECT grid_r TYPE (str_gui)
      PARAMETER-TABLE ptab.
    SELECT * FROM saplane INTO CORRESPONDING FIELDS OF TABLE itab_saplane.
    * Cannot call set_table_for_first_display directly...
    CALL METHOD grid_r->(meth_name)
      EXPORTING I_STRUCTURE_NAME = 'SAPLANE'  " Type of the rows in the internal table  (UC!)
      CHANGING  IT_OUTTAB = itab_saplane.     " The internal table itself
    CALL SCREEN 100.
    Any help would be appreciated!

    Hi ...
    Apologies ... for confusion ... actually both are required ...
    the type 'E' as well as CL_GUI_CONTAINER.
    The below code worked for me ...
    check out how I cast it to the parent class type ...
      DATA : lv_container   TYPE seoclsname VALUE 'CL_GUI_CUSTOM_CONTAINER',
             lv_control     TYPE seoclsname VALUE 'CL_GUI_ALV_GRID',
             lv_method      TYPE string VALUE 'SET_TABLE_FOR_FIRST_DISPLAY',
             lt_par_tab     TYPE abap_parmbind_tab,
             ls_param       LIKE LINE OF lt_par_tab,
             lref_cont      TYPE REF TO cl_gui_container,
             lv_data        TYPE REF TO data.
    CREATE OBJECT lref_container
          TYPE
            (lv_container)
          EXPORTING
            container_name = 'ALV_AREA'.
        ls_param-name = 'I_PARENT'.
        ls_param-kind = 'E'.
        lref_cont ?= lref_container.
        GET REFERENCE OF lref_cont INTO lv_data.
        ls_param-value = lv_data.
        INSERT ls_param INTO TABLE lt_par_tab.
    **  Now create ALV Control.
        CREATE OBJECT lref_alv_ctrl
          TYPE
            (lv_control)
          PARAMETER-TABLE
            lt_par_tab.
    **  Set table for 1st display
        DATA : lv.
        lv = lref_alv_ctrl->mc_fc_print.
        CALL METHOD lref_alv_ctrl->(lv_method)
          EXPORTING
            i_structure_name = 'T001'
          CHANGING
            it_outtab        = lt_company.
    Cheers
    Edited by: Varun Verma on Aug 12, 2008 4:19 PM

  • Non-synchronized client method calls

    hi there,
    i am having following scenario:
    methods provided in the remote interface of a stateful session bean are called by a remote client.. client is using multithreading. now these methods in stateful session forward method calls to a stateless session and then an entity using local interfaces. the point here is that the client only has one object of the stateful session ( obviously an object per user session)
    the problem is that when i call the methods on this object one by one it goes fine. but when in multithreaded client application one method is called by first thread and another by second at the same time, application crashes. and the server tells that client has tried to enter stateful session with different transaction context. does anybody have some idea to solve this problem without having the client to make synchronized calls.
    thanx in advance,
    ra4a

    Hi,
    The Container serializes calls to stateful session beans.And hence your application calling in a multithreaded environment will surely fail.This is because the state of the bean might be corrupt when calls are concurrent.And different applications servers might provide some way of overriding this behaviour..Surely weblogic has got one way..
    Sathya

  • How to refresh table column during button method call ?

    Hi,
    I have one table on my screen in which there are 5 rows.
    One of the column of this table is Status with initial value Not Completed.
    Now when I press submit button my 5 processes are started in for loop one by one.
    After completion of 1st process, I am updating 1st row status with Completed and vise a versa.
    But change is reflected on table after by method call over means if my submit action take 5 minutes to finish all 5 process than after 5 minutes, I can see all rows with status Completed while I want it to reflect as soon as I set its status.
    How can I do this ?
    regards,
    devang

    .. or break up the method in 5 methods (for each process a separate method) and with you button you call the first method. then when at the end of the method you call a javascript which updates the first column to completed and the js calls the second method (with queue of client event and serverListener) ... and so on and so on.
    Really not so cool idea but I think it's achievable:)

  • Best practice for method calling on objects within a collection.

    Hi guys
    As you may be aware, based on my other thread here. I'm designing a card game in Java. I was hoping for some advice on the best practise on how methods should be called on a custom Object contained within a custom Collection.
    I have an instance variable for the Deck class as follows: List<Card> deckWhen creating an instance of the class I use deck = new ArrayList<Card>();So I have a Deck which only holds Card objects. My question is, for the Card methods, should I call them on the Card objects after 'getting' the Cards from the Deck or should I write methods within the Deck class which handles this method calling. Code explanation is as follows:
    Deck standardDeck = new Deck();I want to retrieve the suit value of a card within the deck. Is this the best way to do it this way:
    standardDeck.getCardAt(50).getSuit();
    //getCardAt is a method within the Deck class, getSuit() is a method within the Card classor this way:
    standardDeck.getSuitForCardAt(50);
    //getSuitForCardAt() is a method within the Deck class. This method calls the getSuit() method within its method body.Cheers for any help guys.
    Edited by: Faz_86 on Jul 10, 2010 9:53 AM

    Hey Saish
    Thanks for the response.
    My Card class does indeed override hashCode(), equals() and toString().
    The reason I am asking a card from the deck for its Suit is simply because of the rules of the game being played. The game I made is a 'Card Shredding' game where a player attempts to remove as many cards from their hand during each turn. The first to remove all their cards is the winner.
    When the game starts, two decks are created. A standard 52 card deck and an empty deck. Then 8 cards are dealt to each player and one card is dealt into the empty deck. The suit and value of the card on the empty deck called the 'shredding deck' dictates which moves are valid during each turn; The played card must match the Suit or the Value of the current card on the 'shredding deck'
    For example:
    Card on the empty deck = 8 of Spades
    The only card from a players hand which can be removed are any Spade or an Eight of any suit.
    Going back to the Deck.getSuitOfCardAtIndex(int index) , this method is needed because both the AI player and human player need to have the ability to take a look at the cards which have been added to the 'shredding deck'. Again this is because of the rules of the game. Therefore I need a method to take a look at the Suit and Value for any card in the 'shredding deck'.
    Taking all this into account, so far I have the following in my Deck class. Please comment on my design so far. As you can see I've tried to follow the Law Of Demter by creating many little wrapper methods. I understand totally wh getters and setters are bad but I cannot come up with a design solution to achieve what I need to based on the rules of the game without users getters. - Any tips on this would be great.
         public Card dealCard()
              Card cardToDeal = deck.remove(0);
              return cardToDeal;
         public void addCard(Card usedCard) //This method is used to add 'used' cards to the deck.
              deck.add(usedCard);
         public Card getFaceCard() //Returns the current face up playing card
              Card faceCard = deck.get(deck.size()-1);
              return faceCard;
         public int getFaceCardValue()
              int faceCardValue = deck.get(deck.size()-1).getValue();
              return faceCardValue;
         public int getFaceCardSuit()
              int faceCardSuit = deck.get(deck.size()-1).getSuit();
              return faceCardSuit;
         public String getFaceCardName()
              String faceCardName = deck.get(deck.size()-1).toString();
              return faceCardName;
         public Card getCardAt(int position) //Returns the current face up playing card
              Card card = deck.get(position);
              return card;
         public int getFaceCardValueAt(int position)
              int cardValue = deck.get(position).getValue();
              return cardValue;
         public int getFaceCardSuitAt(int position)
              int cardSuit = deck.get(position).getSuit();
              return cardSuit;
         public String getFaceCardNameAt(int position)
              String cardName = deck.get(position).toString();
              return cardName;
         public int getDeckSize() //When recycling cards, the size of the deck is needed to determine the best time to add more cards.
              return deck.size();
         }

  • Timeout a method call made from an EJB

    Hi,
    Is there a way to implement a timeout in a SOAP method call which I'm invoking from an EJB. I'm trying to use a web service RPC method in my client and I need to know if there is some way by which I can timeout the method invocation.
    For eg, what happens if the web service is down? I want to be able to tell the user that the call did not go through because the web service was down. I'm assuming that I'll have to specify some sort of a timeout period for which the call will wait for a response. If no response is received during this time, I want to say that a timeout occured.
    So, if I do something like
    webServiceA.invokeSoapMethod(parmaeters);
    from an EJB I want that this method should wait for, say 10 seconds, for a response and then say that the call timed out. Is there any way to do such a thing?
    Alternatively, if somebody can give me some pointers to whether SOAP or RPC (or some other component!) specify some way to timeout the RPC call, I'll appreciate that too..:-).
    Thanks in advance..:-)
    Ruchi

    Unfortunetly, I am on the same ship.... has anyone a solution for the same?

  • Import error during PVC call

    hi
    while i am trying to import content for integration repository(mentioned in NW2004s Demo Config guide) i get the following error :
    Internal Error during PVC Call: java.lang.nullpointer exception.
    I have SAP Basis 7 with patch level 6 and i have downloaded the content file XI7_0_SAP_BASIS_7.00_06_00.tpz
    The elaborate error is
    #5 12:59:17 [AWT-EventQueue-0] ERROR com.sap.aii.utilxi.swing.toolkit.ExceptionDialog: Throwable
    Thrown:
    MESSAGE ID: com.sap.aii.ib.server.propagation.rb_propagation.ERR_PVC
    com.sap.aii.utilxi.misc.api.ResourceException: Internal error during pvc call: java.lang.NullPointerException
         at com.sap.aii.ib.server.transport.impl.pvc.PvcTransport.throwRootCause(PvcTransport.java:448)
         at com.sap.aii.ib.server.transport.impl.pvc.PvcTransport.pvcImport(PvcTransport.java:133)
         at com.sap.aii.ibrep.server.transport.impl.pvc.RepPvcTransport.pvcImport(RepPvcTransport.java:108)
         at com.sap.aii.ibrep.server.transport.impl.service.InternalRepTransportServiceImpl.pvcImport(InternalRepTransportServiceImpl.java:184)
         at com.sap.aii.ib.server.transport.impl.service.InternalTransportServiceImpl.importZippedStream(InternalTransportServiceImpl.java:704)
         at com.sap.aii.ib.server.transport.impl.service.InternalTransportServiceImpl.importFromImportSource(InternalTransportServiceImpl.java:361)
         at com.sap.aii.ib.server.transport.impl.service.TransportServiceImpl.importFromImportSource(TransportServiceImpl.java:151)
         at com.sap.aii.ib.sbeans.transport.TransportServiceBean.importFromImportSource(TransportServiceBean.java:74)
         at com.sap.aii.ib.sbeans.transport.TransportServiceRemoteObjectImpl10.importFromImportSource(TransportServiceRemoteObjectImpl10.java:730)
         at com.sap.aii.ib.sbeans.transport.TransportServiceRemoteObjectImpl10p4_Skel.dispatch(TransportServiceRemoteObjectImpl10p4_Skel.java:98)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java)
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java)
    Serialized server exceptions:
    MESSAGE ID: com.sap.aii.ib.server.propagation.rb_propagation.ERR_PVC (serialized)
    com.sap.aii.ib.server.propagation.XIPropagationException: Internal error during pvc call: java.lang.NullPointerException
         at com.sap.aii.ib.server.propagation.XIPropagationException.createFromException(XIPropagationException.java:66)
         at com.sap.aii.ib.server.propagation.Propagator.importXiContent(Propagator.java:165)
         at com.sap.aii.ib.server.transport.impl.pvc.PvcTransport.pvcImport(PvcTransport.java:104)
         at com.sap.aii.ibrep.server.transport.impl.pvc.RepPvcTransport.pvcImport(RepPvcTransport.java:108)
         at com.sap.aii.ibrep.server.transport.impl.service.InternalRepTransportServiceImpl.pvcImport(InternalRepTransportServiceImpl.java:184)
         at com.sap.aii.ib.server.transport.impl.service.InternalTransportServiceImpl.importZippedStream(InternalTransportServiceImpl.java:704)
         at com.sap.aii.ib.server.transport.impl.service.InternalTransportServiceImpl.importFromImportSource(InternalTransportServiceImpl.java:361)
         at com.sap.aii.ib.server.transport.impl.service.TransportServiceImpl.importFromImportSource(TransportServiceImpl.java:151)
         at com.sap.aii.ib.sbeans.transport.TransportServiceBean.importFromImportSource(TransportServiceBean.java:74)
         at com.sap.aii.ib.sbeans.transport.TransportServiceRemoteObjectImpl10.importFromImportSource(TransportServiceRemoteObjectImpl10.java:730)
         at com.sap.aii.ib.sbeans.transport.TransportServiceRemoteObjectImpl10p4_Skel.dispatch(TransportServiceRemoteObjectImpl10p4_Skel.java:98)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java(Compiled Code))
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java(Inlined Compiled Code))
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java(Compiled Code))
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code))
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    Caused by: com.sap.aii.utilxi.misc.api.BaseException: Internal error during pvc call: java.lang.NullPointerException
         at com.sap.aii.ib.server.propagation.XIPropagationException.wrapRawException(XIPropagationException.java:149)
         ... 21 more
    MESSAGE ID: com.sap.aii.ib.server.propagation.rb_propagation.ERR_PVC (serialized)
    com.sap.aii.utilxi.misc.api.BaseException: Internal error during pvc call: java.lang.NullPointerException
         at com.sap.aii.ib.server.propagation.XIPropagationException.wrapRawException(XIPropagationException.java:149)
         at com.sap.aii.ib.server.propagation.XIPropagationException.createFromException(XIPropagationException.java:66)
         at com.sap.aii.ib.server.propagation.Propagator.importXiContent(Propagator.java:165)
         at com.sap.aii.ib.server.transport.impl.pvc.PvcTransport.pvcImport(PvcTransport.java:104)
         at com.sap.aii.ibrep.server.transport.impl.pvc.RepPvcTransport.pvcImport(RepPvcTransport.java:108)
         at com.sap.aii.ibrep.server.transport.impl.service.InternalRepTransportServiceImpl.pvcImport(InternalRepTransportServiceImpl.java:184)
         at com.sap.aii.ib.server.transport.impl.service.InternalTransportServiceImpl.importZippedStream(InternalTransportServiceImpl.java:704)
         at com.sap.aii.ib.server.transport.impl.service.InternalTransportServiceImpl.importFromImportSource(InternalTransportServiceImpl.java:361)
         at com.sap.aii.ib.server.transport.impl.service.TransportServiceImpl.importFromImportSource(TransportServiceImpl.java:151)
         at com.sap.aii.ib.sbeans.transport.TransportServiceBean.importFromImportSource(TransportServiceBean.java:74)
         at com.sap.aii.ib.sbeans.transport.TransportServiceRemoteObjectImpl10.importFromImportSource(TransportServiceRemoteObjectImpl10.java:730)
         at com.sap.aii.ib.sbeans.transport.TransportServiceRemoteObjectImpl10p4_Skel.dispatch(TransportServiceRemoteObjectImpl10p4_Skel.java:98)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java(Compiled Code))
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java(Inlined Compiled Code))
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java(Compiled Code))
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code))
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    MESSAGE ID: com.sap.aii.ib.core.versioning.TransactionSyncException (serialized)
    com.sap.aii.utilxi.misc.api.BaseRuntimeException: java.lang.NullPointerException
         at com.sap.aii.ib.server.pvcadapt.PvcTxControlHelper.finishPvcSession(PvcTxControlHelper.java:388)
         at com.sap.aii.ib.server.propagation.Propagator.importXiContent(Propagator.java:157)
         at com.sap.aii.ib.server.transport.impl.pvc.PvcTransport.pvcImport(PvcTransport.java:104)
         at com.sap.aii.ibrep.server.transport.impl.pvc.RepPvcTransport.pvcImport(RepPvcTransport.java:108)
         at com.sap.aii.ibrep.server.transport.impl.service.InternalRepTransportServiceImpl.pvcImport(InternalRepTransportServiceImpl.java:184)
         at com.sap.aii.ib.server.transport.impl.service.InternalTransportServiceImpl.importZippedStream(InternalTransportServiceImpl.java:704)
         at com.sap.aii.ib.server.transport.impl.service.InternalTransportServiceImpl.importFromImportSource(InternalTransportServiceImpl.java:361)
         at com.sap.aii.ib.server.transport.impl.service.TransportServiceImpl.importFromImportSource(TransportServiceImpl.java:151)
         at com.sap.aii.ib.sbeans.transport.TransportServiceBean.importFromImportSource(TransportServiceBean.java:74)
         at com.sap.aii.ib.sbeans.transport.TransportServiceRemoteObjectImpl10.importFromImportSource(TransportServiceRemoteObjectImpl10.java:730)
         at com.sap.aii.ib.sbeans.transport.TransportServiceRemoteObjectImpl10p4_Skel.dispatch(TransportServiceRemoteObjectImpl10p4_Skel.java:98)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java(Compiled Code))
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java(Inlined Compiled Code))
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java(Compiled Code))
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code))
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    Any help would be great
    Thanks
    Jonu

    Hi Jonu,
    Just ask your Basis team to have a look at this as it could be that they have missed something during the installation.
    Regards,
    Abhy

  • Error in BPM: "COMMUNICATION FAILURE" during JCo call. Error opening an RFC

    hello experts
    i am receiving the above error incase of BPM scenario where i am having a Transform step and synchronous RFC step.
    i referred to the few threads discussing such problems and was trying to find whether my mapping is correct and i tested my mappings using my payload which looks good.
    When looked into the Mapping trace of the BPM "Show container" i found error ""COMMUNICATION FAILURE" during JCo call. Error opening an RFC connection" and it seems that when BPM is attempting to call interface mapping it is throwing this error.
    Thanks in advance.
    Regards
    rajeev

    hi,
    I think no problen with the mapping part,
    jco connection requird when xi try to stablish the connection with the adapter .
    please look the link provided.
    Setup and test SAP Java Connector outbound connection
    please also check the following parameter at the exchange profile
    com.sap.aii.rwb.server.centralmonitoring.r3.ashost
    com.sap.aii.rwb.server.centralmonitoring.r3.client
    com.sap.aii.rwb.server.centralmonitoring.r3.sysnr
    com.sap.aii.rwb.server.centralmonitoring.httpport
    these parameter must be given properly.
    if every thing is ok than and problem still exist than try to restart the system.
    for us after restarting its worked fine.
    regards,
    navneet

  • Error during webservice call

    Hi all,
    Has anyone worked on Inspire. I am working on a typical scenario integration on primavera with PS.
    But when I do start sync I get " could not start Synch. Error during webservice call"
    When I check Sender SOAP CC in SAP PI in RWB , I get no information. It's status is green and no logs. Also SXMB_moni has no logs.
    Is there a problem with my Sender SOAP CC confihuration .or application has failed
    Can anyone help me on this.
    Regards,

    Hi,
    I tried to reach the URL using SOAPUI but got the following error :
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Application:STREAM_TRANSFORMATION_EX:
         at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:1193)
         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:592)
         at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
         at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
         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:38)
         at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
         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:21)
         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:16)
         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:133)
         at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
         at $Proxy1413.process(Unknown Source)
         at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:287)
         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:592)
         at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
         at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
         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:38)
         at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
         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:21)
         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:16)
         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:133)
         at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
         at $Proxy788.process(Unknown Source)
         at com.sap.aii.adapter.soap.web.MessageServlet.callModuleProcessor(MessageServlet.java:187)
         at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:513)
         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.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:162)
         at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:81)
         at com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:124)
         at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:468)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:399)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:388)
         at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)
         at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
         at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:84)
         at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
         at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:244)
         at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
         at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)
         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:43)
         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:428)
         at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:247)
         at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)
         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:327)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    What could  be the issue. Plz help

  • HTTP-Client: exception during receive: HTTP_COMMUNICATION_FAILURE

    Hi,
    I am getting the following error in XI 3.0 SP12.
    This error is occured in the Call Adapter step.
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">CLIENT_RECEIVE_FAILED</SAP:Code>
      <SAP:P1>108</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error when receiving by HTTP (error code: 108, error text: )</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    and in the trace of that messages the error is as follows:
    System_Error  HTTP-Client: exception during receive: HTTP_COMMUNICATION_FAILURE
    The scenario is a BPM in which calling a BAPI using RFC adapter Synchronously and after getting the response from BAPI generating a file for that response data.
    I think message is failing in receiving response from BAPI.
    Kindly reply me back ASAP.
    Thanks
    Gopesh

    Hi,
    Can you check SICF services are active or not. in Transaction SICF.
    Also Check the HTTP ports (using transaction SMICM –choose Services),
    Check RFC adapter Configuration, Gateway, etc
    Regards,
    moorthy

  • Method calling

    Hello,
    I have a problem in calling a method in say ClassA from ClassB. In my scenario, ClassA knows the name of the calling class, namely ClassB as it has been stored only as a string variable.
    So, In ClassA, I have a declaration statement like
    String name=classB;
    And I also know the method in classB to be called, say classB.run( ). But, I cant create an object of classB and call its method directly from classA, as I have the classname (classB) only as a value of string variable in classA. This is because, the classname (classB) is known only during runtime, thatis in my case, the classname is a value of an attribute in a xml file that is collected during parsing and rendering stage.
    So, can anyone please guide to further proceed with my work.
    Thank you,
    Shiv.

    You can use the reflection API for this:
         * Instantiate Java object from a class by calling the constructor that matches the given parameters.
         * @param className
         * @param classes Constructor parameter types (class names).
         * @param values Constructor parameter values.
         * @return Java object.
         * @throws ClassNotFoundException if class can't be found in classpath.
         * @throws NoSuchMethodException if there's no constructor with the given types.
         * @throws InvocationTargetException if the constructor throws an exception.
         * @throws IllegalAccessException if access to the constructor is denied.
         * @throws InstantiationException if the class is abstract and therefore can't be instantiated.
         * @since 1.8.3
        static public Object getInstance(String className, Class[] classes, Object[] values) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
            Object result = null;
            if (className != null) {
                Class c = Class.forName(className);
                if (classes != null && values != null) { //constructor with arguments:
                    Constructor cc = c.getConstructor(classes);
                    result = cc.newInstance((Object[]) values);
                } else { //empty constructor:
                    result = c.newInstance();
            }//else: input unavailable
            return result;
        }//getInstance()
         * Call a (non-static) Java method.
         * @param instance Java object created via the instantiate() method.
         * @param methodName Name of instance method.
         * @param classes Optional method parameter types.
         * @param values Optional method parameter values.
         * @return Result of method call.
         * @throws ClassNotFoundException if parameter type can't be found in classpath.
         * @throws NoSuchMethodException if <i>methodName</i> is invalid.
         * @throws InvocationTargetException if the method throws an exception.
         * @throws IllegalAccessException if access to the method is denied.
         * @since 1.8.3
        static public Object call(Object instance, String methodName,  Class[] classes, Object[] values) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
            Object result = null;
            if (instance != null && methodName != null) {
                Method method = instance.getClass().getMethod(methodName, classes);
                result = method.invoke(instance, (Object[]) values);
            }//else: input unavailable
            return result;
        }//call()

Maybe you are looking for

  • Ipod touch shows up under devices on the left in itunes, but only shows "ipod" to the right

    I have an ipod touch 4th generation 64 gb. I connected to iTunes using usb cord. normally, the device shows up in the left hand column of itunes. then on the right, you have the ipod info - summary- music- apps, etc. however, the only thing i get on

  • ERROR 2122: PLEASE HELP IN ANYWAY

    Ok, I've just about had it with Apple. But anyways, thats not the problem. The problem is, when i go to burn a CD, the error 2122 comes up and wont allow me to burn. I don't know what this problem is. And Apple won't get back to me, so if anyone has

  • External Editor Doesn't Update Aperture 3 mage

    Relatively new to Mac. Using Aperture 3 with Photoshop Elements 9 selected as the external editor. First time to try external editing. Seleted "edit in external editor" and Aperture makes a new version and Photoshop Elements 9 opens up with the selec

  • Unable to view the photos

    hello, i am unable to view the photo on the home page of the portal instead i see only x symbol instead of the picture. is there any option to view the picture. reply me cheers kris

  • 10GB iPod w. Firewire and connecting to iVoice sound system

    I have a relatively old iPod with row of four touch button controls above the track wheel. It was purchased in Dec 04 and I believe it's a third generation iPod. It connects to my iMac via a Firewire connection. When I dock it into the iVoice speaker