Mapping Issue for Synchronous interface

Hi Experts,
We are facing the below issue in a SOAP to RFC synchronous scenario.
Data from WS is successfully uploaded to RFC via RFC request. However we face the below issue when the RFC response is received.
com.sap.aii.utilxi.misc.api.BaseRuntimeException:Character reference "&#00" is an invalid XML character.
We receive this error particularly when one field has the below values.
<FIELD> X 20140812201409101211 1 USD TP 00000000 </FIELD>
When we click on view source the same field shows as below:
<FIELD> &#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#12;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#12;X  20140812201409101211            1             USD     &#00;&#00;&#00;&#00;&#12;&#00;&#00;&#00;&#00;&#12;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#19;TP&#12;     00000000&#00;&#12;&#00;&#12;&#00;&#12;&#00;&#00;&#12;&#00;&#00;&#12;</FIELD>
Even while pasting the same source xml from view source in Message Mapping we get the below error:
Unable to display tree view; Error when parsing an XML document (Character reference "&#00" is an invalid XML character.)
How is a simple value getting converted to some huge value when we open it using view source.
Please help me resolving the same.
Regards,
Shai

Hi Shaibayan
looks like there is inconsistency in the RFC maintained in ECC to PI as non unicode.
In RFC channel check the flag for Unicode.
Or
Write a java mapping to remove the special characters
Regards
Osman

