RFC calls & Synchronous Client Proxy

If I want to execute a Synchronous Client Proxy, sending request to XI and waiting for response from XI, do I HAVE TO define and import a RFC structure ?
My doubt is whether implementing RFC is a must in this case, or we can just define a equivalent structure (to the RFC structure: request & response), define all the mapping and create the proxy accordingly and it will work?
Your help is appreciated.

Hi!
No, you don't need to do that. Simply define your interface and generate proxies.
Peter

Similar Messages

  • Synchronous Client Proxy to JDBC !!

    Hi,
    My scenario is like this:
    I am working on a synchronous scneario where SAP is sending
    using synchronous client proxy to a database and after uploading
    of data on JDBC side, the response(Success/Failure) flag has to be
    sent back to SAP.
    Please let me know how this scneario can be designed and if BPM is required here.
    Thanks...

    Hi,
    Go thru  this
    http://help.sap.com/saphelp_nw70/helpdata/en/45/20d251c20a0732e10000000a155369/content.htm
    https://forums.sdn.sap.com/click.jspa?searchID=8242639&messageID=4482651
    /people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
    /people/swaroopa.vishwanath/blog/2006/12/28/send-rfc-to-sap-xi-150-asynchronous
    /people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
    https://weblogs.sdn.sap.com/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    JDBC Synchronous call  using BPM
    Regards
    Agasthuri Doss

  • SOAP --XI ---RFC or Java Client  Proxy

    Hello Gurus,
    Need your adivce for a scenario in XI
    Scenario ---  To implement XI with SAP SCEM(Supply Chain Event Management).
    Client is sending data from Web Portal (JSP Page) and wants to integrate with R/3.
    (Request from client and Response from R/3 shown again at browser )
    Web Portal (JSP Page) is on server A and XI on server B
    Queries ---
    1. Can I use Java Client Proxy Approach ---  proxy --- xi -- rfc approach 
    If  Web Portal (JSP page) is working in server A and XI in server B then can I call xi server from jsp page by passing xi server credential (username,password,bus service) and using sync Interface I can show result back to browser.
    2. For SOAP Approach  -- SOAP -- XI --- RFC approach 
    Suppose I need to send two parameters from my Web Portal (JSP page) to xi to R/3 and it will return some result.
    Concept of Webservice --- any application (like BAPI ) exposed.
    a. Pls tell me all the steps required for IR and ID
    b.How can I invoke that generated webservice from my jsp page --- so that my request parameters values go to xi from my jsp page and to R/3 and then result from R/3 to xi and to my jsp page.
    Regards

    I think second approach is more appropriate ie. SOAP>XI>RFC
    Some of the blogs you can refer:
    /people/riyaz.sayyad/blog/2006/05/07/consuming-xi-web-services-using-web-dynpro-150-part-i
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
    Sender SOAP adapter config: http://help.sap.com/saphelp_nw04s/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm
    Hope this helps,
    Rgds,
    Moorthy

  • Error in Synchronous client proxy

    Hi Gurus,
    I have created a scenario in which I am using client proxy at source side (ECC ) and soap at target side.
    Its a synchronous scenario for which I have written an abap report.This interface sends a company name and uses a webservice to fetch the stock value of that company.
    I am a beginner in abap, so I am unable to to know the reason why is it showing the following error when I am executing the code.
    Method "EXECUTE_SYNCHRONOUS" is unknown or PROTECTED or PRIVATE.
    This error is coming at line :
    CALL METHOD Proxy->execute_synchronous
    Following is the code :
    REPORT  ZSYNC_PROXY_STOCKQUOTE NO STANDARD PAGE HEADING.
    DATA Proxy TYPE REF TO ZCO_SI_SOURCE.
    CREATE OBJECT Proxy.
    DATA: t_company_name TYPE zsource_request_mt,
           t_stock_value TYPE zsource_response_mt.
    SELECTION-SCREEN: BEGIN OF BLOCK B1.
    PARAMETER: p_id TYPE String.
    SELECTION-SCREEN: END OF BLOCK B1.
      START-of-selection.
      TRY.
        t_company_name-Source_Request_MT-Company_name = p_id.
        CALL METHOD Proxy->execute_synchronous
        Exporting
          output = t_company_name
       IMPORTING
         input = t_stock_value.
       WRITE: t_stock_value-Source_Response_MT-stock_value.
       CATCH cx_ai_system_fault.
         DATA fault TYPE REF TO cx_ai_system_fault.
         CREATE OBJECT FAULT.
        WRITE:/ fault->errortext.
        ENDTRY.
        END-OF-SELECTION.

    Hi,
    You have wrongly assigned the method. It should not be pointing to Execute method.
    it should be something like below
    TRY.
               CREATE OBJECT proxy.
               CATCH cx_ai_system_fault.
      ENDTRY.
    TRY.
        CALL METHOD Proxy->  " GIVE THE OUTBOUND SERVICE INTERFACE NAME HERE"
        Exporting
          output = t_company_name
       IMPORTING
         input = t_stock_value.

  • Exception handling in synchronous client proxy

    Hi, I have a synchronous outbound proxy-web service scenario. If our Post request (unknown data in the receiver) fails, the receiver system returns a 404 error that results in application error in PI. Now, I want know how to handle CX_AI_APPLICATION_FAULT using the standard fault message type (ExchangeFaultData). I couldn't find any reference for synchronous client proxies using this. I hope you can help me out. Thank you.

    Hi Mark,
    You have a link here How to handle CX_AI_SYSTEM_FAULT in RFC - Code Gallery - SCN Wiki or here https://help.sap.com/saphelp_nw04/helpdata/en/75/a55c3cff8ca92be10000000a114084/content.htm
    I dont know what is your exact problem, you can retrieve certain information in the ABAP code but i usually set a generic message like "Connection unsuccessful" because if you debbug the object the information is so technical to be showed to a client.
    Hope this helps.
    Regards.

  • How to call ABAP client proxy?

    Hello,
    I am getting confused with ABAP client proxy now.
    I've defined a outbound service interface (Message Interface) in PI, based on the service interface I generated the ABAP client proxy in the abap backend system. There are two possible ways to configuration the integration scenario for this interface:
    1) use the proxy as web service consumer for scenario like:  ws consumer --> PI
    2) No web service, just proxy like:  Proxy --> PI
    Now I've configured a logical port (as default logical port) for scenario 1.
    I wrote a ABAP program to call the proxy to send out message to PI. To call the proxy we instantiate the proxy like:
    CREATE OBJECT proxy  EXPORTING    logical_port_name = p_port.
    proxy->myOperation( ...  ).
    Now if I specify the logical_port_name, I think the local IE in the abap system knows to send out the message using web service (scenario 1). However if I do NOT specify logical_port_name, how the local IE knows which way to send out the message? Using web service with the default logica port, or directly  post the message to the centrl IE pipeline using the second scenario ?
    Anybody can clarify my doubts?
    Thanks
    Eric

    Eric
    The answer to your question lies in the method CREATE_FRAMEWORK of class CL_PROXY_FRAMEWORK_OUTBOUND. In this method, you will see method GET_SOAP_APPLICATION of class CL_SRT_LP_MAINTANENCE is checked to see which adapter to use (i.e WS runtime or XI runtime).
    Anyway, to give a straight answer to your question, if you maintained an endpoint for your interface in tcode SOAManager, the WS runtime/adapter is used to send the message to Integration server. If there is no endpoint maintained, then it uses the XI runtime (or the traditional proxy adapter).
    Now, as far as logical port goes, if you didn't give a value when calling the proxy client class and you didn't maintain an endpoint in SOAManager, then XI runtime is used.
    If you didn't pass a value to logical port but you maintained an endpoint which the default logical port, then the same is used and communication happens through WS adapter.
    If you didn't pass a value to logical port but you maintained an endpoint and didn't mark the port as default, then a WS runtime exception is raised.
    Hope this answers your question. For more information, try to take a look in the classes mentioned above.
    KK

  • Problem Calling a Client Proxy from ABAP which is based on an extension

    I'm trying to create an Asset in Salesforce from SAP using ABAP.
    I have exported the enterprise WSDL from Salesforce, generated a client proxy and have coded the login call and passed the session id to the create call.
    The problem I am having is the create method references sobject however asset is an extension of this.
                <complexType name="Asset">
                    <complexContent>
                        <extension base="ens:sObject">
                            <sequence>
                            <element name="Account" nillable="true" minOccurs="0" type="ens:Account"/>
                            <element name="AccountId" nillable="true" minOccurs="0" type="tns:ID"/>
                            <-- many more fields here -->
                            </sequence>
                        </extension>
                    </complexContent>
                </complexType>
    I need to pass something like this (tested and working using SOAPUI)
             <urn:sObjects xsi:type="urn:Asset"
                       xmlns:ns3="urn:sobject.enterprise.soap.sforce.com">  
                   <urn:AccountId>001A000000HoyKZ</urn:AccountId>
                   <urn:Name>JWSOAPTEST Asset3</urn:Name>    
                            <-- many more fields here -->
            </urn:sObjects>
    I tried modifying the WSDL so sobject referrs to Asset
                <!-- Create Message Types -->
                <element name="create">
                    <complexType>
                        <sequence>
                            <!-- element name="sObjects" type="ens:sObject" minOccurs="0" maxOccurs="unbounded" -->
                           <element name="sObjects" type="ens:Asset" minOccurs="0" maxOccurs="unbounded"/>
                        </sequence>
                    </complexType>
                </element>
                <element name="createResponse">
                    <complexType>
                        <sequence>
                            <element name="result" type="tns:SaveResult" minOccurs="0" maxOccurs="unbounded"/>
                        </sequence>
                    </complexType>
                </element>
    However other types it referred to weren't populated.
    The other approache may be to manually populate the xml similar to what I had to do in the header (this link gives a good overview on this Consume web service in ABAP proxy with SOAP header )
    Any recommendations or advice would be appreciated.
      Ideally some sample code if someone has done this or a recommendation on how to modify the WSDL.
    Regards,
    John

    Hi John,
    Calling SFDC.com from PI, is detailed out here. probably will give some tips:
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50a76cfa-4966-2d10-aba7-da496d9b5bcf
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/802f8d03-9282-2d10-52b4-f9446e077099
    Regards, Moorthy

  • Client Proxy - Issues

    Hi Masters,
    I am trying to create the Cleint PROXY in BW system,  I am facing the 2 issues..
    1.     I assigned the ZPack , and prefix: Z, and create the proxy, getting the error message: DDIC object TABL XXXXXX has package check errors., I think this issue was Package issue.
    2.     I assign the $TMP package, Prefix: Z and create the proxy, successfully created and actived. But I am not able to see the method: execute_asynchronous in my class ZCO_XXX.
    Can any one guide me, how can i fix the issues??
    Thanks,
    SR
    Edited by: Test12345678 on Jun 28, 2010 5:56 PM

    In PI7.0 you dont have Method execute Asyn but you have the method name created something similar to your interface name.Execute Asyn was only there in XI 3.0.
    You can call your client proxy in abap code as follows:
    TRY.
              CREATE OBJECT w_obj   "'"' of class name type .
    **Handle exception
            CATCH cx_ai_system_fault INTO w_sys_exception.
          ENDTRY.
          TRY.
              CALL METHOD w_obj ->Method name "Interface name
                             EXPORTING
                               output = it_req.   "    data to be send to pi
              COMMIT WORK.
    **Handle exception
            CATCH cx_ai_system_fault INTO w_sys_exception.
            CATCH cx_ai_application_fault INTO w_app_exception.
          ENDTRY.
    Thanks
    Sikha

  • Troubleshooting SOAP Call with ABAP Client Proxy

    Hello,
    we want to make a synchronous call to a web service from ABAP via HTTP / SOAP. The third party system provides a WSDL which we have used to create a client proxy in ABAP.
    The request call works fine, but we do not get any SOAP response.
    The question now is which monitoring / debugging capabilties are recommended on the SAP system to track down the problem? Which transactions and monitoring functionalities should I use?
    Thank you very much for your advise!
    Edited by: Florian G. on Jun 6, 2010 2:47 PM

    Hi Prasad,
    Here is an example of each one... notice the difference between the Username elements in each of  the requests:
    qualified -
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://somenamespace">
       <soapenv:Header/>
       <soapenv:Body>
          <ver:GetUserRequest>
             <ver:IdmRequestContext>
                <ver:UserName></ver:UserName>
             </ver:IdmRequestContext>
          </ver:GetUserRequest>
       </soapenv:Body>
    </soapenv:Envelope>
    unqualified -
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://somenamespace">
       <soapenv:Header/>
       <soapenv:Body>
          <ver:GetUserRequest>
             <ver:IdmRequestContext>
                <UserName></UserName>
             </ver:IdmRequestContext>
          </ver:GetUserRequest>
       </soapenv:Body>
    </soapenv:Envelope>
    If you have the option of the WSDL definition changing that attribute to unqualified then it should start working immediately.  If that is not an option then your ABAP mapping needs to handle the namespace insertion into the XML.  I achieved this in my requirement by using a graphical mapping instead because I imported the WSDL as an external definition and mapped my proxy 1:1 to each element in the external definition.
    Regards,
    Ryan Crosby

  • Calling Synchronous RFC Function Module in Background

    Hi all,
    Currently we are working on some requirement where in we have to retrieve data from one system(CRM) and update the same into another system(ECC). We have developed a RFC Function in CRM system and it is being called from ECC system as in synchronous mode via a batch program.
    Now since all sychronous call to a RFC function will be dialog there is a constraint on the runtime which is being set by maximum run time for each dialog work process. So my question is there an option to call an RFC function synchronously in background (background task) so there is no runtime performance.
    The standard TRFC, QRFC calls in background runs asynchronously and so I am trying to check with the SDN world as whether has anyone tried  SRFC(Synchronous) call in background?
    Thanks in advance,
    Jagath

    So my question is there an option to call an RFC function synchronously in background (background task) so there is no runtime performance.
    One solution would be to increase the value of the "time out" parameter defined the CRM system. This i feel is not a fool-proof solution as the run-times cannot be predicted. Check this thread: Re: RFC timeout profile parameter
    For me a better solution would be to implement tRFC call instead of a synchronous call. Any reasons why you don't want to implement a tRFC ?
    BR,
    Suhas
    Edited by: Suhas Saha on Jun 26, 2010 8:52 AM

  • ERROR During call of SOAP with a SOAP- RFC- SOAP Synchronous scenario

    Hello Experts,
    I've recently created a SOAP->RFC->SOAP synchronous scenario but every time I'm invoking the SOAP via XMLSpy then i will hang and send a timeout error. Also a log in XI was generated as shown below.
    I hope you could help me on this one.
    Runtime Errors         DBIF_RSQL_SQL_ERROR
    Exception              CX_SY_OPEN_SQL_DB
    Date and Time          28.09.2010 09:31:23
    Short text
         SQL error in the database when accessing a table.
    What happened?
         The database system detected a deadlock and avoided it by rolling back
         your transaction.
    What can you do?
         If possible (and necessary), repeat the last database transaction in the
          hope that locking the object will not result in another deadlock.
         Note which actions and input led to the error.
         For further help in handling the problem, contact your SAP administrator
         You can use the ABAP dump analysis transaction ST22 to view and manage
         termination messages, in particular for long term reference.
         Note which actions and input led to the error.
         For further help in handling the problem, contact your SAP administrator
         You can use the ABAP dump analysis transaction ST22 to view and manage
         termination messages, in particular for long term reference.
    Error analysis
         An exception occurred that is explained in detail below.
         The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught
          in
         procedure "DELETE_LUW_PACKET" "(FORM)", nor was it propagated by a RAISING
          clause.
         Since the caller of the procedure could not have anticipated that the
         exception would occur, the current program is terminated.
         The reason for the exception is:
         The database system recognized that your last operation on the database
         would have led to a deadlock.
         Therefore, your transaction was rolled back
         to avoid this.
         ORACLE always terminates any transaction that would result in deadlock.
         The other transactions involved in this potential deadlock
         are not affected by the termination.
    Regards,
    Alfred

    Normally such an error comes when the DB of SAP PI is full.
    Contact your BASIS or ADMIN team and ask them to free the DB space.
    Regards,
    Abhishek.

  • How to Use synchronous RFC calls during test run for remote accesses

    there is a Setting for the usage of RFC accesses from a tested system
    using eCATT.
    'X' - Use asynchronous RFC calls during test run for remote accesses
    ' ' - Use synchronous RFC calls during test run for remote accesses
    I developed an eCATT as following :
      SAPGUI ( SAPGUI_1 , Target_system_1 ).
      SAPGUI ( SAPGUI_2 , Target_system_2 ).
    My question is how to run the eCATT in a synchronous RFC calls
    PS: I do not want to change the Target_system to the same one in the
    above script of ecatt.Because I need to run it in 2 different Target
    systems sometime.
    for example, I give a Target_system_3 when run this eCATT
    I want the SAPGUI_1 and SAPGUI_2 run the Target_system_3 but not the
    Target_system_1 or Target_system_2 .
    Could you please tell me how to make it without the changes in script?
    Edited by: Weitong Liu on Mar 24, 2011 9:44 AM

    Hi Liu,
    Weitong Liu wrote:
    > ' ' - Use synchronous RFC calls during test run for remote accesses
    This is the standard option value. Asynchronous are not the standard way and used only for very special purposes.
    Weitong Liu wrote:
    > I developed an eCATT as following :
    >   SAPGUI ( SAPGUI_1 , Target_system_1 ).
    >   SAPGUI ( SAPGUI_2 , Target_system_2 ).
    > My question is how to run the eCATT in a synchronous RFC calls
    The commands will be executed in sequence. So each call will be synchronously replayed against TS1 and TS2.
    What is you issue with this standard procedure?
    Kind regards,
    Christoph

  • SAP Client Proxy to Webservice Synchronous Scenario

    Hi Experts,
    I have an outbound Synchronous Scenario.In which i have to trigger a Client Proxy from SAP side and Connect to a WebService using PI.
    I have with me the WSDl and URL for Webservice.Can anyone guide me with the necessary steps.
    Regards
    Gaurav

    Hi gaurav,
    From client proxy u have to send request and get the response back...
    So, for this create 2 corresponding data types and message types. and mapping will be between request message type which u created and request wsdl message and another mapping for response wsdl message and response message type which u created.
    create service interface outbound synchronous(give the message types which u created) and inbound synchronous(give the wsdl request and response messages).
    Regards,
    Sunitha

  • Client Proxy : How to Call Outbound Generated Proxy in ABAP report ?

    Dear SDNrs.
    I have already created a  Scenario for Client/ Outbound Proxy in XI .
    I have already Generated Client/ Outbound Proxy in ECC .
    Now Question is How to call this generated Proxy in report ?
    Please Guide ..... I dont have any idea ...
    1. before calling any proxy in report what information needs to collect from generated Proxy ?
    2. How to call this generated Proxy in report ?
    Regards
    Prabhat Sharma.

    Hi Prabhat
    You have to use your knowledge about ABAP OO for this.
    It's simple. You created your Proxy Object throught SPROXY transaction, right? Now, you have to instance your class (information avaliable in  SPROXY-> Proxy Objetc -> Class Name) and to use the method displayed there.
    Follow an example:
    DATA: wa_backfeed      TYPE zibrsapglbackfeed_sapgl, 
               wa_output            TYPE zibrsapglrequest,        
               lo_clientproxy       TYPE REF TO zibrco_sapgl_out,   
               lo_sys_exception TYPE REF TO cx_ai_system_fault.
      TRY.
          CREATE OBJECT lo_clientproxy.
          CALL METHOD lo_clientproxy->sapgl_out
            EXPORTING
              output = wa_output.
        CATCH cx_ai_system_fault INTO lo_sys_exception.
                   lo_sys_exception->if_message~get_text( ).
      ENDTRY.

  • System exception after a succesful synchronous ABAP Proxy call

    Guys,
    I have the following scenario:
    1) From an R/3 box I initiate a synchronous ABAP proxy call
    2) On XI everything works fine, the http request is sent out (using the http adapter), the response comes back succesfully and it is transfered back to the R/3 box - no error whatsoever
    3) On the R/3 box however the EXECUTE_SYNCHRONOUS method throws a system exception BUT the returning (input) parameter holds the response message!
    So in the end if I catch this exception (CX_AI_SYSTEM_FAULT) then I could be happy and just ignore the exception, but I don't feel comfortable leaving it this way. Why is the exception and how can I eliminate it?
    Any help would be greatly appreciated.
    Thanks a lot,
    Viktor

    Joel/Jörg,
    Thank you for your response, indeed I ended up debugging it and found my error deep down:
    Error code: ABAP_PROXY.PARSE_APPLICATION_DATA
    Error text: Error handling Response Message; XSLT error: CX_XSLT_DESERIALIZATION_ERROR: XSLT program and source line: /1SAI/XS00000000000000000088: 0000000122; Tree Position: abap.values.1.1.1.6.1.5 ABAP Classname: CX_SY_CONVERSION_DATA_LOSS Data String: WINDSOR CT 06095-1712
    The data field defined in SAP was too short for the field.
    Thanks a lot,
    Viktor

Maybe you are looking for

  • Rgb to cmyk on indesign

    my document is in cmyk but when i want to select a colour it only allows me to select rgb colours, how  can i change my colour remetrix  space in cmyk thank you

  • How is the follow-on doc triggered from shopping cart in SRM 7.0?

    Hi! We are on SRM 7.0 and want to make a solution where we create a PM order (Work order) as a follow-on document in backend instead of a Requisition or PO. There are desciptions on how to change document type and function using BADI's for the older

  • Mount a USB Flash Drive

    I am running a 1998 iMac with a PowerPC Processor. It has MacOS 8.5.1. I have a PNY 2 GB USB Flash Drive. How do I mount this.

  • Applescript error

    I'm running the latest version of QT Pro and using QT Player Scripts (downloaded from Apple's site). Since my upgrade to Tiger (i think that's the difference, anyway) I am getting a scripting error when trying to "add a chapter at current time" to th

  • Thumbnail for Album Cover in E-mail?

    When sending an e-mail regarding an album the recepient receives the e-mail ("Check out John's album on Photoshop.com") and can view the album ok but the e-mail does not contain an image - I'm guessing that the album cover photo should be displayed b