Problem In Interface Mapping

Hi,
I am having an Interface Mapping involving two mapping programs in the following sequence:
1) Message Mapping
2) Java Mapping
There are two Message Interfaces on the source side and one MI on the target side. Now the problem is that only the Java mapping is getting executed not the Message Mapping.
Please note the following points:
1) There is no error while executing the Interface Mapping.
2) The Message Mapping is getting executed perfectly.
Please let me know what could be the possible error.
Thanks,
Abhishek.

Hi Abhishek,
As you said you have two source structure and one target structure.
after executing the first mapping output is not same as the input required by the second mapping.
Also keep in mind that you can not persist the message here so the output of first mapping should not modify the structure. You can anly modify the values.
you can confirm the same with some dummy scenario
Thanks
Sunil Singh

Similar Messages

  • File-soap-file : problem in getting Interface Mapping

    Hi
    I am doing file to Soap to file scenario by using BPM. But I have several methods in Web Service.I am using one method for my requir in that I have to trigger by using CharSoapIn and CharSoapout interfaces .
    I have created
    <i>Message mappings</i> 1 Sen_File_MT to CharSoapIn and 2. CharSoapout to Rec_File_MT.
    <i>Interface Mapping</i> 1. File to Soap and 2. Soap to File respectively.
    I know I have to create 3 receiver determinations.
    Problem is I am not finding out the Interface Mapping where I am configuring from BPM to Business Service.
    I am using Business Service I feel that I am going wrong some where  in adding the "Services".
    Anyone help me out..what would be the problem
    Thanks
    Shankar.

    Yes I am using Abs interfaces and I am following below block
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    Fig 13 I am using separatly FileRequest_MT to CharSoapIn and FileResponse_MT to CharSoapOut.
    But here instead of RFC I am using SOAP also I am using Business Service intead of Business System.
    I am unable to fine the Interface Mapping from BPM to Soap or BMP to File
    Thanks
    Shankar

  • Problem while determining receivers using interface mapping: "SYSTEM FAILURE" during JCo call. Bean SMPP_CALL_JAVA_RUNTIME3 not found

    We have a SOAP to PROXY scenario Which is in Production.
    We keep getting the Error:
    " Problem while determining receivers using interface mapping: "SYSTEM FAILURE" during JCo call. Bean SMPP_CALL_JAVA_RUNTIME3 not found on host XXXXXX, ProgId =AI_RUNTIME_XXX.
    We are using Standard Receiver Determination with single receiver without any condition. And no mapping being used in interface determination.
    What are all the possible situation where we face such as this issue in Production.

    Please check the SAP note
    # 1706936 - messages fails with error java.lang.RuntimeException Bean SMPP_CALL_JAVA_RUNTIME3 not found
    1944248 - PI unstable due to JCO_SYSTEM_FAILURE mapping issues

  • Interface Mapping problem ?

    Hi
    I am trying a simple File-File scenario.I am able to test the Message Mappings(VENDOR_INOUT) successfully as both source and target structures are same. However when I finally create the Interface mapping and map the source and target interfaces using the above Message mapping, the test fails with the below dump..
    Am I missing some configuration in the setting?
    Messages:14:09:13 Start of Test
      - LinkageError at JavaMapping.load(): Could not load class: com/sap/xi/tf/_Vendor_INOUT_
      - java.lang.NoClassDefFoundError: Illegal name: com/sap/xi/tf/_Vendor_INOUT_
         at java.lang.ClassLoader.defineClass(ClassLoader.java:538)
           at java.lang.ClassLoader.defineClass(ClassLoader.java:448)
           at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingLoader.findClass(RepMappingLoader.java:173)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
           at com.sap.aii.ibrep.server.mapping.ibrun.RepJavaMapping.load(RepJavaMapping.java:130)
           at com.sap.aii.ibrep.server.mapping.ibrun.RepJavaMapping.execute(RepJavaMapping.java:49)
           at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:75)
           at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:110)
           at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:141)
           at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:120)
           at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:51)
           at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.transform(MapServiceRemoteObjectImpl0.java:305)
           at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:266)
           at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:292)
           at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:183)
           at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:118)
           at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
           at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
           at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
           at java.security.AccessController.doPrivileged(Native Method)
           at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
           at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
    14:09:14 End of Test

    Karl
    I have tried your suggestions without much success..What I am surprised to see is that I can see the same problem in prebuilt interface mappings from samples provided by SAP (flightbooking example).      
    I was wondering if there could have been some problem in configuring our Xi installations. Any pointers?
    regards
    Sriram V.

  • Interfaces mapping problems.

    Michal,
    I'm having some problems with the sender agreement and the receiver determination, let me explain you the scenario: i'm trying to translate inbound plain text files to XML to a outbound interface for MDM.
    An XI consultant (expertise) has successfully created the inbound - outbound interface mappings for vendors catalog, it has worked good since he set it up, but now that i'm trying to create the materials mapping according to the manuals step by step, i can't create the receiver determination settings,  the pop-up window return 0 objects for interface mappings (that i have already created and linked with msg types).
    So what can i do? Do you have any idea?
    Regards,
    Gerardo.

    Hi Shravan, Manish:
    Thanks for the answer but, i'm still having the same problem at the receiver determination. I found the select criteria to select the inbound interface, but there isn't a selection criteria to the interface mapping or even i don't know where to find it. I also have checked the namespace, but it's the same at all the definitions.
    I've checked the setting up process that i made and i couldn't find what's the origin of the problem, i'll give you a general review of the scenario i've created, check it out:
    At design:
    Message interfaces <- Message types <- Data types.
    Interface mappings <- Message mappings.
    At configuration:
    Receiver determination <- Interface determination // <- Interface mapping. (here is the problem)
    Sender Agreement <- Comunication channel.
    Receiver Agreement <- Comunication channel. 
    In the configuration overview for receiver determination appears with red color letter: Mapping "not specified" and the receiver agreement "does not exist".
    Thanks for your help, i'll be waiting for your reply.
    Regards,
    Gerardo.

  • Interface mapping Object does not exist in runtime cache

    I am getting the following error after importing IR into our test system (PI7.0 SP10).
    Interface mapping Object ID 19C3AC9D13B03787AEEB85169D0B6900 Software Component 8C51B2209F3C11DB94CEEB180DDF0074 does not exist in runtime cache Exception of class CX_XMS_SYSERR_MAPPING
    You want to execute interface mapping Object ID 19C3AC9D13B03787AEEB85169D0B6900 Software Component 8C51B2209F3C11DB94CEEB180DDF0074 .     However,the data of this interface mapping is missing in the runtime cache. Activate the interface mapping in the Integration Repository.
    I cannot change the mapping and reactivate - as this cannot be changed.
    I have run SXI_Cache, Cleared SLD caches on IR and ID and run cacherefresh=full, but no luck!
    The mapping is there and I can test it in the IR.
    Any thoughts?

    I had this problem today, maybe this helps someone when searching about this (at least this is the first hit at a very big search engine when searching for interface mapping does not exist...)
    I have a RFC => PI => File scenario. I was aware that this would need to be asynchronous so I set up the message interface (service interface for PI > 7.0) as asynchronous inbound. This is the file receiver part of the interface.
    Hints on the error: Audit Log in message details of RWB showed a line like this: RFC adapter received sRFC for ZMY_FM from <sender SID>/<sender client>. Attempting to send message synchronously. This of course could not work as file is asynchronous by default.
    Bottom line however was, to make the call of the sender RFC asynchronous by using "in background task" like so:
    CALL FUNCTION 'ZMY_FM'
       IN BACKGROUND TASK
       DESTINATION 'PI_DEST'
       EXPORTING
         t_file = lt_file.
    COMMIT WORK.
    Don't forget the commit work here.
    Hope this helps.
    Cheers
    Jens

  • Problem in Java Mapping

    Hi,
          I was trying out a simple Java mapping example.
    Example of source structure is -
    <?xml version="1.0"?>
    <ns0:MT_SRC xmlns:ns0="http://www.sap-press.com/xi/training/00">
    <organization>
    <employee>
    <firstname>Jack</firstname>
    <lastname>Rose</lastname>
    </employee>
    <employee>
    <firstname>Paul</firstname>
    <lastname>McNealy</lastname>
    </employee>
    <employee>
    <firstname>Vaibhav</firstname>
    <lastname>Pandey</lastname>
    </employee>
    </organization>
    </ns0:MT_SRC>
    Example of target structure is -
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_TRGT xmlns:ns0="http://www.sap-press.com/xi/training/00"><Organization><employee><name>JackRose</name></employee><employee><name>PaulMcNealy</name></employee><employee><name>VaibhavPandey</name></employee></Organization></ns0:MT_TRGT>
    and here's the code I'm using
    package com.mapping;
    import java.io.*;
    import java.util.Map;
    import java.util.HashMap;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import com.sap.aii.mapping.api.MappingTrace;
    import com.sap.aii.mapping.api.StreamTransformation;
    public class JavaMap implements StreamTransformation{
         private Map param = null;
            private MappingTrace  trace = null;
            public void setParameter (Map param) {
                this.param = param;
                if (param == null) {
                    this.param = new HashMap();
            public void execute(InputStream in, OutputStream out) {
                   OutputStreamWriter buf_writer = new OutputStreamWriter(out);        
                   InputStreamReader buf_reader = new InputStreamReader(in);
                   String mat = new String();
                   String extmat = new String();
                   try {
                        buf_writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>" ,0,56);
                        buf_writer.write("<ns0:MT_TRGT xmlns:ns0=\"http://www.sap-press.com/xi/training/00\">");
                        buf_writer.write("<Organization>",0,20);
                        buf_writer.flush();
                  } catch(IOException e){};
                  try {
                       DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();          
                       factory.setValidating(false);          
                       DocumentBuilder builder = factory.newDocumentBuilder();          
                       Document doc = builder.parse(in);
                        String fname = null;
                        String lname = null;
                        doc.getDocumentElement().normalize();
                        //System.out.println("Root element " + doc.getDocumentElement().getNodeName());
                        NodeList nodeLst = doc.getElementsByTagName("employee");
                        //System.out.println("Information of all employees");
                        for (int s = 0; s < nodeLst.getLength(); s++) {
                        Node fstNode = nodeLst.item(s);
                        if (fstNode.getNodeType() == Node.ELEMENT_NODE) {
                             buf_writer.write("<employee>");     
                        Element fstElmnt = (Element) fstNode;
                        NodeList fstNmElmntLst = fstElmnt.getElementsByTagName("firstname");
                        Element fstNmElmnt = (Element) fstNmElmntLst.item(0);
                        NodeList fstNm = fstNmElmnt.getChildNodes();
                        //System.out.println("First Name : " + ((Node) fstNm.item(0)).getNodeValue());
                        fname = fstNm.item(0).getNodeValue();
                        NodeList lstNmElmntLst = fstElmnt.getElementsByTagName("lastname");
                        Element lstNmElmnt = (Element) lstNmElmntLst.item(0);
                        NodeList lstNm = lstNmElmnt.getChildNodes();
                        //System.out.println("Last Name : " + ((Node) lstNm.item(0)).getNodeValue());
                        lname = lstNm.item(0).getNodeValue();
                        buf_writer.write("<name>"fname" "lname"</name>");
                        buf_writer.write("</employee>");
                        buf_writer.write("</Organization>");
                        buf_writer.write("</ns0:MT_TRGT>");
                        TransformerFactory tFactory = TransformerFactory.newInstance();
                     Transformer transformer = tFactory.newTransformer();
                     transformer.setOutputProperty("indent", "yes");
                     DOMSource source = new DOMSource(doc);
                     StreamResult result = new StreamResult(out);
                     transformer.transform(source, result);
                        } catch (Exception e) {
                        e.printStackTrace();
    However, when I'm testing my Interface mapping, I'm getting the following error -
    Call method execute of the application Java mapping com.mapping.JavaMap
    Error during appliction Java mapping com/mapping/JavaMap
    java.lang.StringIndexOutOfBoundsException at java.lang.String.getChars(String.java:672)
    Could anyone please help me out with this?
    Thanks and Regards,
    Shiladitya

    HI,
    It looks to be that your JavaMap class have one field whihc will be not getting the proper value as input thus its creating the array Index out of bound exception.
    Please can you verify if you have assigned the proper String size for all the fields.
    Or probably you are getting the blank value which have created the execption.
    Also can you narrow down and let me know about the line String.getChars(String.java:672)
    Here you have used the try and catch option but may be the exact line no. can give better idea about the problem.
    Thanks
    swarup

  • XSLT Interface Mapping Not Found For HTTP Response

    NW 04's SR 10, RFC => XSL => HTML
    The scenario transforms data from R/3 into XML using XSLT and sends it to a 3rd party vendor wrapped inside a field of an HTML form via the HTTPS adapter.  XSL was used for this instead of standard MessageMapping to meet the customer's needed for the XML data to be delivered in an untransformed structure, including their DTD declaration, so they could parse it upon receipt.
    The outbound process is successful and the data is posted to the customer's database.  Upon receipt, they send back a simple HTML form containing the success/failure in an H1 tag and our submitted XML data in the Body tag.
    The problem is that due to the use of an XSL as the outbound mapping XI does not have a cached message structure to which it can map the response and thus throws the <b>Interface mapping .... does not exist in runtime cache</b> message.  I do not feel this is a cache problem since I've cleared the XI cache, CPACache and anything else I've read as well as verified that the outbound mapping exists in the XI Cache list.  I honestly feel I'm just missing a necessary piece to tell XI how to map the HTML response message back to the RFC Sender.
    I have attempted numerous ideas, one of which included the use of the same RFC structure as the inbound and outbound MessageType so that a Response mapping could be specified but a NullPointerException was thrown in the mapping step since the response was of a completely different structure.
    My question is how to handle the return data when using XSLT to create the outbound structure dynamically to prevent runtime errors in XI?
    Thanks in advance,
    Lane

    Thanks for the quick response Bhavesh.
    I figured out the response mapping option after I posted the question and also thought of using XSL to handle the response but I ran into a few other issues relating to my limited experience with XSLT that is preventing me from completely solving this.
    The response is a plain HTML file structured as:
    < html >
      < body >
        < h1 >Success/FailureMessage< /h1 >
        < br >
        Record Created
        < br >< br > XML Data: <?xml version="1.0" encoding="utf-8"?><!DOCTYPE ....
      < /body >
    < /html >
    where the actual XML data posted to the client system is embedded in the HTML body.  Therefore the response is not well-formed XML and fails on parsing but also contains another XML message within the HTML structure that throws off parsing as well.  Do you know XSLT well enough to get around this?
    What about writing a Java function that just reads the incoming information but in doing this how do I go about mapping back to the RFC?  Can I get ahold of the XI API somewhere to instantiate the RFC Objects dynamically?
    Thanks again,
    Lane

  • Interface Mapping Not Found in Integration Directory

    Hey guys!
    I'am getting this error in the test configuration part of the integration directory:
    "Interface Mapping: <Not Found> com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping"
    I don't see why I should be getting this error since I have properly defined a message and interface mapping for the receiving interface.
    BTW,  I get this error when I use XSLT mapping. If I point my interface mapping to a normal message mapping, I get no error. Is there anything I am missing?
    Regards,
    Glenn

    The weird thing is that when I test the the configuration in the Integration Directory, it is still looking for my old message mapping (the one i created using xi editor) even though I already replaced the referenced message mapping in the interface mapping to the XSL one.
    Yes, I tested the interface mapping with the same data using the XSL mapping and there's no problem.
    When I send the message though, I get an error saying "NO_RECEIVER_CASE_ASYNC" I really don't see why it should not recognize the receiver. I tried refreshing the cache but it still looks for my old mapping program...
    :P

  • Problem with Mulit Mapping/Message Split

    Hi,
    I am a newbie to XI trying to set up a file2file scenario with multi-mapping/message splitting without BPM.
    System is XI 3.0 SP14
    Scenario is:
    read an XML-File and multiply it and write 2 XML-files using the File adaptor.
    For reference I used "multimapping without BPM".
    - setting occurancy of Message types to unbounded in both Message Mapping and Interface Mapping.
    - using the RB_Split button
    - setting up one business service containing 2 message interfaces and 2 communication channels for output.
    Designing and Konfiguring worked fine.
    File is read but no file is written.
    XML-Moni tells me "Mapping did not create Messages" 
    I did extensive studies in sap.help, forum and various blogs. Also to verify Messagetypes and Kommunication channels I set up similar file2file scenario without splitting. Nothing really helped.
    Any clues?

    Hi again,
    very efficient method to test XML-source file. - Thanks.
    Unfortunately it did not solve my problem.
    Again: "Split mapping did not create messages"
    Below you can find a part of the trace created when processing this message:
    <Trace level="3" type="T">Multi mapping required.</Trace>
      <Trace level="3" type="T">Creating Java mapping com/sap/xi/tf/_MM_data_duplic_async_.</Trace>
      <Trace level="3" type="T">Load ac6179b0-a92e-11da-be15-e51f0a000472, http://MyTutorial/SHeinz05, -1, com/sap/xi/tf/_MM_data_duplic_async_.class.</Trace>
      <Trace level="3" type="T">Search com/sap/xi/tf/_MM_data_duplic_async_.class (http://MyTutorial/SHeinz05, -1) in swcv ac6179b0-a92e-11da-be15-e51f0a000472.</Trace>
      <Trace level="3" type="T">Loaded class com.sap.xi.tf._MM_data_duplic_async_</Trace>
      <Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._MM_data_duplic_async_</Trace>
      <Trace level="2" type="T">Java mapping com/sap/xi/tf/_MM_data_duplic_async_ completed. (executeStep() of com.sap.xi.tf._MM_data_duplic_async_</Trace>
      <Trace level="3" type="T">Nachrichtentyp 1 Anzahl der Nachrichten 0</Trace>
      <Trace level="3" type="T">Nachrichtentyp 2 Anzahl der Nachrichten 0</Trace>
      <Trace level="1" type="E">CL_XMS_PLSRV_MAPPING~ENTER_PLSRV</Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
      <Trace level="3" type="T">Persisting message after plsrv call</Trace>
      <Trace level="3" type="T">Message-Version = 005</Trace>
      <Trace level="3" type="T">Message version 005</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </Trace>
      <Trace level="3" type="System_Error">Error exception return from pipeline processing!</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      <Trace level="3" type="T">Persisting message Status = 014</Trace>
      <Trace level="3" type="T">Message version 006</Trace>
      <Trace level="3" type="T">Pipeline CENTRAL</Trace>
      </SAP:Trace>
    Test of MM and IM is always successful.
    Any clues?

  • Without BPM:Call RFC using JCO in interface mapping using java mapping

    Hi all
    I have a very small scenario where REQUEST from the customer comes via Web Service all i have to do is to read the request using SOAP adapter and call an interface mapping(lets say the name is IM_TEST) inside which there is a JAVA MAPPING program written which will call an RFC in CRM using JCO.
    Now this was really simple and i cud test the Interface mapping successfully, but the problem is when loading the scenario in integration directory i have certain things to do
    1. to set the SENDER AGREEMENT which i did correctly
    2. set the RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT now here i am stuck because there is no receiver in my case as the RFC is called inside the mapping only.
    can i call one more message mapping in IM_TEST which will write file onto the XI directory and then in RECEIVER DETERMINATION, INTERFACE DETERMINATION AND RECEIVER AGREEMENT i can mention the reciever as FTP.
    I tried it but i gives the following error
    Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_TEST_WRITE_FILE: com.sap.aii.utilxi.misc.api.BaseRuntimeException; Parsing an empty source. Root element expected!
    Please help me how to complete the scenario so that customer can run it end to end.
    <REMOVED BY MODERATOR>
    Edited by: Prateek Raj Srivastava on May 12, 2010 1:44 PM

    Stefen
    What do i do then...actually this is the project requirement. They want a very fast response from PI and thats why they wnt us to omit BPM and the Graphical mapping from the scenario.
    I am able to test the interface mapping which calls the the Java mapping inside which there is an RFC call, but i cannot implement it end - to - end as there is no receiver business system in this case. The only business system i have is the SOAP sender.
    I am really troubled now, please help me with a solution.
    Is there any other possible way through which the process can become very fast whic hcan meet their requirement.
    Regards
    Naina

  • Message Mapping vs Interface Mapping test tabs giving different results.

    Hi all,
    I am developing an interface that always requires an output file to be created (even if there is no data).  I have found a way to change my select statement in the JDBC sender to initiate the message even if there isn't any data (using UNION select -1 ID, '' col1, '' col2, etc.) and that seems to work fine.  I then put logic in the message mapping to suppress the row that contains the -1 ID value, which would result in an empty file when there is no other data, and should result in a file containing only the correct data when there is data.
    So, my problem: I am always getting empty files with this logic.  I tested the logic in the message mapping test tab and it worked perfectly, however when I test it using the interface mapping test tab it results in what becomes an empty file!
    My source and destination structures are fairly simple:
    Root
    --row
    ID
    col1
    col2
    The logic I use to suppress the ID = -1 row is:
    =removeContexts([]ifWithoutElse([keepss=true]Not([]equalsS([]ID, Constant([value=-1]))), SplitByValue([type=Each value]row)))
    Obviously, I'm stumped - any help would be appreciated!
    Edited by: Mike Morrison on Sep 23, 2010 5:04 PM

    Hi Mike,
    Can you quote the error log..u r getting error in message mappin or interface mapping?
    Please suggest the test results for both the mappings.
    Thanks,
    Sushama

  • BPM Error in Transformation Step: Interface Mapping not found

    Hi,
    Can you help me on this? I have a tranformation step in my BPM that combines a request and response message of a previous Send step to create a Source message for the next Send step. However, on my transformation step, I got the mapping error in workflow log: Interface mapping http://gl.euhreka.com/learning/skillsoft/catalogSy.YGLXI_OM_MergeRequestAndHandleResponseAB_To_PollFo (SWCV=DF8549309ECE11DFB58DF3570A341E0F) not found
    Do you have any idea about this error? My mapping program is working fine. I also checked if the container elements assigned to the transformation steps are correct. 
    Can you suggest of other way on how can I achieve on merging 2 messages (request and response) and set it to the Request for another send step?
    Thanks,
    Jenny

    Hello,
    I already solved the problem. The namespace and Operation mapping name is too long that's why it cannot be located at runtime.
    After the rename, another error appeared.
    "Incorrect XML format after mapping: Root-Tag expected instead of Messages"
    There are no useful information on the trace:
      <?xml version="1.0" encoding="utf-8" ?>
    - <MappingTrace>
      <Trace level="1" type="T">Mapping http://test YGLXI_OM_Merge , Software Component Version DF8549309ECE11DFB58DF3570A341E0F</Trace>
      <Trace level="1" type="T">Mapping Step 1 , Type XSLT , Program PollForReport_Merge</Trace>
      <Trace level="2" type="T">Call XSLT processor with stylsheet PollForReport_Merge.xsl.</Trace>
      <Trace level="2" type="T">Returned form XSLT processor.</Trace>
      </MappingTrace>
    Here is myXSLT program:
    <?xml version='1.0' encoding='utf-8' ?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  >
         <xsl:template match="/">
              <YGLXI_MT_PollForReportRequest>
                   <customerID>
                        <xsl:value-of select="//customerID"/>
                   </customerID>
                   <customerPassword>
                        <xsl:value-of select="//customerPassword"/>
                   </customerPassword>
                   <reportIDHandle>
                        <xsl:value-of select="//reportHandle"/>
                   </reportIDHandle>
              </YGLXI_MT_PollForReportRequest>
         </xsl:template>
    Here is my source message:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <ns1:YGLXI_MT_InitiateFullCourseListingRequest xmlns:ns1="http://gl.euhreka.com/learning/skillsoft/catalogSynchronization">
             <customerID>ZZZ</customerID>
             <customerPassword>XXX</customerPassword>
             <reportFormat>VVV</reportFormat>
             <mode>VCC</mode>
             <userName>CC</userName>
          </ns1:YGLXI_MT_InitiateFullCourseListingRequest>
       </ns0:Message1>
       <ns0:Message2>
          <ns1:YGLXI_MT_InitiateFullCourseListingResponse xmlns:ns1="http://gl.euhreka.com/learning/skillsoft/catalogSynchronization">
             <reportHandle>SADA</reportHandle>
          </ns1:YGLXI_MT_InitiateFullCourseListingResponse>
       </ns0:Message2>
    </ns0:Messages>
    I tested my program in Operation mapping and it is working. How come it is not in BPM?
    Thanks,
    Jenny

  • Interface mapping test successful, throws exception in BPM

    Hi.
    We are having a problem with an Interface mapping which works when
    tested in Integration Builder, but throws an Exception when it is part
    of the Transformation in a BPM.
    The scenarion is such:
    1. The sender calls the outbound interface using a web service.
    2. XI uses the input and passes to the Integration Process
    3. In the BPM, a LOGON message is built to call the web service as
    specified by an external web service . The input and
    output messages are just a single string, in which the other XML is
    embedded.
    4. XI receives a response from the web service call
    5. XI Extracts the sessionId from the response and combines it with the
    initial input (Step 1) to create the query for the query message in
    the web service.
    It is in Step 5 where the transformation fails, with an Exception in
    the DefaultTrace.trc as
    Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    Thrown:
    MESSAGE ID: com.sap.aii.ibrun.server.mapping.rb_MappingRuntimeException.EXCEPTION_DURING_EXECUTE
    com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_MM_LogonResponse_PropertySearchRequest_to_ExternalRequestSOAP_: com.sap.aii.utilxi.misc.api.BaseRuntimeException; RuntimeException in Message-Mapping transformation: Cannot produce target element /ns0:Messages/ns0:Message1/ns1:EXTERNAL/REQUEST. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd
    I have extracted the data from the initial request (step 1) and the
    logon response (step 4) and using these I have tested the Interface
    Mapping. There is no problem with this and the tests are successful.
    From what I can see, because the Response field in the LOGONResponse
    contains more XML tags, XI must be parsing it and assuming the tags are
    tags in the message, and not just the string, thus it is complaining
    that the XSD types do not match. This extra XML Parsing does not take
    place in the Interface Mapping Test.
    I have put the response into a User Defined Function which just has one
    line "return new String("Hello")" and that fails. However, if this UDF
    does not have the Response as the input, it does not complain.
    Please advise.
    --Reenal

    hi
    You will have to use specific replacements for you xml tags if it is coming as a paramter
    replace '<' with &lt;
    replace '>' with &gt;
    for eg: I want to pass <TakeIt>200</TakeIt> as value to Element <A>
    Mapping won't work if it is passed like
    a) <A><TakeIt>200</TakeIt></A> - Wrong
    Instead the replace the angle brackets
    b) <A>&lt;TakeIt&gt;200&lt;/TakeIt&gt;</A> - Correct
    While testing the mapping in IR (a) will work bcoz the test tool will convert it to (b) format. Check the xml source in test tool.
    So ensure the web response is like (b)
    rgds,
    Arun

  • NO Interface Mapping found in the Integration Directory (Configuration)

    Hi,
    I've got following problem with PI 7.0::
    I have a Mapping Scenario designed in the IR. It works - using test function - there. If I go to the COnfiguration Tool during creating of the Interface Determination it doesn't find the Interface Mapping. The Sender resp. Receiver Interfaces are correct assigned to the Business Systems.
    - Sender Business System is a FTP Server, which contains the needed Sender Interface.
    - Receiver Business System is a SAP R3 System containing the RFC Receiver Interface.
    I had to change the Related Integration Server of the SAP Business System in the SLD. How can I be shure, that my PI System is syncronous with the SLD? How can i get the newest changes - BS, TS or SC - from the SLD updated to my PI?
    Thx in advance
    Michael

    Hi,
    You must make sure that you have correctly identified the interfaces in your interface mapping.
    1. Message Interfaces are correctly configured
    2. Outbound/Inbound Interfaces are correctly declared in Interface Mapping
    Otherwise, your interface mapping would not be found in the interface determination in Integration Directory.

Maybe you are looking for