Similar Messages

  • Multimapping for Synchronous interfaces.

    Hi,
    Is it possible to do multi mapping for synchronous interfaces.
    I have observed that when the cardinality of the target service  interface is changed to 0:unbounded , the response message mapping  tab disappears from operation mapping.
    Can anyone please suggest how it can be handled?
    I have a requirement to call a webservice and then write multiple files from the webservice response.

    Hi Soumya,
    i dont think so ...if you think theroitically. you are doing multimapping   where u  have a N:M relation... so it will be difficult match the respose directly.
    Since your scenario is syncrhronous, u have to rember the identity of source messgaes and then u need to reply back to those same identitiies. That means u have to use correlations  and that can be achived by BPM.

  • Dynamic receiver determination for synchron interface

    Hello everybody,
    I want to use dynamic receiver determination for a synchron scenario.
    The problem is, that the interface 'ReceiverDetermination' (http://sap.com/xi/XI/System SAP BASIS 7.00) is a asynchron interface.
    This leads to an error when activating the Interface-Mapping (synch source Interface -> asynch destination Interface ReceiverDetermination)
    Is there a way to use the dynamic receiver determination for synchron interface?
    Thanks a lot,
    Thomas

    Hi Thomas,
    I guess your scenario is not possible ASIS, since XI doesn't support 1:n for sync interfaces (and even if your mapping condition reduces it to 1:1, actually it is still 1:n, since your receiver list is unbounded).
    Theoretically, you could make it work with BPM, though.
    But I've never worked with a Receiver Determination Step reading from an enhanced receiver determination in ID (though there should be no problems).
    Use sync async bridge, then use receiver determination step to obtain the receiver from an enhanced Receiver Determination. Pay attention that this enhanced receiver determination is a dummy one, using a mapping from your async abstract interface to the ReceiverDetermination interface. Once your mapping has determined the receiver, the enhanced receiver determination will return that receiver to the Receiver Determination step in the BPM. Then use this receiver in the sync send step (in mode receiver from receiver list, not from context).
    The receiver determination of the actual sync send step may be a standard one, with the several receivers there (even if there are several there, at the moment of the sending, only one will be used).
    Maybe it will work, maybe not.
    Just try it.
    Regards,
    Henrique.

  • Http adapter at sender side for synchronous interface

    Hi SapAll.
    here for one synchronous interface we using http adapter at sender side.
    i just want to know on how i can get the sender ip adress or url through which they sending the data.
    will be waiting for best asnwer.
    regards.
    Varma

    Http adapter at sender side for synchronous interface
    i cont see any messages in xi producction.
    Is LOGGING_SYNC enabled for your production box....also is the problem just about the visibility of the messages or is your scenario itself not getting executed?
    At least the sender application might have received some error response if posting message to XI was a failure....also if possible check the message monitoring in RWB if you feel an error has occured.
    Regards,
    Abhishek.

  • Multi mapping for Synchronous Interface (RFC)

    Is it posssible to define synch multimapping (RFC)?
    For exmaple my structure is
    request
    <items>
    <item>
    </item>
    <item>
    </item>
    </items>
    I want  to invoke RFC for each <item> and to get response like
    <responseitems>
    <item>
    </item>
    <item>
    </item>
    </responseitems>
    Do I need synch BPM or it is possible without?

    Hi,
    u can do these buy settin the rfc to rfc to unbounded and map the items with the rfc so for every item u will get a rfc.
    u can use <b>packaging</b> to perform the multimapping where u can avoid bpm.just create a external defnition for ur rfc and change the occurance of the rfc to 0..unbounded and use the external definition for mapping.
    so for each <b>item tag a rfc will be generated</b>.
    To get the response give ur inbound interface as synchronous.
    regards
    jithesh
    Message was edited by: jithesh balakrishnan

  • Linkage Error in Mapping and Operation mapping testing for Synchronous in NWDS

    Dear Experts,
    Hope you all are doing fine..
    I am working in a synchronous scenario Proxy via SAP PI 7.4 to JAVA Application supporting JSON.I wrote JAVA program to convert JSON to XML and while performing test for the JAVA mapping in response structure at Operation Mapping,I am receiving following error..
    LinkageError at JavaMapping.load(): Could not load class: json2xml/bin/pack/EsrJson2Xml
    java.lang.NoClassDefFoundError: json2xml/bin/pack/EsrJson2Xml (wrong name: pack/EsrJson2Xml) at
    java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:735)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:716) at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
    at com.sap.aii.ib.server.mapping.execution.MappingLoader.findClass(MappingLoader.java:195)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:372) at java.lang.ClassLoader.loadClass(ClassLoader.java:313)
    I followed some of discussions for the Linkagae error http://scn.sap.com/thread/1418477 but could not help..
    Following are details of my NWDS and PI server:
    SAP NetWeaver Developer Studio
    SAP Enhancement Package 1 for SAP NetWeaver Developer Studio 7.3 SP10 PAT0000
    Compiled the project with JAVA SE-1.6 as well as 1.5
    SAP PO 7.4 Java Only , Release: NW731CORE_10_REL
    SP: 05 JDK: jdk16 Latest Change: 353688
    I have taken care to export all the Jar files used in NWDS to be exported and then imported as Archived files in PI server.
    But could not see the 5 jar files in ESR. I hope there is some issue with name as can see in the log.Can the issue be solved?
    How to test the Operation mapping for Synchronous Message in NWDS?
    Regards
    Rebecca

    Dear Hareesh and Experts,
    I resolved the issue by doing the below steps.
    1. Downloaded the JDK5 and updated the Java console i.e. JRE 15.
    2. I had  created this project using the JAVA Compiler with JAVA SE1.6 initially. Changed this to 1.5 in the Properties of the Project.
    3. Uploaded the project again in ESR Imported Archive.
    The issue is solved.
    Thanks a lot for all your inputs.

  • Enhanced Receiver Determination for synchronous interface.

    Hello!
    Was anyone faced with the Enhanced Receiver Determination? When I try to create
    the definition of the Interface Mapping, I get the error:
    "Interface modi are different. Source interface Message Interface MI_My_sync_iface | urn:my is synchronous. Target interface Message Interface ReceiverDetermination | http://sap.com/xi/XI/System is asynchronous"
    Thank you.

    Hi ,
    U can go through below limks  :
    Illustration of Enhanced Receiver Determination - SP16
    SAP NetWeaver Process Integration: Enhanced Receiver Determination for Synchronous Scenarios
    Enhanced Receiver Determination in SAP XI - Exchange Infrastructure - Wiki
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/enhanced%2breceiver%2bdetermination%2bin%2bsap%2bxi
    Thanks

  • Enabling to see the Source payload for synchronous Interface

    Hi Experts,
    Am working on a SOAP <-> RFC synchronous interface and PI version is 7.4 dual stack. Am unable to see the source payload when a
    message is triggered from the Source Webservice. I can only see the receiver payload in RWB for request msg i.e the RFC payload.
    Even for Response, I can only see the receiver payload which is sent to webservice and not the source payload from ECC on the RFC.
    I have built the interface using ICO. I have made the changes in NWA, by setting the RemoveBody field to false.
    Please let me know if any other settings are required. I have checked all other threads related to this issue and could not find the solution
    to my issue where only the source payload in the synchronous interface is missing. In case of Asynchronous interface, the source payload
    is visible.
    Please assist me how can I enable this.
    Regards,
    Vish...

    Hi Vishwanath,
    Please check the below blog
    Message Staging and Logging Options in Advanced Adapter Engine of PI 7.3x
    regards,
    Harish

  • Mapping issue for condition must be  satisfied

    Hi All,
             I am using IDOC ORDERS05 for my interface IDOC to FILE,
    in which i have partner fuction as PARVW , in which i have to AG and LF
    i must must pouplate data if the from the IDOC PARTN if the  PARVW is AG to the VENDORCODE in my target
    i must must pouplate data if the from the IDOC PARTN if the  PARVW is LF to the BUYER in my target
    please help how to do it and what condition i must use for this '
    Thanking you
    Sridhar

    Hi,
    Since you are mapping them on the target side you can use your IDOC variables in multiple palces if you are mapping graphically.
    i.e. 1. VENDOR -> if PARVW is equal to AG then PARTN to VENDORCODE
         2. BUYER -> if PARVW is equal to LF then PARTN to BUYER
    Make sure you set the context for both PARVW & PARTN to its upper level parent & not the immediate level.
    for eg:
         IDOC
               ---E2EDKA1
                       ---PARVW
                      |
                       ---PARTN
    set it to IDOC & not E2EDKA1. if you still have doubts on context you can put your query  back...
    Thanks,
    venkatesh

  • ECC to CRM Mapping Issue for vendor data

    Hi,
    I am facing an issue for replicating vendor data from ECC to CRM. One of the vendor is not confirmed at ECC side and one vendor's time zone is not maintain in the master of time zone in CRM side. This may be the issue.
    But Where exact we can see that mapping of the tables of ECC and CRM. So in future we should maintain mandatory data based on mapping to avoid BDOC failure.

    Hello Rahul ,
    The field (MARA-BISMT) is not used in CRM system. If you want this
    field to be maintained in CRM as well, and to be transferred from R/3
    to CRM you must enhance the standard by customer extensions.
    The procedure for customer enhancements for Download from R/3
    to CRM is described in the following document:
    SAPNet, alias crm,   > Media Library   > Documentation   >
    Key Capabilities   > Master Data   > CRM Product: Customer
    Enhancements for Download/Upload
    For further information about Product Master enchancements and how to
    find techncical documentation about it please refer to the attached
    Note 428989.
    Thanks & regards,
    Krishnen

  • Mapping Issue for IDoc to JDBC interface

    Hi All,
      I am having problem in implementing logic in IDoc to JDBC interface where I have to filter out E1WBB07-KSCHL = VKP0.
      Source IDoc structure is like ->
    E1WBB01(occ 0 -1000)
      |-> E1WBB03 (occ 0-100)
                |-> E1WBB07(occ 0-1000)
                         |-> KSCHL
                              DATAB
                              DATBI
    Now, For each KSCHL = VKA0 there should be a duplicate VKP0 record. From these 2 records only the VKA0 should get processed and VKP0 ignored.
    Duplicates for VKP0 and VKA0 can be identified by identical DATAB and DATBI.
    Suppose, in one  E1WBB03 segment,there are 4 E1WBB07 segment having following values.
    1: KSCHL=VKP0, DATAB=20102011, DATBI=25102011
    2: KSCHL=VKP0, DATAB=26102011, DATBI=30102011
    3: KSCHL=VKA0, DATAB=26102011, DATBI=30102011
    4: KSCHL=VKP0, DATAB=01112011, DATBI=31129999
    2 & 3 are duplicates. From these, 2 should get dropped.
    As a result only 1, 3 and 4 should get  processed.
    How can I proceed with this..?...I have tried some work around but not able to do it successfully. Is a UDF required to compare DATAB and DATBI. If yes how it can be written.?
    Thnx in advance,
    Praveen.

    chk below mapping:
    change the context of DATAB, DATAB1 and KSCHL to E1WBB03 (right click-> context) in all the mappings shown below
    1)
    DATAB
    ------------concat-----sort----splibyvalue(value change)-----collapse context---TargetNode
    DATBI
    2)
    DATAB
    ------------concat-----sortbykey \
    DATBI                    /        \
    KSCHL------------/                 \
    ----------------------------------------FormatByExample----sort-----UDF1----Target KSCHL
    DATAB                                    /
    ----concat---sort--splibyvalue(value change)-
    DATBI
    3)
    DATAB
    ---concat ( ; )-----sort-splibyvalue(value change)---collapse context--splitbyvalue (each value)--UDF2---TargetDATAB
    DATBI
    4)
    DATAB
    ------------concat ( ; )-----sort----splibyvalue(value change)-----collapse context--splitbyvalue (each value)--UDF3---TargetDATABI
    DATBI
    UDF1: execution type : all values of a context...input: var1
    int a=var1.length;
    int count=0;
    if(a>=2)
    for(int i=0;i<a;i++)
    if(var1<i>.equals("VKA0"))
    count= count+1;
    else
    result.addValue(var1[0]);
    if(count>1)
    for(int i=0;i<count;i++)
    result.addValue("VKA0");
    UDF2:execution type: single value...input: var1
    String [] temp= var1.split(";");
    return temp[0];
    UDF3: execution type: single value...input: var1
    String [] temp= var1.split(";");
    return temp[1];

  • Mapping issue for Idoc to xml

    hello all,
           my scenario is idoc to xml file
    E1EDKT1-------segment (1:n)
       -TDID----
    ele
       -E1EDKT2----segment (1:n)
          -TDLINE-----ele
    When TDID value is X then all values in TDLINE of undeline sement E1EDKT2 needs to be cocatenated and passed to target elemnt A
    if  TDID value is Y then all values in TDLINE of undeline sement E1EDKT2 needs to be cocatenated and passed to target elemnt B
    i have written java function(for all values in context) to conctenate TDLINE elements.
    also the context of TDLINE is changed to  E1EDKT1.
    i am getting all the concatenaed values of TDLINE for TDID=X in target element A but i am not geting any value in target element B for TDID=Y
    can any one suggest what could be the problem.
    Regards,
    Sandip

    Hi Sandip,
    Map like this for target element A:
    use simple if stament.  and for If give TDID  equals(text function) to constant X
    and for then TDLINE-->concattdline(udf) --> output A
    Map like this for target element B:
    use simple if stament.  and for If give TDID  equals(text function) to constant Y
    and for then TDLINE-->concattdline(udf) --> output B
    concattdline udf:
    Create a Context udf with one argument a and name it as concattdline.
    Imports:  java.*;
    Add this code:
    //write your code here
    String value = "";
    for(int j=0; j<a.length - 1; j++){
         value += a[j] + "";
    value +=  a[a.length - 1];
    result.addValue(value);
    I just tested this and it should work for you.
    Regards,
    ---Satish

  • Robohelp - TFS Mapping issue for different versions

    Hi,
    I'm using Adobe Robohelp 9 with Team Foundation Server 2012 on Windows 7 -  64 bit. I've also installed Microsoft Visual Studio Team Foundation Server 2012 MSSCCI Provider. I've mapped all the project folders on my machine. We create HTML help (.chm) for our application.
    I have different versions for each module of our entire product on Team Foundation Server 2012 (As we have multiple modules in our product), for example x+1, x+2, x+3 and so on.
    Each module has different Robohelp projects for every version/branch. This means, if the Online help for any module from any version is changed, we update it in the respective version of the Online help project.
    When we move on to the next version, due to binary files, the next version contains the same path and properties of previous version. We need to have different project for single module for the next version. For this, I have changed the TFS project path of every .xpj project for every version. For example, if I'm working on version x+2, then I've changed the TFS project path from x+1 to x+2 manually on x+2 version/branch and then started working on it.
    As these Robohelp projects (for each module) are mapped to my local folder on C drive, it shows a single workspace mapped with same path on my machine. This should be the ideal condition for my all projects as follows:
    But sometimes when I try to update any file from version x+2 and then check-in my changes, the changes are getting checked-in to the previous version, i.e. x+1. And if I see the workspace of the x+1 version, it shows one more wrong workspace added below the correct one. This new workspace contains the Source control folder path of x+1 version and the Local folder path of x+2 version. That means, my robohelp project folder of x+2 version from my local drive is getting mapped to TFS folder of version x+1. That is why all the changes done in Robohelp project files from x+2 version are going in to x+1 version.
    The strange here is when I try to check-in my changes in x+2, it shows the correct path of x+2 version. But they all go to x+1 version, which should not happen.
    If anyone can help me in this problem, it would be a great help!
    Thanks in advance and waiting for solution,
    Dipali

    So, if I understand correctly, you create a duplicate of the project and
    check that in on a different location in TFS. That is the way to go.
    My guess is that the XPJ still references the old version's path. Try
    checking out the XPJ with TFS and open in with notepad. Search for
    'vc::cookie'. Check that the path there points to the correct path of
    the project in TFS. It probably still references the old path and so
    RoboHelp will check it in at the old path.
    Kind regards,
    Willam

  • Custom BDOC issue for xif interface

    Hi CRM gurus.
    I am using XIF interface for sending BP and REL details to external system.The creation of contact person doesnu2019t have standard address fields (postcode, city etc). We are enhancing webclient by adding standard address context node and save the data. Now problem is with Bdoc and Idocs. What is the procedure to add this address for BUPA_REL object and where I have to modify the code which generates bdoc for relationship along with address. I found BURS_EI_ADDRESS is the address structure used for BUPA_MAIN. Please help me out with possible answers. Looking forward for answers.
    thanks

    Ramya,
    Check this blog if it can help..
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/406efa7e-388a-2910-f9b8-81913b0ca57f

  • Network dive map issue for particular user account.

    Hi,
    My one of the user want to access network drive.  But when he logoff or restart the system, he lost the map drive.
    He is a domain user. He already have few map drive in his profile.  But now he need to map one more network drive. And special requirement is he want to access that map drive from any system from our organization. And that drive should not
    get disconnect/dismount after he logoff or restart the system. 
    Note:  User XYZ wants to access particular map network drive form any system, where he login in domain. And
    no other user should be able to see or access that particular map drive.  
    Also if user XYZ logoff or reboot the own system, Then when next time he will login again from any system, he must be able to see and access that particular
    map drive.
    How do i configure this....Please help.
    Regards,
    Santosh Pawar 

    Hi,
    Using Group Policy Preferences to Map Drives could meet your requirement. It based on group membership.
    About how to get it, please refer to this guide:
    Using Group Policy Preferences to Map Drives Based on Group Membership
    https://blogs.technet.com/b/askds/archive/2009/01/07/using-group-policy-preferences-to-map-drives-based-on-group-membership.aspx 
    For further help, I would like to suggest you ask Directory Services forum:
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/home?forum=winserverDS
    Karen Hu
    TechNet Community Support

Maybe you are looking for