Webservice to RFC

Hello Friends,
I have a requirement in which i need to consume a webservice and then send it through an RFC channel to R/3(No mapping logic). Im confused as to how to go about this problem.
Please tell me what are the things that are required, like WSDL, RFC structure etc
Should the WSDL structure and RFC structure be same? Should i do any mapping (1:1 Interface mapping?) What are the settings in configuration scenario?
Thanks in Advance,
Regards,
Lakshmi

Hi
Please tell me what are the things that are required, like WSDL, RFC structure etc. - >
Yes WSDL file and RFC structure both are required.
Should the WSDL structure and RFC structure be same -> Yes in best case
Should i do any mapping (1:1 Interface mapping?) -> It depends on the RFC structure and WSDL structure. If they are same then 1:1 mapping. Sometimes constant field mapping is required.
What are the settings in configuration scenario? ->
The setting is given in this blog.
Walkthrough - SOAP  XI  RFC/BAPI
Go thru it.
Gud luck

Similar Messages

  • Webservice to RFC Scenario - Through Java Mapping

    Hello All,
    In my integration scenario, I will receive a request from a webservice consumer. The webservice is my outbound interface.
    Now I have to write a Java Mapping for it because a similar interface (file to RFC) has been implemented using it and the customer wants minimum deviation from that functionality.
    One question, that I have at this point in time is:
    I must define a Java class that implements the Java interface com.sap.aii.mapping.api.StreamTransformation. This interface has two methods, one of them is:
    public void execute(java.io.InputStream in, java.io.OutputStream out). In the existing interface the InputStream object say 'input' has been initialized to FileInputStream:
    InputStream in = new FileInputStream(new File("Sample7.xml"));
    What shall I initialize it to in my case? One probable is a InputSource, but does the execute method accept an InputSource?
    Please help,
    Regards,
    Varun

    Hello Jose,
    Thanks for your reply, but what I have mentioned above is how it is being done in a similar interface. That being a file to RFC interface, it makes sense to initialize 'in' with the file name.
    But if you mean that I do not need to initialize in my case (Webservice to RFC), then I'll surely give it a try and if useful, will get back to you.
    Thanks again,
    Varun

  • Error in 'WEBSERVICE TO RFC' SCENARIO

    Hi experts,
      i am facing a problem in 'WEB SERVICE-RFC' scenario,here we are using soap sender communication cheannel & rfc receiver communication channel.while processing the message from 'portal'(through web service in 'SXI_MONI' we are gettin 1 request & 2 response(error) message.
    (in sxi_moni)
    1st error message:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="RFC_ADAPTER">APPLICATION_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="urn:sap-com:document:sap:rfc:functions">ZBAPI_QUOTATION.Exception</SAP:ApplicationFaultMessage>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    [note: here we are using 'ZBAPI_QUOTATION' IN sap r/3)
    2nd response:
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <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="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
      <SAP:P1>Object ID 08490A2EBE1A301E9D13373FF379B9BE Software Component 9776FD71CBAE11DF8942F5910A010C19</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Interface mapping Object ID 08490A2EBE1A301E9D13373FF379B9BE Software Component 9776FD71CBAE11DF8942F5910A010C19 does not exist in runtime cache</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    please help me to solve this issue.

    For the mapping error >>>  Please check whether  you have created a response mapping and properly  referenced it in your operation mapping
    For the RFC exception error >> Please check if you have any new fields added in RFC , re Import the RFC definition in PI
    refresh the cache SXI_Cache
    Please check below similar threads
    file rfc file
    RFC_ADAPTER "APPLICATION_ERROR"
    Re: Webservice to RFC  testing
    Hope this helps
    Regards
    Ninad

  • Webservice to RFC scenario

    Hi
    In the webservice to RFC scenario i am trying to create a webservice from the tools->define webservice option. the system takes to me a webservice creaton wizard and it asks for the Integration Server SOAP inbound channel URL I know that the  syntax of the URL is like shown below.
    http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel
    How do I know what is the host and port of the system??
    Also we need java knowledge to excel in XI. I want to know to what extent we need to learn Java to be able to excel in XI. Is there any blog or link which discuss about this?
    thanks,
    sankar

    Hi,
    TCODE: SXMB_IFR
    Then you'll see then server, port .
    Also:
    SMICM -> goto -> services
    Java basic knowledge is required where u can able to write the user defined function in graphical mapping,
    but sometime the requirement is not fullfilled then u need to to go for advance java for writing a java mapping or adapter module program.
    We use ABAP Proxies in case of we are dealing with the ABAP Based Applications
    We use JAVA Proxies in case of we are dealing with the JAVA based application
    in SAP XI We have two ways of connectivity
    1) adapter
    2)proxy
    in applications based on WAS 6.20 or above we can directly communicate to XI through Proxies
    while application based on below WAS 6.20 you have to use adaptyer to communicate to XI
    proxies seperate business application logic from the integration logic of integration logic
    proxy generation converts non language specific interface description in WSDL into executable interface
    Java proxy is generated from the WSDL description opf interface and this is generated as a JAR file in IR
    while ABAP proxy is generated by transaction SPROXY
    on Application server based on WSDL description of message interface
    PROXIES have same mode and direction as Interfaces have
    To learn Java you should know only basic concepts of java means you must have basic java programmin skill
    Java proxy can be generated through wizard also this is an inbuild functionality of SAP XI
    to lear java follow this link
    java.sun.com/docs/books/tutorial/
    To learn ABAP you should know beginner level ABAP4GL
    ABAP is very simple language and coding is like that you are writing simple english sentence so you would be feeling comfortable withABAP with a little practice
    GO to T CODE se24 and start developing
    learn ABAP with this link
    http://www.itquestionbank.com/sams-teach-yourself-abap-4-in-21-days.html.
    Regards,
    Vinod.

  • Webservice to RFC  testing

    Hi,
    I am testing webservice the RFC scenario using SOAPUI 2.0.2 tool and I get the below message in SOAPUI.What could be the problem?
    Thanks
    Points will be awarded
    <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>DeliveryException</code>
                   <text>com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:NO_MAPPINGPROGRAM_FOUND:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:451)
         at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:125)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:795)
         at com.sap.engine.frame.core.thread.Task.run(Task.java:64)
         at com.sap.engine.core.thread.impl5.SingleThread.execute(SingleThread.java:74)
         at com.sap.engine.core.thread.impl5.SingleThread.run(SingleThread.java:141)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>

    I see 3 error msg in sxmb_moni
    *1st msg shows sender  to receiver*
    *response msg*
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="RFC_ADAPTER">APPLICATION_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="urn:sap-com:document:sap:rfc:functions">Z_****************************.Exception</SAP:ApplicationFaultMessage>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    *response Call adapter payload*
    <rfc:Z_*****************************.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>The function module is not active or contains no code.</Text></rfc:Z_*******************************.Exception>
    *2nd msg(receiver to sender)*
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="RFC_ADAPTER">APPLICATION_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="urn:sap-com:document:sap:rfc:functions">Z_*****************************.Exception</SAP:ApplicationFaultMessage>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    *response Call adapter payload*
    <rfc:Z_***********************.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>The function module is not active or contains no code.</Text></rfc:Z_***********************.Exception>
    *2nd msg(receiver to sender)*
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <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="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
      <SAP:P1>http://*****************os_**************toZ_********************</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Unable to determine name of mapping program</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>

  • Regarding webservice to RFC approach

    Hi all,
    I am doing webservice to RFC (Synchronous) interface.
    1.coould you please let me khow how many times PI can try to send information to and external system via a web service.
    2.In case PI could not connect to the external system after N number of trials and PI sends alert or email informing  about the failure, what would happen to the data, would it still be in PI or we will lose the information.
    3.What should be done from external system perspective to retrieve the data into itself once it is up and ready to receive the data.
    Thanks and Regards
    Kishore

    1.in this case, how abt data reprocess from PI incase of failures when target webservice is not available.
    Only the request will be processed (in terms of mapping and sending to target)......then you will get an error which will indicate that something is wrong with target system and the call will close with a red mark in SXMB_MONI.
    You have to resend the message from the sender.
    2.please confirm, data wont be available in PI, to resend from PI to webservice, since this is sync communication.
    It does not happen as the way you have mentioned......PI wont store the data and make a call again in case of error.
    3.Also please confirm how abt in async communication ( say for ex: proxy to webservice ) to handle data reprocess from
    PI in case of failures due to target webservice is not available.
    One is increasing the number of retries of the target channel....this is documented in a blog (probably by Naveen)
    Regards,
    Abhishek.

  • Error While executing WebService to RFC Scenario

    Hi,
    I am doing a Scenario of WebService to RFC . While Executing the WSDL in Altova I am getting an 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><![CDATA[
    What might be the problem ..??

    When you receive a system fault, it means the receiver has an application error. So, please review the Configuration and Design objects (Integration Repositor/Directory), if all determinations and agreements are correct. Also, please try refreshing the cache by running the http://<host>:<port>/CPACache/refresh?mode=full (with PIDIRUSER).
    If you still face it, please provide the "<text>" tag content, for the exception trace.

  • Regenerate webservice from RFC

    We created several webservices from RFC in SE80. The initial creation went well. However, now we want to regenerate the webservice since, after a system copy, the XSLT transformations are giving errors. These are generate per environment (local objects). Now since these copied transformation are not available (under there generated names), the web services need to be regenerated. Question is: How to do this from ABAP / SE80 / RFC.
    I tried to re-create these webservices via SE80, but I get error message, that webservice already exists. Not possible to overwrite.
    I actually have two questions:
    1. How to regenerate the WS?
    2. Is my assumption correct that by regenerating the WS, the error with the XSLT transformations will be solved, since they are regenerated together with the webservices?
    Thanks in advance.

    Hi,
      Go to Web service (SE80) -> go in change Mode -> Click on Check button -> if there are any discrepancies then you get message to adjust it. Say 'Yes' -> Save the service and activate it.
    This might help.
    Regards,
    Priya

  • Using Webservice through RFC Func Mod Can I able to fill dropdown field

    Hi,
    I am going to develop offline interactive form using Webservice through RFC Function module.
    There are dropdown list fields in my adobe form. Then how can I able to fill these dropdown fields in my form, I mean how to bind the values to dropdown fields.
    Thanks & Regards,
    nspkumar.

    Hi,
    Option 1:
    If the form is designed in transaction SFP, which has a form interface (transaction SFI), then below solution will work:
    For example consider the data node name as 'COUNTRY' . Select drop down UI element and go to 'Object' properties tab. Select 'Binding' tab, on the top right hand side of this tab there is small icon, select the icon and enable the option 'Show Dynamic Properties'. Once this option is enabled in the 'Binding' tab you can click on the link 'Specify Item Values'. A popup will open, here specify the binding value as 
    $record.sap-vhlist.COUNTRY.item[*]
    Refer to link:
    [Drop down list binding|http://help.sap.com/erp2005_ehp_06/helpdata/en/43/7a667df4ad6fc9e10000000a1553f6/frameset.htm]
    Option 2:
    If the data connection is directly to the webservice then binding needs to be done similar to option 1 except one change. While binding the value in dynamic properties based on XML schema binding needs to be changed.
    As you can see in option 1, for dynamic property binding 
    $record.sap-vhlist.COUNTRY.item[*]
    , there is a value called sap-vhlist. This 'sap-vhlist' gets generated when form is designed in transaction SFP with form interface. So in your case if data connection is from webservice value sap-vhlist needs to changed to the value as per XML schema definition.
    Regards
    Srikanth KV

  • Scenario XI - HTTP - Webservice - XI - RFC - SAP R/3

    Hi,
    i have the scenario:
    Sending request to an Webservice per HTTPS and catch the response. This is working fine. In transaction sxmb_moni i can see the answer as XML.
    I have implemented the scenario response from webservice mapped into RFC-Function and send into SAP R/3. But i have to run this manuell! How can i run this automatically after getting the response from the Webservice.
    Thanks for any answere,
    Max

    Hi Max,
    You could look at these threads :
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    http://help.sap.com/saphelp_nw04/helpdata/en/11/13283fd0ca8443e10000000a114084/content.htm
    BPM: Multiple synchronous receivers
    Synchronous - Synchronous BPM
    Synchronous BPM start
    Regards,
    Laurent.
    Reward points if helpfull.

  • Difference between Webservice and RFC

    Dear Experts,
    We have an application to implement where the application will be called from other NON SAP technology. We got two solutions one is developing RFC's and calling it from other NON SAP Technology OR developing Webservice. Could any one please suggest us to which way do we need to choose?
    Regards,
    Gopinath A.

    That's more or less up to you. In a nutshell: RFC is a known SAP technology for communication between SAP and (NON) SAP systems (both ways, inbound and outbound). Communication is set up quite easily (check SCN for that, work for Basis Administrator).
    From an RFC, you can get to a WebService within a few clicks. RFC is basis of a webservice, which is based on known (internet) standards.
    You decide, together with NON-SAP system (can it consume or provide RFC requests, or webservices for that matter) and basis administrators.
    You can find a lot of info in SCN on both methods about architecture etc. This should help you decide.

  • Java application -- webservice ---   XI  ( RFC )  ?

    Hi friends ,
                <b>        My scenario is like I want  via web service  I need to pass request to RFC and get the response back . This calling webservice is external java application .</b>
                       Can u please tell me What steps i  have to do in XI  ?
                       I have to do synchronous Interface between RFC and webservice right ?
                       <b>First I have done  this scenario  by  designing IR  and in Configuration I have used SOAP Sender and RFC Receiver adapter .  Using Synchronous Interface</b>
                       Using Tools -- > Define WebService . I have Defined that   as WebService . I has creatd the WSDL File for me.
                       I have  given the SWDL file and the URL like the following
      http://xidev:8021/XISOAPAdapter/MessageServlet?channel=:BS_DISTANCE_CHECK_SOAP:CC_DistanceCheck_SOAP_Sender
                            If i copy and paste this URL in my pc .It is showing the Message Servlet  Status OK . and some informations also it is giving .
                      But the java guys try to use this URL in their web service calling module it is not working .
            <b>          The way what i have done is corret ?</b>  or something i have to do ? 
                   <b>   What input i have to give to Java Guys to call the webservice ?</b>
                           Can you please give your suggestions asap
    Best Regards .,.
    V.Rangarajan

    Hi Bhavesh  ,
                      Thanks for your reply.
                   Then  that URL and WSDL File  Which i have given to the Java guys is  enough ?
                    I  have one doubt .I don't know  much about  the webservices .
                    Don't we need SOAP Receiver Adapter for this ?
                    How the external application will get back the result ?
    Best Regards .,
    V.Rangarajan

  • Generic webservice for RFC

    Hello Colleagues,
    Is there a generic webservice for any SAP RFC,that is i want to call an existing RFC through webservice,without generating a webserive for that RFC.
    regards
    kaushik

    The short answer to your question is yes. There is a BSP application called "webservicebrowser" that takes you through a menu of all the RFC-enabled function modules and will generate WSDL files for each one that you can then introspect into contemporary IDE's.
    You will need to enable this BSP application by running the program BSP_UNLOCK_LONG_APP.
    The longer answer is that you should avoid enabling this feature and using it. The reason for this is that is not at all granular, so when you enable this part of the SOAP runtime you enable it for all RFC-enabled function modules. This is not really a good idea due to the obvious security implications.
    I advise using SOAMANAGER to publish just the specific function modules you want to use.
    Cheers
    Graham Robbo

  • File- WebService(SOAP)- RFC

    Hello experts!
    I need to load the "request" of a webservice with information from an XML file. with the "response" call an RFC of R/3.
    as I do that? I need to use BPM?
    Best regards,
    Anderson.

    It will be a simple BPM with below steps:
    Receive (MessageFromFILE) --> SyncSend (Req_and_Resp_to_WebService) --> AsyncSend (MessageToRFC)
    If you want to include Transformation in the BPM then it will be either first ReceiveStep and/ or after SyncSend step.
    Regards,
    Abhishek.

  • How to create widget webservice Enabled RFC using SAP WidgetDevelopmentTool

    Hi,
    I have Exposed one RFC as webservice. How to execute that RFC using webservice using SAP Widget development tool.
    Regards
    Vijay

    hi vijay,
    this blog will be useful for your furthur development :
    /people/anton.wenzelhuemer/blog/2007/03/04/kpi-speedometer-widget
    aslo you check the services available in the widget foundation.
    try with this service ;
    /ewcs/service/rfct POST Executes specified RFC through JCO or WS and allows XSL transformation of results
    link : http://localhost:7531/SapMiddleTier/REST/ewcs/service/rfct
    thanks
    Jaideep Srinivasan

Maybe you are looking for

  • How to recover from a corrupted VHD file?

    There is a tool that can recover logical problems in the VHD structure? A friend called me and told me that his VS R2 Enterprise with 4 VMs suffered a power falure and after that, one of the VMs does not startup anymore. The erros is the same as usin

  • Process modelling : Design patterns & Best Practices

    Hi Could some one please suggest/share any technical information or documents tha's related to 'Process modelling - Design Patterns & Best Practices' Thanks in Advance Santosh K. Edited by: Santosh539 on Jul 29, 2010 4:07 PM

  • Help:LINK can't connect to q10 via usb

    new q10 connect to computer,the q10 can be  charged  and see the extension of the SD card on computer,but when open blackberry  link,it can't find the device of q10.i have change 3 pc,It is all the same situation. if pc and q10 in wifi ,blackberry li

  • Call to fetchMatchingName fails

    In attempting to execute the statement: participants = DirHumanParticipant.fetchMatchingName(session : DirectorySession.currentEngineSession, partialName : query + "*", max : 0); this works in Studio, but fails in ALBPM with the following error: Caus

  • Reverting back from the iCal CalDAV Beta

    Upgrading to the new Ical CalDAV Beat, I have lost the ability to collaborate with with co-workers using Outlook 2003. They can not add my calendar events. Also, their calendar events are not longer automatically added to iCal. How can I revert back