Doubt with Java Mapping

I have an interface that got a Java Mapping. This interface is from a non-sap system to SAP (xml to Idoc).
I have to change some stupid thing in the mapping, but the problem is that I dont know how can I do this.
I go to Mapping Objects\Imported Archives and I Export all files (lot of files) that I found in there. I gave them to a guy that knows about Java, and he said me that al those are class librarys, and there is no code in there so we can change it.
I cant do anything in message mapping because there is no mapping in there, and someone ask me if I can do something in BPM so we can do a simple mapping thing, but I think this is impossible (dont know why)
Maybe theres ir another way so I can get the original Java code to change the mapping.
Who can help me?

Hi Claudio
As suggested above you can use another mapping program that can change the target message generated by Java mapping you have into the target message you need.
To add more mappings you need to add them in Interface mapping in a sequence.
Moreover if you have only class files download a decompiler and decompile your java class to get the code
Hope this helps
Thanks
Gaurav

Similar Messages

  • Should we avoid Graphical mapping and stick with Java mapping?

    After developing mappings in XI for a month, I just don't see any good reasons to use Graphical mappings over Java mappings. Maybe some experienced users here can give me some valid reasons why we should choose Graphical mappings. Here is what I think:
    Disadvantages of Graphical mappings:
    1. No way to perform automated unit testings. This is probably the biggest reason I hate it. You can do some tests manually when you work in Integration Builder. But there is no way you can write some unit testing utilities to automate the task.
    2. Complexity. Even for some simple requirements, your Graphical mappings can become complicated and hard to understand. A lot of times, I find myself staring at several dozens of graphical nodes and try to understand what it does.
    3. Impossible to reuse. This is totally against the DRY (Don't repeat yourself) principle. For example, to generate messages for JDBC adapter, it is common to have two identical fields for primary keys: one in the access node and another in the key node. If you change the mapping logic in one, you have to remember to change the other.
    Advantage with Java mappings:
    1. Fully automated unit testing. You can create JUnit tests along with your Java mapping classes and use Maven or other build tools to perform automated unit testing.
    2. Your choice of XML parsing and binding. With Java mapping, you can choose any open source framework for XML parsing and binding. For example, with XMLBeans, I can convert XML input message to a Java object, transform to another Java object and write to output message. And each Java object is generated from its corresponding XML schema.
    3. Highly reusable. We can use fundamental object-oriented designs to create highly reusable mapping components.
    4. Better version control. Since the mappings are just Java classes, we can use CVS or SVN to track code changes.
    5. Better build tools. We can fully utilize build tools like Ant and Maven to automate the build, unit tests, or even generate documents and mapping web sites.
    So do you guys agree? Maybe I am still new to XI or I am missing some important things. But at this point, I just don't see why I should use Graphical mappings. Is there anyone developing XI interfaces completely with Java mappings?
    Thanks in advance for any comments!
    Kenny Cheang

    Hi Suraj,
    > Since its graphical the blocks will take space, but
    > there is always an adavntage of processing time.
    > Ebven though it may appear bigger, it will take less
    > time as compared with Java code (for the same
    > mapping).
    Could you explain more why the graphical mapping has better performance? I thought the graphical mapping is compiled into a Java class in the runtime anyway.
    > Yes thats there, but same goes with Java mapping too
    > right (if you haven't mentioned it as constants)
    I mainly think about inheritance. If I have to build 10 interfaces and they all have some common behavior, I can create a base interface class to encapsulate the common logic. But with graphical mapping, you have to duplicate them in each interface.
    > Disadvantages of Java mapping:
    > 1. Performance
    Same as above. I just don't see why Java has worse performance. I actually think Java should have better performance. You can optimize the code anyway you want. In some cases, you have to use queue functions in graphical mapping but it's not necessary in Java.
    > 2. All might not be well versed with Java Code(though
    > everyone may know basic java) .
    I am not asking everyone to abandon graphical mapping. I am just wondering which one is better when you have skills for both.
    > 3. Lot of standard functions are available in GM
    > which you can choose, but you have to remember the
    > exact code for those in Java mapping.
    You can create functions in Java too. All you have to do is to remember the function name.
    Kenny

  • Problem with Java Mapping

    Hello experts,
    I developed a Java Mapping Programm for reading filename of a pdf file and giving filename to a rfc structure for calling a rfc module. Thus, I test it via testing interface method and implementing a main method in my mapping class, which works, but if I run it in the integration server  I get the following exception:
    MP: Exception caused of com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.StringIndexOutOfBoundsException: String index out of range: -7: com.sap.aii.af.rfc.afcommunication.RfcAFWException: java.lang.StringIndexOutOfBoundsException: String index out of range: -7
    That is the execute method of my class:
         public void execute(InputStream inputStream, OutputStream outputStream)
              throws StreamTransformationException {
              // TODO Auto-generated method stub
              try { //The following is for the FileName in the File Adapter
                   DynamicConfiguration dynamicconfiguration =
                        (DynamicConfiguration) map.get("DynamicConfiguration");
                   DynamicConfigurationKey key =
                        DynamicConfigurationKey.create(
                             "http://sap.com/xi/XI/System/File",
                             "FileName");
                   String myFileName = dynamicconfiguration.get(key);
                   MappingTrace trace = null;
                   trace.addInfo(myFileName);
                   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                   DocumentBuilder db = dbf.newDocumentBuilder();
                   TransformerFactory tf = TransformerFactory.newInstance();
                   Transformer transform = tf.newTransformer();
                   Document docout = db.newDocument();
                   Element root = docout.createElement("Z_SD_WEB_HP_INVOICE_STATUS");
                   root.setAttribute(
                        "xmlns:ns1",
                        "urn:sap-com:document:sap:rfc:functions");
                   docout.appendChild(root);
                   Element docName = docout.createElement("IM_DOCNAME");
                   root.appendChild(docName);
                   Text srcxml = docout.createTextNode(myFileName);
                   docName.appendChild(srcxml);
                   DOMSource domS = new DOMSource(docout);
                   transform.transform((domS), new StreamResult(outputStream));
              } catch (Throwable throwable) {
                   throwable.printStackTrace();
    If I test via main method and testing interface mapping  the generated xml is like:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?><Z_SD_WEB_HP_INVOICE_STATUS xmlns:ns1="urn:sap-com:document:sap:rfc:functions"><IM_DOCNAME>232132.pdf</IM_DOCNAME></Z_SD_WEB_HP_INVOICE_STATUS>
    I do not understand why I get this error in real environment.
    Kind regards,
    Erkan

    Hello experts,
    I found the solution. I will also publish this solution, this is also a point which I sometimes missing here in this forum:
    In creating the rfc-xml with java mapping, so a prefix should be add to the name of the rfc-structure e.g.
    ns1:Z_RFC_CALL. If this prefix is missing, then you get this error:
    com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.StringIndexOutOfBoundsException: String index out of range: -7: com.sap.aii.af.rfc.afcommunication.RfcAFWException: java.lang.StringIndexOutOfBoundsException: String index out of range: -7
    To find this I create a grafical test mapping and I check the test rfc-xml with the java created xml.
    Anyway thanks all for the published recommendations.
    Kind regards,
    Erkan

  • Help with java mapping

    PI File adapter has a processing option u2018Empty-Message Handlingu2019 to ignore or Write Empty Files. In case there is no data created after mapping on target side then this option determines whether to write an empty file or not. But there is a catch to this option when it comes to using it with File Content Conversion which is described in SAP Note u2018821267u2019. It states following:
    I configure the receiver channel with File content conversion mode and I set the 'Empty Message Handling' option to ignore. Input payload to the receiver channel is generated out of mapping and it does not have any record sets. However, this payload has a root element. Why does file receiver create empty output file with zero byte size in the target directory?  Example of such a payload generated from mapping is as follows:                                                           
    <?xml version="1.0" encoding="UTF-8"?>                          
    <ns1:test xmlns:ns1="http://abcd.com/ab"></ns1:test>
    solution :
    If the message payload is empty (i.e., zero bytes in size), then File adapter's empty message handling feature does NOT write files into the target directory. On the other hand, if the payload is a valid XML document (as shown in example) that is generated from mapping with just a root element in it, the File Adapter does not treat it as an empty message and accordingly it writes to the target directory. To achieve your objective of not writing files (that have just a single root element) into the target directory, following could be done:
    Using a Java or ABAP Mapping in order to restrict the creation of node itself during mapping. (This cannot be achieved via Message Mapping)
    Using standard adapter modules to do content conversion first and then write file. 
    can someone help with java mapping that can be used in this case?

    Hi,
        You have not mentioned the version of PI you are working in. In case you are working with PI 7.1 or above then here is the java mapping code you need to add after message mapping in the same interface mapping
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    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 com.sap.aii.mapping.api.AbstractTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import com.sap.aii.mapping.api.TransformationInput;
    import com.sap.aii.mapping.api.TransformationOutput;
    public class RemoveRootNode extends AbstractTransformation{
         public void execute(InputStream in, OutputStream out)
         throws StreamTransformationException {
    // TODO Auto-generated method stub
    try
         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder builderel=factory.newDocumentBuilder();
         /*input document in form of XML*/
         Document docIn=builderel.parse(in);
         /*document after parsing*/
         Document docOut=builderel.newDocument();
         TransformerFactory tf=TransformerFactory.newInstance();
         Transformer transform=tf.newTransformer();
         if(docIn.getDocumentElement().hasChildNodes())
              docOut.appendChild(docOut.importNode(docIn.getDocumentElement(),true));
              transform.transform(new DOMSource(docOut), new StreamResult(out));
         else
              out.write(null);
    catch(Exception e)
    public void setParameter(Map arg0) {
    // TODO Auto-generated method stub
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try{
         RemoveRootNode genFormat=new RemoveRootNode();
         FileInputStream in=new FileInputStream("C:\\apps\\sdn\\rootNode.xml");
         FileOutputStream out=new FileOutputStream("C:\\apps\\sdn\\rootNode1.xml");
         genFormat.execute(in,out);
         catch(Exception e)
         e.printStackTrace();
    public void transform(TransformationInput arg0, TransformationOutput arg1)
              throws StreamTransformationException {
         // TODO Auto-generated method stub
         this.execute(arg0.getInputPayload().getInputStream(), arg1.getOutputPayload().getOutputStream());
    In case you are working in PI 7.0 you can use this code
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Map;
    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 com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    public class RemoveRootNode implements StreamTransformation{
         public void execute(InputStream in, OutputStream out)
         throws StreamTransformationException {
    // TODO Auto-generated method stub
    try
         DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
         DocumentBuilder builderel=factory.newDocumentBuilder();
         /*input document in form of XML*/
         Document docIn=builderel.parse(in);
         /*document after parsing*/
         Document docOut=builderel.newDocument();
         TransformerFactory tf=TransformerFactory.newInstance();
         Transformer transform=tf.newTransformer();
         if(docIn.getDocumentElement().hasChildNodes())
              docOut.appendChild(docOut.importNode(docIn.getDocumentElement(),true));
              transform.transform(new DOMSource(docOut), new StreamResult(out));
         else
              out.write(null);
    catch(Exception e)
    public void setParameter(Map arg0) {
    // TODO Auto-generated method stub
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    try{
         RemoveRootNode genFormat=new RemoveRootNode();
         FileInputStream in=new FileInputStream("C:\\apps\\sdn\\rootNode.xml");
         FileOutputStream out=new FileOutputStream("C:\\apps\\sdn\\rootNode1.xml");
         genFormat.execute(in,out);
         catch(Exception e)
         e.printStackTrace();
    The code for PI 7.0 should also work for PI 7.1 provided you use the right jar files for compilation, but vice-versa is not true.
    Could you please let us know if this code was useful to you or not?
    Regards
    Anupam
    Edited by: anupamsap on Dec 15, 2011 9:43 AM

  • Multimapping with java mapping

    Hi,
      i am trying to do multimapping with java mapping, but I am getting error  "unexpected end-of-file" in SXMB_MONI.
    for multimapping I have appended necessary code...
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    <ns0:Message1>
    please suggest me solution.

    I am creating 1:N multimapping and for that i have written 2 java programs, one consist of "execute" method and another "main" method.
    and  java code is:
    public class Mapping_test implements StreamTransformation {     
         private Map map;
         public void setParameter(Map param) {
              map = param;
         public void execute(InputStream in, OutputStream out) {
                   try {       out.write( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>".getBytes());
                   out.write("<ns0:Messages xmlns:ns0=\"http://sap.com/xi/XI/SplitAndMerge\">".getBytes());
                    out.write("<ns0:Message1>".getBytes());
                    out.write("<ns1:FIN_GBO_AR_POSTING xmlns:ns1=\"urn:sap-com:AR_POSTING\">".getBytes());
                          out.write("<MS_GBO_Header>".getBytes());
                          out.write(("<SourceSystem>" + "FIS0045_FIS" +  "</SourceSystem>").getBytes());
                          out.write(("<TargetSystem>" + "FIS0101_SAP_ECC" +  "</TargetSystem>").getBytes());
                          out.write(("<InterfaceID>" + "sap"   +  "</InterfaceID>").getBytes());
                          out.write("</MS_GBO_Header>".getBytes());
                   out.write("</ns1:FIN_GBO_AR_POSTING>".getBytes());
                   out.write("<ns1:FIN_GBO_AR_POSTING xmlns:ns1=\"urn:sap-com:AR_POSTING\">".getBytes());
                          out.write("<MS_GBO_Header>".getBytes());
                          out.write(("<SourceSystem>" + "FIS0045_FIS" +  "</SourceSystem>").getBytes());
                          out.write(("<TargetSystem>" + "FIS0101_SAP_ECC" +  "</TargetSystem>").getBytes());
                          out.write(("<InterfaceID>" + "sap"   +  "</InterfaceID>").getBytes());
                          out.write("</MS_GBO_Header>".getBytes());          
                   out.write("</ns1:FIN_GBO_AR_POSTING>".getBytes());
                           out.write("</ns0:Message1>".getBytes());
                           out.write("</ns0:Messages>".getBytes());
      catch(Exception e)
    now I am getting error "unexpected end-of-file" mentioned above.
    please suggest ..

  • Issue with java mapping in a multi-mapping scenario

    Hi
        We have  a 1:n multiple mapping scenario in XI and the source is R3 proxy and target side is files. So, creating multiple file from a single message from R3 .
    R3 --> XI --> Multiple files
    Structure of the output of the multi-mapping is
    - <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    - <ns0:Message1>
    <Transaction>
    </Transaction>
    <Transaction>
    </Transaction></ns0:Message1>
    </ns0:Messages>
    wherein each Transaction node represents a file.
    Now, we need to introduce a constant /string like
    <!DOCTYPE Transaction PUBLIC \"-//XXXXXX//DTD BatchReceiptAuthorization//EN\" \"http://dtd.XXXXXXX.com/dtds/ReceiptAuthorization.dtd\">
    on each of the files at the very beginning - i.e within each transaction node , in the above structure, we need the above DTD string to be written.  To do this, we added a java mapping as the second mapping after the message mapping that creates this string. Is this the right approach and would it produce what we are expecting ?
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.util.Map;
    import com.sap.aii.mapping.api.StreamTransformation;
    import com.sap.aii.mapping.api.StreamTransformationException;
    import com.sap.aii.mapping.api.StreamTransformationConstants;
    import com.sap.aii.mapping.api.DynamicConfiguration;
    import com.sap.aii.mapping.api.AbstractTrace;
    public class ModifyRootAndDelay implements StreamTransformation {
         AbstractTrace myTrace;
    public void execute(InputStream input, OutputStream output) throws StreamTransformationException {
              try{
                   BufferedReader reader = new BufferedReader(new InputStreamReader(input));
                   String NameSpacePrefix = "<!DOCTYPE Transaction PUBLIC \"-//innotrac//DTD BatchReceiptAuthorization//EN\" \"http://dtd.innotrac.com/dtds/ReceiptAuthorization.dtd\">";
                   String sLine = null;
                   StringBuffer XmlMsg= new StringBuffer();
                   String Result,PayloadBody;
                   int indexOfFirst;
                   while ((sLine = reader.readLine()) != null) {
                        XmlMsg.append(sLine);
                   String StartingTag = XmlMsg.toString();
                   indexOfFirst = StartingTag.indexOf("<MerchantID>") ;
                   PayloadBody=new String(XmlMsg.substring(indexOfFirst));
                   Result=NameSpacePrefix.concat(PayloadBody);
                   output.write(Result.getBytes());
              /*     Thread.sleep(200000); */
              }catch(Exception e){
                   myTrace.addWarning("Exception raised in the JavaMapping:modifyNamespace.java""\n The Exception Message: " e.getMessage());
                   throw new RuntimeException(e.getMessage()) ;
            }     public void setParameter(Map param) {
              myTrace = (AbstractTrace) param
                        .get(StreamTransformationConstants.MAPPING_TRACE);

    Hi XI Gurus
                       In my scenario, I sent the inputstream that is being passed to the Java execute method - to trace and I see that the whole of the xml file - as shown below  - which is the output of message mapping ( from the first mapping step ) in sent to the execute method of the java mapping a single call
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
    <ns0:Message1>
    <Transaction> </Transaction>
    <Transaction> </Transaction>
    </ns0:Message1>
    <ns0:Messages>
    So, I modified Java mapping program to look for multiple occurences of <Transaction> tag and prefix them with my constant DTD Literal - which is the primary reason , why I had to use Java mappings after the message mapping.
    Now, I get an error is XI- SXMB_MONI
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="MAPPING" />
      <SAP:P1>unexpected symbol; expected '<', '</', entity refe</SAP:P1>
      <SAP:P2>rence, character data, CDATA section, processing i</SAP:P2>
      <SAP:P3>0</SAP:P3>
      <SAP:P4>113</SAP:P4>
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>The exception occurred (program: CL_XMS_MAIN===================CP, include CL_XMS_MAIN===================CM00A, line: 609)</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Should I create multiple outputs - as many as the numberof target split files ( of type outputstream ) from the execute method in the java program ?

  • SOAP Adapter with JAVA Mapping.

    Hi,
    I am trying a scenario,
    file->SOAP Receiver->SOAP Sender->IDOC
    in this I have used two interface mapping(and two mapping also).
    In first mapping i used Java mapping. so the WSDL of this is of no use for me.
    and in second mapping graphical mapping is performed.
    but my scenario is not woking completely. only one messge in SXMB_MONI is displayed. but it should be two. I think there is some problem in java mapping.
    in java mapping i have generated XML output, which will be input of SOAP sender.
    plaese suggest me the format which should be generated by java mapping.

    Sandeep,
    Let me try to put your requiremen,
    You have 2 scenariom
    FILE to SOAP
    SOAP to Idoc
    When the file becomes availbale, the Scenario 1 triggers of Scenario 2. Scenario 2 provides you a WSDL and so scneario 1 's output should be of the format of this WSDL.
    Hope I am on the correct track.
    If yes, just import this WSDL into your IR, and see the format in which it expects the data by using it as a message type in some mapping ( dummy mapping ) and then in your Java Mapping create a output of the same format, with the same namespace etc.
    Regards,
    Bhavesh

  • Problems with Java Mapping in Bpm

    Hello to All.
    I have a simple scenario...
    1) Receiver ( XML1)
    2) Transformation
    3) Sender (XML3)
    I have 3 variables.  
    Variable 1  XML1
    Variable 2  XML2
    Variable 3  XML3
    In my transformation have two source.. an XML and XML2 and my mapping program is java mapping.
    The java mapping modify the XML1 according the XML2 and transform in XML3.
    When I run BPM . I have problem , because the flow stop in transformation.

    Yes I have tested. But I found the solution.. The java mapping generate a header like <xsi : Message1></>... <xsi : Message2> </>
    Thanks.

  • Doubt with  Performace mapping in RWB

    Im making a performance documento for each interface.
    but i cant understand whats meaning of Consolidated Data.
    i could see if Consolidated Data is checked the result is diferent that it s not. so i decided look at SAP help. i found an explanation about its, but still it is no clear.
    Sorry my poor english
    thanks & regards
    RP

    Hi Rodrigo,
    Have you seen this?
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/7ecc3fbeb83946e10000000a114084/frameset.htm
    cheers,
    Prashanth
    P.S Please mark helpful answers

  • Problem in java mapping - request reject when enter to the XI

    hello
    I have WS 2 RFC with JAVA MAPPING. I try to run it and recieve an error in the sxmb:
      <?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">JCO_SYSTEM_FAILURE</SAP:Code>
      <SAP:P1>Exception in method processFunction.</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>&quot;SYSTEM FAILURE&quot; during JCo call. Exception in method processFunction.</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    in the xml spy the return is:
                             <text><![CDATA[
    com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:JCO_SYSTEM_FAILURE:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:455)
         at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:133)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:850)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         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:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
              ]]></text>
    any suggestion why the xi doesnt recieve the request:
    Thanks
    Kfir

    Test RFC destination AI_RUNTIME_JCOSERVER. You may delete and recreate it.
    how exactly do I test it? in the XID or the SAP DEV?
    how can I delete and recreate?
    since I never did it, details will be appreciated.
    Kfir

  • Idoc to jdbc scenario  java mapping

    hi all,
    i have scenario in which
    sender is idoc and receiver is oracle.
    i want to do this mapping through java.
    so how can i do java mapping in this scenario?

    Hey
    SDN has several blogs/threads/articles for java mapping,please search for them and you will get an idea how to proceed with java mapping.
    Thanks
    Aamir

  • Java Mapping for HTTP Post

    Hi
    Im following this blog http://scn.sap.com/community/pi-and-soa-middleware/blog/2014/09/12/html-form-upload-using-http-plain-adapter-with-java-mapping but I have encountered an issue which I cannot solve.
    My issue is, in addition to the required output, I am also getting unwanted XML added, which originates from the Message Type in the source Service Interface,
    i.e.
    Content-Type: multipart/form-data; boundary=--ejjeeffe1
    --ejjeeffe1
    Content-Disposition: form-data; name="event"
    Content-Type: text/plain
    Import File
    --ejjeeffe1
    Content-Disposition: form-data; name="Filename"
    Content-Type: text/plain
    TestFile.zip
    --ejjeeffe1
    Content-Disposition: form-data; name="content";filename="TestFile.zip"
    Content-Type: application/zip
    Content-Transfer-Encoding: binary
    <?xml version="1.0" encoding="UTF-8"?><__EmptyDoc></__EmptyDoc>
    --ejjeeffe1
    Any suggestions much appreciated.
    Regards
    Steve

    Hi Stephen
    The xml must be getting added in the below part of the code. It is coming from arg[0]
    You can put a check and get it removed.
    while ((len = arg0.read(buffer)) != -1) {
      arg1.write(buffer, 0, len);
    Regards
    Osman

  • JAVA Mapping

    Hi,
    I have worked on Graphical mapping and XSLT Mapping. I want to do some scenarios using Java mapping. Can anyone give the detailed steps to work on Java Mapping. What are the softwares needed and their configurations. Also I want to know whether NWDS is compulsory to work on Java Mapping. Thanks.
    Regards
    Suresh

    Hi,
    Its not necessary that NWDS is compulsory to work with Java mapping.
    for java mappings you need jar file.
    Just have a look at these links for mapping:
    <a href="/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i:///people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
    <a href="Java Mappings for XI://Java Mappings for XI
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm</a>
    Regards,
    Gunasree

  • When do we go for ABAP mapping and Java mapping

    Hi friends,
                At present I am working on graphical mapping in XI ,can you guys give me with an example or scenario when do we use ABAP mapping , Java mapping or XSLT mapping.
    Thanks in advance
    Sud

    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/forums">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/forums</a>
    I have standard XSLT mapping programs available for my scenarios, so use XSLT mapping. Similarly with Java mapping,  For most scenarios, message mapping does the job too well. Abap mapping similarly is used to leverge existing ABAP base.  If message mapping becomes confusing and hard to follow with too many functions, I go for Java mapping (just my way). I havent used ABAP mapping thus far.
    Discussing ABAP mapping
    ABAP mapping is developed in ABAP work bench. ABAP mapping needs to be transported to integration server and XI does not support this transport and have to do with ABAP transports.
    Customers who can develop mapping program on SAP web AS and can transport them there can use ABAP mapping
    *ABAP mapping programs cannot access the value table
    *Since ABAP mappings are executed on ABAP stack SAP does not provide any ABAP mapping programs
    *ABAP mapping programs must exists with one single version in IS, unlike JAva and XSLT mapping that can have multiple versions of mapping program
    Regards,
    Priya
    priya k
    null

  • Need help on Java Mapping

    000000000000F0011000001448MSQUAL9010000000906                                                                                *
    200798438321H001                                                                                SHEN.500010/10/200723:56:55NOSP                                                                                KWO4A                                                             MS*
    2007984383215397                             00000500000205                                                                                *
    2007984383215396                             00000200000205                                                                                *
    200798438321C001                                                                                *
    200798438322H001                                                                                SBHS.500011/10/200705:50:00NOSP                                                                                AGH4A                                                             MS*
    2007984383225397                             00000500000205                                                                                *
    2007984383225396                             00000238000205                                                                                *
    2007984383220012                             00001480000355                                                                                *
    200798438322C001                                                                                *
    =============================================
    Main header :000000000000F0011000001448MSQUAL9010000000906  ( relation 1:1 )
    Each record ending with Start : *
    Sub Header : 200798438321H001  ( relation  0:unbound )
    body messages 00000500000205  ( relation  0:unbound )
    Close Subheader :200798438322C001     ( relation  0:unbound )
    any one could help how to write the Java mapping , am able to get the data from local folder , but error getting as a message mapping error, there is no key field values for in this message.
    Probably it should be happen with Java mapping, actually I am from SAP SD back ground, can understand the ABAP.
    Warm regards,
    kumar.

    Hi,
    I think file adapter is sufficient for you. Dont need any java mapping. Refer to the file adapter content conversion for sender. Identify the key fields for heading, messages and footer. Then define record set with repeating structures in it like head,1,msg,*,footer,1.
    This should solve the problem.
    VJ

Maybe you are looking for

  • ORA-00600:internal error code, arguments: [ktsxtffs2], [284], [1398030667],

    Hi, *I got error ORA-00600: internal error code, arguments: [ktsxtffs2], [284], [1398030667], [], [],* at starting up of database, database is up and running no issues till then I found MOS doc 786443.1... As mentioned in the Doc to drop and create t

  • Can I use a select and update statement in a single jsp file?

    I want to update the BUY table everytime I would add a SELL transaction.....I want to minus the stocks that I sold to those that Ive bought before..... note: I used a seperate table in BUY and SELL transaction After I Have added a transaction, I want

  • Issues during F110 - Payment of invoice posted last year

    Hi gurus, Last month we had some problems during the payment of several invoices because they have been posted last year. When the user is trying to pay it, the system shows the following message: u201CFI234 u2013 Different FM fiscal years: Invoice X

  • How to update the price based upon PGI date

    Hi         I have issue of updation of the Prices and freight based on PGI date in the billing we are using the two billing types for the excsies and tax invoice creation .And in the copy control pricing type is maintained Aas "C" for the billing typ

  • Coustomer statement of accounts

    Hi all, i wanted to take the SOA . We want to include 31st March 09 and Prior Open Items separately in SOA. Basically break the opening balance into 2 parts:1)Opening Balance for Period 31st March 2009 and Prior2)Opening Balance for Period 01St April