Synchronous-Asynchronous Interface with Java Proxy

Hi Gurus!!
I have an Interface which begins on SAP with a call to an asynchronous ABAP Proxy . Xi sends the message to Java Proxy Server. This Java Proxy Server calls to a Java Proxy Client that sends the response to SAP through XI. This response is taken on SAP on ABAP Proxy Inbound.
These arquitechture is a requirement, because the time between the request and the response could be 30 minutes and the user shouldn't be waiting the response synchronously.
Is there any way to the user could manage the response in the same "thread" that he opened in the request?
I hope have been clear enough.
Thanks and regards,
Manuel Míguez.

The only possibility I could think of is using correlation. There also you have the limitation of java proxy as it does not support adapter modules. Could you use SOAP for your scenario?
JMS receiver could use inherent properties to define correlations. But as your case is non-JMS, you have to define it manually. Say, if your receiver system is X, then the request from XI to system X should carry its message ID information. While X created the response message, it should use this message ID as the correlation ID for the response message. This could be achieved using an adapter module.
I guess you were not looking for such a complex solution.
Regards,
Prateek

Similar Messages

  • Synchronous / Asynchronous Interface

    I am kinda confused about Synchronous interface/asynchronous.. When we talk about synchronous are we talking synchronous for the entire interface (From Sender system to XI to Receiver system) or we are just referring to Connection with XI system?
    If somebody can explain a classic synchronous and asynchronous scenario with a good example, I would really appreciate it..

    > I am kinda confused about Synchronous
    > interface/asynchronous.. When we talk about
    > synchronous are we talking synchronous for the entire
    > interface (From Sender system to XI to Receiver
    > system) or we are just referring to Connection with
    > XI system?
    XI decouples the sender and receiver of messages through interfaces. So, if the interface for the sender (called outbound interface) is synchronous, the sender is blocking on the request and the sender expects a response from XI synchronously.
    Consider
    System A -> XI -> System B
    If A's interface in XI is synchronous, then XI has to send a response to A synchronously. However XI may have an asynchronous interface with B. i.e. XI may post a message to B and may not expect a response from B. But A will not care what kind of processing happened between and B as long as A got a response back.

  • Synchronous - asynchronous interface (RFC - XI - jdbc)

    hello to everybody!
    i want configure a synchronous - asynchronous interface (RFC - PI - jdbc) whit my PI 7.1
    This RFC send 2 output tables to PI/XI and i want write it into 2 different tables in a SQL Server Database.
    How can i do it?
    i tried whit one mapping to a unique outbound datatype...but only header table was insert and not rows.
    i tried whit 2 Receiver Interfaces but i have on mapping the follow error:
    Multiple inbound interfaces not supported for synchronous calls
    so??
    other possibility?
    BPM?
    please help me
    Thanks
    Alessandro

    Hi,
    I have a similar problem; I have JMS - PI - RFC synchronous scenario. I will receive message from JMS, and depending on the data received, I should call either of two RFCs (NOT BOTH). The BAPI return message should then be sent back to JMS.
    Hence, I have one "Sender/Outbound" Message Interface, one receiver determination for that Message Interface - in which there is "one" receiver (backend SAP system).
    In "Interface Determination", I specifed the two BAPIs as two Interfaces, and defined conditions based on "context objects" - since I need to know the Interface Mapping "dynamically"
    However, I get the error - "Multiple inbound interfaces not supported for synchronous calls ". any suggestions on how to proceed?
    I am posting this question here as it is a related issue. Hope it is fine.
    Thanks,
    Archana

  • Is anyone know how to run the examples in 3d user interfaces with java 3d

    hi dear ,
    I am trying to run the examples in 3d user interfaces with java 3d.
    I hope i can load the library in jcreator. but the libarary for this book are classes files , it do not have jar file for it . the jcreator do not read these classes . i do not know why ? i am wonder if there any one run these code before can give me some idear .
    thanks so much .
    the code u can get from this link.
    http://www.manning.com/books/barrilleaux/source
    thank you for u to have a look for me .
    regards
    xiaocui

    <h2>{color:red}CROSS POSTED{color}</h2>
    [t-5289810]
    Cross posting is rude.
    db

  • Message Inbound with Java Proxy

    Hi all,
    I try looking for java proxy example code to write a whole inbound message into file. But I can't to find it. I try with these blogs but still confuse.
    /people/prasad.ulagappan2/blog/2005/06/27/asynchronous-inbound-java-proxy
    /people/rashmi.ramalingam2/blog/2005/06/25/an-illustration-of-java-server-proxy
    Could you please to help and give me a example code?
    Thanks and Regards
    Park

    Hi,
    Refer this link
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d06315a6-e66e-2910-039c-ba8bbbd23702
    I hope this would help you

  • Problem with Java Proxy and Socket Connection

    Hi Gurus!!
    I have developed a Java Proxy that connects via socket with a Server Socket application. This Server Socket application accepts more than one connection at the same time.
    When I connect the first time from my Java Proxy, the connection is correctly established. When the first connection opened, if a try a second connection, this is not established.
    I use "new Socket(SocketServer,SocketPort);" to open the connection.
    I think that all time the Java Proxy is trying to open the same connection, and this is a problem.
    Is there a way to indicate to the server that is a new connection and that the existing connections remain?
    Anybody could help me, please?
    Thanks and regards,
    Manuel Míguez.

    Sorry!!!!i must give you more information.
    The error which i have when i push the submit button is
    HTTP Status 404 -
    type Status report
    message
    descriptionThe requested resource () is not available.
    GlassFish Server Open Source Edition 3.0.1
    My thought is that the error is in this line
    String connectionURL = "jdbc:mysql://localhost/mybooking";in mysql when i write this code then the table opens with no problems:
    mysql>show databases;
    mysql>usebooking;
    mysql>showtables;
    mysql>describe booking;Furthermore i have added in my web application the library mysql JDBC driver my-sql-connector-java-5.1.6.bin.jar
    Edited by: 813355 on Nov 22, 2010 1:50 AM
    Edited by: 813355 on Nov 22, 2010 2:00 AM

  • RFC lookup with java proxy class, how do I use "fromXml()"?

    Hi,
    I'm trying to do an RFC lookup in XI using java proxy classes (SAP Enterprise Connector).
    The XMLPayload comes from a java proxy class which has been converted to xml using a method called
    .fromXml() for this. I just don't know how to use and I can't find any documentation for it.
    Would very much appreciate if someone could provide me with an example of how to use this class
    Best Regards
    Olof Trönnberg

    http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStreamer.html#fromXML(com.thoughtworks.xstream.io.HierarchicalStreamDriver,%20java.io.Reader)

  • Porblem with Java Proxy EJB deploy to XI through NWDI

    Situation - I have a web app in Server A (WAS7), it needs to call a java proxy in Server B (XI WAS7). I want to deploy the Java Proxy EJB into the landscape using NWDI. To do this I created an external library with public parts that contains the required jars to build the java proxies. These are aii_msg_runtime.jar, aii_proxy_xirt.jar, and aii_utilxi_misc.jar. The EJB module used part is mapped to the library's public parts. Everything builds fine and the deployment was successful into XI.
    Problem - When my web application makes a remote call to the java proxy in XI, NoClassDefFoundError occurs. The first jar that it complain about was aii_util_cimaccess.jar. I included this jar into the library and redeployed. Called the java proxy again, and got another NoClassDefFoundError exception. Now it wanted the lrcclient.jar. I included that into the library and redeployed. Now it wanted another jar. The issue is that all these jars are in the XI server and I shouldn't have to add them as part of the library. Is there a SCA out there that contains these jars, or did I just forget to mark a checkbox somewhere when creating the EJB so that it would reference the XI jars without me adding them to the library?
    Note - This architecture works fine without having to add the jars above, if I deploy the Java Proxy EJB from my workspace to XI through the SDM process available through NWDS. This only breaks when I deploy through NWDI.
    Thank you in advance.

    HI,
    please see the below link
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bc7f08e1-0901-0010-b1bd-80966009d8f0
    http://help.sap.com/saphelp_nw2004s/helpdata/en/40/00be09879f114aa1ec46c2afa4445b/frameset.htm
    To add On-
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9221b490-0201-0010-0e90-8cc75cde876c
    http://help.sap.com/saphelp_webas630/helpdata/en/cb/f4bc3d42f46c33e10000000a11405a/content.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/eaeb475d-0c01-0010-f5a4-d7a8eb185793
    Regards
    Chilla

  • Send JDBC Data with Java Proxy

    Hello,
    I Have generated a Java Proxy. And the Data Source is a JDBC Table like:
    VALUE01--VALUE02--VALUE03
    ROW1-Test1----Test1----Test1
    ROW2-Test2----Test2----Test2
    Now i can set the Datatypes in XI Proxy with
    TYPE.setVALUE01("Test1");
    TYPE.setVALUE02("Test1");
    TYPE.setVALUE03("Test1");
    so i can send a XML like
    <TYPE>
    <VALUE01>Test</VALUE01>
    <VALUE02>Test</VALUE02>
    <VALUE03>Test</VALUE03>
    </TYPE>
    My Problem is to send a XML Data like
    <TYPE>
    <VALUE01>Test1</VALUE01>
    <VALUE02>Test1</VALUE02>
    <VALUE03>Test1</VALUE03>
    </TYPE>
    <TYPE>
    <VALUE01>Test2</VALUE01>
    <VALUE02>Test2</VALUE02>
    <VALUE03>Test2</VALUE03>
    </TYPE>
    How can is send more than one item throw XI Proxi?
    Any Idea or Documentation?
    Regards,
    Robin

    Hi Robin,
    Hope these links provide good help
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/java proxies and sap xi - the inside story, part 1.pdf
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/java proxies and sap xi - the inside story, part ii.pdf
    Regards
    Vishnu

  • Rich User interfaces with Java article

    http://www.theserverside.com/articles/article.tss?l=RiA

    Vic,
    Since you're referring people to (your article on) TheServerSide Web site, maybe you should also mention Debu Panda's blog on Using a BLOB data type in a CMP Entity Bean (<-- that's a link to the Web page)
    Good Luck,
    Avi.

  • Using a java proxy with XI to execute a Script located in external server

    HI
    I have recived help from here about this. But i don´t know how to work with java proxy. Is someone there who can help me in it.
    Many thanks in advance.
    Noelia

    Hi Noelia,
    You can have 2 types of Java proxies viz. client(putting data into xi pipeline) & server (xi pipeline sends request to these proxies.)
    From system point of view, the requirements vary in case of these two. for server proxies you can have a webas java business system and associated technical system in sld.in case of client proxies, refer SAP note #809420.
    The basic difference between ABAP proxies and Java proxies is ABAP proxies reside on the perticular application system(CRM or R/3) but java proxies reside on SAP Web AS J2EE stack of your XI server.
    Just search SDN pointers on Java proxy developement and you will get good pointers. There is one How-to guide on service marketplace by the name "HowToWorkWithJavaProxies.pdf".
    Regarding your dev environment, you can always make use of NWDS, you need to be very much familier with EJB concepts and deployment. Check help.sap.com for more details.
    Java Proxies and SAP XI - The Inside Story, Part 1
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    Java Proxies and SAP XI - The Inside Story, Part II
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    SAP XI 1.0 Configuring your PC or Laptop as a Java Receiving System
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f5b19b90-0201-0010-9bb0-81c235713d8d
    Also go through these links:
    /people/prasad.ulagappan2/blog/2005/06/27/asynchronous-inbound-java-proxy
    /people/rashmi.ramalingam2/blog/2005/06/25/an-illustration-of-java-server-proxy
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501
    http://help.sap.com/saphelp_nw2004s/helpdata/en/97/7d5e3c754e476ee10000000a11405a/frameset.htm
    Here you can download code samples for inbound and outbound Java Proxies which you can use together with the Flight Booking Scenario.
    http://de.geocities.com/stefan_grube/JavaProxyExample.zip
    I hope it helps........
    Regards,
    Abhy

  • Client java proxy with inside story docu

    Hi
    i am following client JAVA Proxy inside story 1, 2 refering to how to work with java proxy.
    just look at the following source;
    in InvokeProxy Class
    Context ctx = new InitialContext(p);
    remote = MIProxyUserSyncOut_PortTypeHome.create();
    DTProxyUser_Type dt = new DTProxyUser_Type();               
    dt.setUsername("name");
    dt.setPassword("password");
    DTProxyUserDBResponse_Type dtpUserR = new DTProxyUserDBResponse_Type();
    dtpUserR = MIProxyUserSyncOut_PortTypeRemote.mIProxyUserSyncOut(dt); , this code will calling this method(
    mIProxyUserSyncOut in MIProxyUserSyncOut_PortTypeBean),
    and then is calling  MIProxyUserSyncOut_PortType.mIProxyUserSyncOut(mTProxyUser)
    public DTProxyUserDBResponse_Type mIProxyUserSyncOut(DTProxyUser_Type mTProxyUser)
         throws SystemFaultException, ApplicationFaultException {
         BaseType $result = null;
              try {
                   MIProxyUserSyncOut_PortType.MTProxyUser_Message request$ = new MIProxyUserSyncOut_PortType.MTProxyUser_Message();
                   request$.setMTProxyUser(mTProxyUser);
    <b>==>error</b>          $result = send$(request$, "http://test.com/test02", "MI_Proxy_User_Sync_Out", "MI_Proxy_User_Sync_Out", new MIProxyUserSyncOut_PortType.MTProxyUserDBResponse_Message());
              }catch (ApplicationFaultException e){
               throw createExceptionWrongExceptionType$(e);
    the error message is below;
    RemoteException occurred: EJB Exception: ; nested exception is:
            java.lang.NoClassDefFoundError: com/sap/aii/utilxi/prop/rprof/ExchangeProfileR3PropertySource
    does anyone has surch experience?
    thanks
    venjamin

    answerd

  • EJB Module creation in case of Java proxy

    Hello
    This question might look irrelevant in this forum but its required when we are dealing with Java proxy. I generated Java proxies of my interface which creates around 8 java classes and which supports EJB 2.0 specifications.
    In Netweaver Developer Studio (NWDS) I tried to create a EJB Module project and imported these classes into that.Also I manually modified ejb-jar.xml to include the references of Home and Remote Interfaces and bean class.The problem is its not allowing me to create ejb jar of it (the option Built EJB Archive is disabled when right clicked on EJB Module Project).
    Waiting for your reply.
    Regards
    Rajeev

    Same thing I solved by closing NWDS, restarting cluster, open NWDS.
    You assigned your bean to ejb-jar.xml?
    If you have any errors in task list then the option is also disabled.
    Dominik

  • Generating Java Proxy

    I am having some problems generating a particular java proxy... I've developed several
    others without trouble...I suspect the issue is in the imported WSDL.
    I have imported an existing WSDL into the "External Definitions" section of
    Interface Objects in the Integration Builder ...no problems and the
    "Messages" tab properly shows one message. I also checked the rendered
    WSDL text on the "WSDL" tab and all looks fine. Note that this WSDL comes from a working web service that is running on a JBoss Applicatino server.
    Next I create a Message Interface using this imported WSDL to define my
    "Input" message - since this is Async, there is no corresponding "Response"
    message - all this goes fine.
    Finally, I right mouse click on the Message Interface to generate the Proxy
    and at the last step after selecting the MI I get the following message from SAP:
    Unable to generate proxies Construct <part type ="....">
    not supported (path: <portType http://ram.proxy.test:B2B_JAVA_PROXY_GenerateStatements_MI>
    <message http://ws.ferg.com/:GenerateStatements_getStatementInfo>)
    The raw WSDL from the External Definitions "WSDL" tab is:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.ferg.com/">
    <wsdl:types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap11enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://ws.ferg.com/types" targetNamespace="http://ws.ferg.com/types">
    <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    <xsd:complexType name="ArrayOfstring">
    <xsd:complexContent>
    <xsd:restriction base="soap11enc:Array">
    <xsd:attribute ref="soap11enc:arrayType" wsdl:arrayType="string[]" />
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://ws.ferg.com/types">
    <xsd:complexType name="GenerateStatements_getStatementInfo">
    <xsd:sequence>
    <xsd:element name="String_1" type="xsd:string" />
    <xsd:element name="arrayOfString_2" type="ns2:ArrayOfstring" />
    <xsd:element name="arrayOfString_3" type="ns2:ArrayOfstring" />
    <xsd:element name="String_4" type="xsd:string" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    </wsdl:types>
    <wsdl:message name="GenerateStatements_getStatementInfoResponse" />
    <wsdl:message name="GenerateStatements_getStatementInfo">
    <wsdl:part name="GenerateStatements_getStatementInfo" type="GenerateStatements_getStatementInfo" />
    </wsdl:message>
    </wsdl:definitions>
    My runtime environment info is:
    Runtime Environment
    Java version:
    1.6.0_07
    Java vendor:
    Sun Microsystems Inc.
    Version
    Service pack:
    13
    Release:
    NW04S_13_REL
    Latest change:
    34074
    Any ideas would be appreciated ! Seems that if SAP was
    going to have trouble with this WSDL it should have complained much earlier like when I imported the WSDL in the first place ...very frustrating !
    Rod

    According to this document
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2089f29b-b10a-2a10-5297-e258df0c1bfc
    the syntax
    <wsdl:part name="GenerateStatements_getStatementInfo" type="GenerateStatements_getStatementInfo" />
    is not supported for java proxies.
    Unfortunately, u will have to edit the wsdl for working with java proxy.
    Regards,
    Prateek

  • How to generate java proxy in PI 7.1

    Hi All,
    How do I generate java proxy in PI 7.1
    I am unable to see the "Generate Java Proxy" in the Tools menu in the Integration Builder
    Edited by: Piyush Mathur SAP on Apr 15, 2010 11:14 AM
    Edited by: Piyush Mathur SAP on Apr 15, 2010 11:14 AM

    hi ,
    As mentioned in the Question, I am unable to find the "Java Proxy Generattion" link in the Int builder.
    Also the help doc says:
    Java proxy generation is no longer supported in subsequent releases. For new developments or when making significant changes to a service interface, use Java proxy generation in SAP NetWeaver Studio instead. More information: Creating Outside-In Web Services, SAP NetWeaver Developer Studio.
    Does that mean that I can no longer generate java proxy from Int builder?
    regards,
    Piyush

Maybe you are looking for