IDOC to XI to SOAP WS

Hello,
I try to make following scenario work:
4.6C sends an IDOC to XI and XI should call a WS via the SOAP adapter of XI. The input parameters for the WS should be mapped from the data of the IDOC and the return parameters from the WS should be mapped into an IDOC.
We are using XI 2.0.
I can get the IDOC to XI side to work but I have trouble to understand the steps necessary to map the data to the WS from the IDOC.
I worked with the file adapter before and here the mapping was simple. Do I have to include any soap stuff in the mapping? Or do I just create a mapping for my two input fields and my output field and the soap adapter does the magic?
What do I have to define in the repository as mapping from the IDOC to the SOAP call.
The soap call has two simple paramters which I need to provide and the return parameter is one simple field too.
Any good example out there? I saw the SOAP adapter config files and they make sense but I'm missing what the mapping needs to be.
Any help is appreciated.
Stefan

Hi,
am also getting same error.
think that feature is not supported.
have look on Configuring the Java HTTP Adapter on the Sender Channel - Advanced Adapter Engine - SAP Library for sending a message.
reg,avinash M

Similar Messages

  • IDOC(3.1H)- XI- SOAP - Acknowledgment Problem

    We are using IDOC(from 3.1H system) ->> XI ->> SOAP(Async) scenario for purchase orders. We have defined IDOC-Receiver in the communication channel for the SAP business system.
    We are getting following error in adapter engine for sending the acknowledgment back to SAP(3.1) system.
    <i>Received XI System Error. ErrorCode: NO_BACK_SYSTEM_IN_HOPLIST ErrorText:   ErrorStack: Legacy system to which acknowledgment message is to be sent is missing in hoplist (with wasread=false)</i>
    Any help is appreciated.
    Thanks!
    MP

    Hi,
    have a look at this SAP note: 767681
    for such an error and SOAP adapter
    let me konw if it worked
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • DTD generation for IDOC- XI- Web-Method(SOAP)

    Hi All,
    Our web method team wants DTD from XI to design there development.
    I can provide XML structure but I do not know how to generate DTD file from XI.
    Also I am trying to generate DTD following site : http://www.hitsw.com/xml_utilites/   But web-method team saying there is no Root node in above generated DTD.
    Please guide me how to generate DTD from XI?
    Regards

    Bhavesh,
    I am working on a MDM(FILE)-XI-IDOC interface. I need to have the IDOC structure for my file structure. I have exported XSD from the IDOC and created an external definition file and using it.
    Otherwise, can I create a DTD file out of IDOC and import that into any data type? I created the DTD for the IDOC in WE60 and tried to import that into XI data type which is giving PARSER ERROR.
    Do you have any idea how to create a DTD file from a XSD file as you mentioned in this message?
    Thanks
    Kalyan

  • Idoc to soap sync without bpm. is it possible? Helping me..

    Hi Experts,
    i have a small clarification Idoc to soap sync interface in sap pi 7.0. i created IDoc to Soap sync using BPM but some times the signals are stuck due to load issue in swpr, while reprocess those signals all going successfully to the receiver. So We are trying to eliminate BPM.
    I just wanted to know Idoc to Soap sync scenario without BPM is possible or not in SAP PI 7.0?
    if it is possible kindly send me the links
    Regards,
    Kiran polani

    Hi Kiran,
    Could you please let us know the exact requirement. How do you want to send the response back to IDOC?
    ASync - Sync Bridge with IDOC sender is not possible in PI 7.0.
    If It is something like IDOC --> SOAP --> IDOC , And If the SOAP request is small then you can use SOAP Lookup in IDOC to IDOC Scenario.
    In The mapping You can do a lookup and get the response from SOAP(Webservice) and map that to your Target IDOC.
    This is one possible way for you without BPM in PI7.0.
    Please let me know if you need more details about this.
    Thanks
    Jyothi A

  • IDoc to SOAP scenario is showing error

    Dear Experts,
    We were trying a scenario which is IDoc-XI 3.0->SOAP and where the WebService is situated outside our office network. Our network team have bypassed proxy for accessing that WebService URL and the same is accessible from our XI3.0 application server from browser. We have configured the scenario and when we have tested the scenario from RWB->Component M onitoring->Integration Engine->Test and this has worked fine. But when we have tested the scenario by triggering IDoc from the R/3 system, it is throwing the below mentioned error in both at the comm chanel and at the SXMB_MONI acknowledgement.
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 403 Service Error
    points to be noted here:
    1. Business Service has been configured correctly for triggering ALEAUD messages and ALEAUD messages are reaching R/3 successfully.
    2. We have chosen option Keep Headers and Do not use SOAP header options.
    3. We are passing some values to the SOAP Header from SOAP channel.
    Please could somebody help us on the root cause of the error message.
    We have run report IDX_NOALE for that particular IDoc so that it doesn't return any acknowledgement back to the R/3 system.
    Thanks and regards,
    Sugata
    Edited by: Sugata Basu on Nov 19, 2011 12:40 PM

    Dear,
    IDoc to Soap scenario we have to import wsdl at receiver end and map the field from the mapping document but some times receiver end some changes may happen. if it is correct only your mapping we have to conclude from the below points.
    1. Check the mapping in Message Mapping and Operation Mapping Test and conclude.
    2. you should check url from receiver that is correct or wrong.
    3. ask the wsdl from receiver end.
    the given ED and receiver side application is same this type of error will not come.
    Please check at receiver application or else what ever new fields are added in reciver may be miss mach of ED.
    Regards,
    Kiran Polani

  • IDOC to SOAP scenario and transport process

    Scenario:-IDOC to SOAP:
    We got the WSDl file from Target system and our current scenario is working perfectly fine in Dev.
    Requirement:
    I have to send the same IDOC to two different SOAP target system with different SOAP URL WSDL structure is same only the URl differ.
    Solutions which I thought of:
    1) Separate Design for both the scenarios in IR and one CS with two SOAP channel, interface and receiver determination and agreement.
    2) Use the same WSDL file structure for both the case. this will avoid the separate IR configuration. in this case there will be common MM,IM. In ID the configuration will remain the same as the case one.
    In 2 case I would like to know whether I can use the WSDL file which has the details of first SOAP target for the second SOAP target. Will this WSDL file act simply as structure? Does the URL mentioned in the WSDL file will create any problem?
    Transport process:
    SOAP WSDL file has different URL for DEV,QA and PROD. when I transport the IR from Dev to QA the Dev WSDl file will be reflected in QA as external definition, I wanted to know what is the best method to do the transport in the above situation.
    Solution which I thought of
    1) Go to QA IR and import the QA WSDL file.
    2) Go to Dev and import the WSDl file of QA and import it in QA which avoids manual import in QA, if I go by this way will this affect the testing of my interfaces in Dev system.
    What is the best method we do the transport for the above scenario.
    Need ur suggestions?
    chirag
    Edited by: Chirag Gohil on Oct 1, 2008 1:29 PM

    Hi Chirag,
    As far as i know there wil not be any target URL in the WSDL File which we bought from the webservice application.
    Can u please paste the WSDL File which u have .....
    If we come to Dynamic URL Config means, as per my concern
    You have only 2 Target locations to receive the Idoc. so its better to go a head with ur existing approch itself.
    Why becase for Dynamic URL Config.....
    we have to maintain the target URL's in One Table and need to use RFC lookup to pick this URL Dynamically based on some value from the Input file.
    And also we need to use Standard  UDF code for Dynamic config in Mapping .
    And need to check the option Use ASMA in the Receiver SOAP CC.
    Regards
    Seshagiri

  • IDOC to SOAP synchronous scenario

    Hi All,
    We have an IDOC to SOAP synchronous scenario in which IDOCs are sent to SOAP by calling a service and then SOAP sends a response back to XI . The response is not sent to SAP- R3. Please suggest on this
    Thanks

    Hello Rajesh,
    Thanks for your good justification.
    Here I have also replicated same kind of scenario and having same kind of issue.
    One thing just wanted to confirm - Even though SOAP adapter expects HTTP 200 response back from webservice, still SOAP channel is getting into red with following , and as we have Alert configured ...Alert mail also receiving as part of Error only. So How can we avoid that response ? Is there have any parameter to handle or suppress the response back?
    Thanks!
    Goutam

  • Async Sync Bridge without BPM (Proxy-Soap-Idoc)

    Hi,
    I have read some blogs how to do the Async Sync Bridge without BPM for JMS adapters. I have a requirement that I am getting a Async Proxy message to PI and then PI makes Sync Soap call then the result need to send through the Idoc adapter.
    Proxy - Soap- Idoc
    Here Proxy is a sender so no adapter required in the Config and also Soap is java based adapter and Idoc adapter is a ABAP based so I am not sure this is possible but I just wanted to check with you.
    Please let know if this is possible or not?
    PI 7.1 with EHP1
    Thanks,
    Laxman
    Edited by: Laxman  Molugu on Oct 14, 2010 2:15 PM

    The mapping programm can be defined as a user defined function. As sample of mine is "getGoogle()", which is doing some kind of address validation. The input parameter URL[0] contains source address. For that you need to import:
    org.apache.commons.logging.*;
    org.w3c.dom.*;
    javax.xml.parsers.*;
    org.xml.sax.SAXException;
    org.apache.commons.httpclient.*;
    org.apache.commons.httpclient.methods.*;
    org.apache.commons.codec.*;
    org.apache.log4j.*;
    Example code for UDF "getGoogle()" is:
    String sUrl = "http://maps.google.de/maps/api/geocode/xml?address=" + URL[0] + "&sensor=false";
    HttpClient client = new HttpClient();
    GetMethod method = new GetMethod(sUrl);
    byte[] responseBody = null;
        try {
    //      int statusCode = client.executeMethod(method);
    //      byte[] responseBody = method.getResponseBody();
    //     result.addValue(new String(responseBody));
    String sResponse = "initial";
    int statusCode = client.executeMethod(method);
    responseBody = method.getResponseBody();
    ByteArrayInputStream bis = new ByteArrayInputStream(responseBody);
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = factory.newDocumentBuilder();
    Document doc = db.parse(bis);
    doc.getDocumentElement().normalize();
    NodeList nodeLst = doc.getElementsByTagName("formatted_address");
    Node formAdr = nodeLst.item(0);
    NodeList nlFormAdr = formAdr.getChildNodes();
    sResponse = ((Node) nlFormAdr.item(0)).getNodeValue();
          // Deal with the response.
        result.addValue(sResponse);
        } catch (Exception e) {
          result.addValue(e.toString() + "######## exhrenda - googleResponse:############### URL=" + sUrl+"###########"+new String(responseBody));
        } finally {
          // Release the connection.
          method.releaseConnection();

  • Idoc (async) - soap (sync) - file (async)

    Hi.
    I have a flow from idoc (async) to webservice (soap sync) and I want the response from soap to be written in file (async).
    I want to do this without BPM and I have read some posts about using modules RequestResponseBean and ResponseOnewayBean.
    Can someone help me with this step by step.
    I have in ESR a OM that is async because of the outbound Idoc. Do I need a sync OM for the soap call and another async OM for the response to the file.
    Where do I need to put the modules? In the SOAP receiver?
    I know there are some threads that cover some of this but I couldn't find any that cover the whole of my issue step by step.
    Regards,
    Hjortur

    Yes doing async to sync is possible without bpm. YOu already got the design solution.
    >Where do I need to put the modules? In the SOAP receiver?
    Sender Channel.  In your case you might not need channel for idoc but for this configuration you might need to create one. That is my guess.
    In the module section sequence as follows
    1) AF_Modules/RequestResponseBean   Type:  Local Enterprise Bean    Module key   1
    2) CallSapAdapter                Type Local Enterprise Bean    Module Key 2
    3) AF_Modules/ResponseOnewayBean     Type Local Enterprise Bean  Module Key   3
    Plus follow the link given by shabarish as reference.

  • SOAP to IDoc scenario without BPM

    Hi,
    I have 2 scenario's
    1) IDoc-SOAP - -response -- IDoc scenario -- (have found some links  to do it without BPM)
    2) SOAP -- RFC request -- RFC response -- e-mail (no links found)
    how can i achive both these scenario's without BPM. Currently i have these 2 scenarios in our 7.1 version with BPM. but our requirement is to migrate this scenario into 7.4 without BPM(No PO).
    please help us to achive this scenario without BPM.
    Your help is highly appreciated.
    thanks,
    Praveen

    Hi Kiran,
    Could you please let us know the exact requirement. How do you want to send the response back to IDOC?
    ASync - Sync Bridge with IDOC sender is not possible in PI 7.0.
    If It is something like IDOC --> SOAP --> IDOC , And If the SOAP request is small then you can use SOAP Lookup in IDOC to IDOC Scenario.
    In The mapping You can do a lookup and get the response from SOAP(Webservice) and map that to your Target IDOC.
    This is one possible way for you without BPM in PI7.0.
    Please let me know if you need more details about this.
    Thanks
    Jyothi A

  • Unable to convert sender service for IDoc to SOAP Scenario

    Hi,
    I tried to find the solution my way and by using the search function but without any success. I have the folowing scenario:
    SYS(my sap system) => IDoc => PI (Process Integration) => SOAP => XML
    When i send the IDoc to the PI System and open SXI_Moni the folowing error is shown:
    "Unable to convert the sender service receiver_service to an ALE logical system"
    I read about Adapter Specific Identifies so i go to ID->Service without partner->Business System->MyBusinessSystem(SYS) then in Menü on Services and checked Adapter Specific Identifies. They are like maintained in SLD.
    Next is a Cache refresh i tried a full one but no impact
    Then i tried a header mapping in receiver agreement. I mapped there the receiver party to the definied receiver party and the receiver_service to the service.
    I have no idea
    Thanks for help, be sure that helpful answers will be awarded
    regards
    Matthias
    P.S. What causes this error ? For my opinion ALE has already done all neccesary things (The Idoc is in PI System and the data is available in mesaage payload) so why didn't the pi map it and send it via Soap?

    Hi Matthias
    >>I dont know if its helpful but in SLD are only the system of our landscape so i have no entry for the external Party.
    Party information is generally not required to be maintained in SLD
    >>Adapter Specific Identifies
    What is the value you have given for sender Business system->adapter specific identifier. Is it the same as the partner profile name in sender SAPECC. if not try making them same.
    Regards
    Suraj

  • RFC - XI - SOAP - XI - IDOC

    Hi All
    I have to implement an XI system that uses SOAP to call a webservice every 5 to 10 minutes (if possible we would prefer every minute). Data returned from the webservice then needs to be sent to SAP R/3 as an IDoc.
    Since the SOAP adapter cannot be set to poll at regular intervals I have opted for setting up an RFC in R/3 that is scheduled every 5 to 10 minutes .  My plan is that this can then be used to trigger the XI interface that will use the SOAP adapter to poll the webservice.  However, I don't know how to get the response to be returned as an IDoc.  I don't see that I can use a synchronous interface because then the response will be returned to R/3 via the RFC adapter.  However, I can't see that an asynch. interface will work because then there won't be a response.
    Is my only option to use BPM? I'm nervous about using BPM because I'm not familiar with it and I understand it has considerable overhead - particularly as it will be called so frequently.
    Can anybody provide any ideas or assistance on this? If I have no option but the BPM route then any links to blogs/'how to...' etc would be appreciated.
    Thanks
    Andrew
    I forgot to mention that we are on R/3 4.6C and XI 3.00
    Message was edited by:
            Andrew Wright

    Hi Andrew
    refer these
    /people/riyaz.sayyad/blog/2006/05/07/consuming-xi-web-services-using-web-dynpro-150-part-i
    /people/riyaz.sayyad/blog/2006/05/08/consuming-xi-web-services-using-web-dynpro-150-part-ii
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a068cf2f-0401-0010-2aa9-f5ae4b2096f9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f272165e-0401-0010-b4a1-e7eb8903501d
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi - Invoke Webservices using SAPXI
    /people/siva.maranani/blog/2005/03/01/testing-xi-exposed-web-services
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2131 [original link is broken] [original link is broken] [original link is broken]
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295aeaa9
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295aeaa9
    Hope it will help u !!
    refer this thread for time scheduling
    scheduling  for  every  10  munite
    Thanks!

  • Idoc- soap  adapter

    I have one scenary with de sender are idoc - xi- soap , but the problems is that not be sure if can use idoc for this interfase because the idocs are asynchronous
    my questions we can change idocs of asynchronous to synchronous?
    how can do this change?
    and then define the interface like sinchronous in the IR?

    hi Lizbeth,
    yes u can use RFC as a sender....u have to create a RFC with similer attributes in ur IDOc .
    see RFC<->XI<->SOAP..part 1
    /people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
    RFC<->XI<->SOAP..part 2
    /people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
    regards
    biplab
    <i>**reward with points if it helps u!!!</i>

  • Soap reponse is not updating to the idoc side,please suggest me how to update for this?

    i have requirement for the idoc to soap synchronise scenario,idoc is sender and receiver is  the soap adapter.idoc is sending to soap,soap is sending the response,this response updating to idoc side,after this we need send this information to other system.
    can you please give me the suggestion for  creating this scenario?

    Hi Udo,
    can you please elaborate,after mappining the response  to idoc how will i know it is updated corrct or not?this updated information needs to send the externa system.
    Thanks
    Narendra

  • CDATA in the soap receiver adapter ?

    Hi Guys,
    I am passing the whole xml into a string on the target side, i did java mapping and on the receiver side system the CDATA is not recognised. Is there any way i can eliminate this cdata ?
    <?xml version="1.0" encoding="utf-8" ?>
    - <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    - <soap:Body>
    - <C_XML xmlns="http://bradtest.velsol.com/">
    - <sXML>
    - <![CDATA[ "<?xml version="1.0" encoding="UTF-8" ?><DEBMAS02><IDOC BEGIN="1"><EDI_DC40 EGMENT="1>00000000</DBMON></E1KNKKM></E1KNA1M></IDOC></DEBMAS02>"
      ]]>
      </sXML>
      </C_XML>
      </soap:Body>
      </soap:Envelope>
    any help would be appreciated, how to eliminate the CDATA
    Thanks,
    Raj
    Message was edited by:
            raj reddy

    Hi
    The deleteData() method deletes data from a CDATA node.
    <b>Syntax</b>
    CDATANode.deleteData(start,length)
    <b>Please try following code</b>
    xmlDoc=loadXMLDoc("books_cdata.xml");
    var x=xmlDoc.getElementsByTagName("html")[0].childNodes[0];
    x.deleteData(0,3);
    document.write(x.data);
    For more help go through following link
    <b>http://www.w3schools.com/dom/met_cdata_deletedata.asp</b>
    Thanks
    Abhishek Mahajan
    ***Please Reward points if find helpful****

Maybe you are looking for