Handling Special characters in sender JMS adapter

Hello All,
I have a scenario where I am getting a value in the payload with special chacters for e.g. "OBS!  via JMS Sender adapter, but when this value comes to integration engine, it gets converted into something like this <A&B' . I tried using ISO 8859 charset in adapter module but that did not help.  Would really appreciate your inputs.
Cheers
Abhimanyu

Yeah, it is weird.
I tried options from this guide but did not help. Moreover, this guide dosen't talk about JMS adapter. To be specific
this * <A&B'  *  gets converted to this * &lt;A&amp;B&apos; *.
Edited by: Abhimanyu Singh on Sep 2, 2010 5:09 PM
Edited by: Abhimanyu Singh on Sep 2, 2010 5:10 PM

Similar Messages

  • Special characters in sender soap adapter provoke HTTP 500 error

    Hi,
    SAP R3 is sending a SOAP message to PI through SOAP adapter.
    When the payload does NOT contain german characters like ü, it works fine.
    However, when the payload DOES contain special characters, the SOAP adapter replies with an HTTP 500 code error.
    If I use SoapUI to send the soap message, and setting UTF-8 as the encoding in the program options, it will go through fine. If I change to ISO-8859-1 it will fail.
    I'm thinking in two options:
    - Make sure that SAP R3 sends the message in UTF-8 format (I think this is happening currently), as if SoapUI works, then probably R3 is not using UTF-8.
    - Force the adapter to use UTF-8. Is this possible? In the sender SOAP adapter I've added AF_Modules/MessageTransformBean (type local EB), and then Transform.ContentType for parameter name and --> text/plain;charset=utf-8 for parameter value. The sender adapter will fail then for every message, with or without special characters.
    Anyway, in this link (http://help.sap.com/saphelp_nwpi71/helpdata/EN/a4/f13341771b4c0de10000000a1550b0/frameset.htm) it seems to say that the sender soap adapter cannot be extended with modules, so maybe that's the reason why it fails when trying to add a module.
    Thanks

    If I use SoapUI to send the soap message, and setting UTF-8 as the encoding in the program options, it will go through fine. If I change to ISO-8859-1 it will fail.
    I'm thinking in two options:
    Check the use of option 1 ..... the URL which SAP is using to send the data can containe the encoding information.
    Check this SAP note: https://service.sap.com/sap/support/notes/856597
    From the above note:
    Q: What character encoding is supported by the SOAP sender adapter?
    +you can supply the encoding information with the xmlenc variable in the request URL as in+
    Regards,
    Abhishek.

  • Problem with special character like u00E5,u00E4 u00F6 in Sender JMS Adapter

    Hi,
    Problem:
    Sender JMS Adapter has transformation error when the file includes western european characters such as å,ä ö. And because of this reason the data is not picked up by adapter.
    The scenrio is JMS --- > XI ---> Proxy.
    If the file does not include the western European characters then it is working fine, but when the file include the western european characters such as å, ä, ö so got the error.
    Our Efforts:
    We have tried ISO8859-1 in JMS Module Tab as shown below.
    1. Transfer.ContentType text/xml;charset=ISO-8859-1
        AND with this also
    2. Transfer.ContentType application/coctet-stream;charset=ISO-8859-1
    None of them working.
    Error In CC:
    In Sender CC monitoring we are getting the below error.
    Error while processing message 'aa157082-b064-4421-0fc3-c286d2732093'; detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Error converting Message: sun.io.MalformedInputException: TransformException: Error converting Message: 'sun.io.MalformedInputException' at com.sap.aii.adapter.jms.core.channel.filter.SendToModuleProcessorFilter.filter(SendToModuleProcessorFilter.java(Compiled Code)) ...
    Any suggestion in this regard will be a great help.
    Regards,
    Sarvesh

    > I think you have to figure out first, which codepage you really have, not just try. Maybe you ask someone or you check with a hex editor.
    Hi Stefan,
    Finally we solved the problem.
    As you said above to figure the the codepage, we asked to our MQ team for the same and found that they are using ISO-8859-1. In XI we were also trying with multiple conbinations (ISO-8859-1, UTF-8 and many more), but didn't get any success.
    Finally MQ team changed their encoding to UTF-8 and in XI we used ISO-8859-1 and we get the success in picking the data with spl char. Even though in XI the spl char comes in destorted order but at the receiver end they are in proper shape.
    Thanks a lot for your help.
    Regards,
    Sarvesh

  • Change of Encoding in Sender JMS Adapter

    Hi,
       My scenario is like that:-
    FTP->MQ Queue->JMS Queue->XI->R/3
    From JMS Queue IDOC xml is coming in UTF-8 encoding to XI. In that IDOC xml certain special characters are there, say, some Latin or European character. But for the scenario XI->R/3, data are not getting posted to R/3. In XI side, it is not giving any error, but it is giving a flag (in QRFC Monitor) which is “ Error between two Character Sets”.
    I am unable to rectify this error. One solution I have guessed that is, it will be possible to resolve this issue if I can change the encoding in XI to ISO-8859-1. But I don’t know how to change the encoding in Sender JMS Adapter in XI. Could you please help me to resolve this issue?
    BR
    Soumya B

    Hi,
    Check following:
    1. In SXMB_MONI, what is the XML structure generated for inbound and outbound message. Check the encoding used in both. This could be checked by looking at the first line of XML generated. For UTF encoding, usually, the first line should look as follows:
    <?xml version="1.0" encoding="UTF-8" ?>
    2. If the encoding for both is different, try to figure out which encoding is used for Message Type in XI. For matching the encodings, you could change the XSD used for creating message type in XI. This way, the character encoding could be changed. And this solution should suffice if the problem has occured between XI to R3 scenario.
    Also, for learning more about character encodings, you could visit following link:
    http://www.cs.tut.fi/~jkorpela/chars.html
    Hope it helps.
    Bhavish.
    Reward points if comments found useful:-)

  • How to hanlde breaked large messages in sender JMS adapter

    Hi,
    I have been asked like 'how can we handle breaked large messages in sender JMS adapter?'and lets say I am getting some messages as it is and some are breaked into small segements for the mesaages that are large....
    do we need to use module,if so is there any standard module that we can use to hanlde this type of scenarios?
    thank you in advance.
    babu

    http://biemond.blogspot.com/2009/10/jms-request-reply-interaction-pattern.html
    if you check the blog of edwin, see his comments at the bottom
    there he gives a suggestion how to add the selector properties to filter on
    and this one is maybe helpfull
    http://blogs.oracle.com/adapters/2010/05/configuring_request-reply_in_jmsadapter.html

  • Sender jms adapter-archiving before processing the message

    Hi,
    Do we have any option in Sender JMS adapter to archive the message before processing the message?
    I have searched in sender JMS adapter (XI7.0) settings, but couldn't find any option.
    My assumption is whether any option provided in configuration setting of adapter engine or any other alternatives.
    Thanks,
    Srini.

    Hi Srini.
    Here is the code. But you may prefer the EAR module, just for deploy. I need your email to send it to you.
    If you want to create it yourself follow the steps in this guide and paste the code:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f013e82c-e56e-2910-c3ae-c602a67b918e
    When you configure the module in the JMS sender communication channel you have to spedify 2 parameter for the log file location:
    "file.path" (XI server file system path) and "file.name"
    CODE:
    package com.bfa.af.modules;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Date;
    import javax.ejb.CreateException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import com.sap.aii.af.mp.module.Module;
    import com.sap.aii.af.mp.module.ModuleContext;
    import com.sap.aii.af.mp.module.ModuleData;
    import com.sap.aii.af.mp.module.ModuleException;
    import com.sap.aii.af.ra.ms.api.Message;
    @author ibermatica
    public class BFATraceModule implements SessionBean, Module {
         private SessionContext myContext;
         public void ejbRemove() {
         public void ejbActivate() {
         public void ejbPassivate() {
         public void setSessionContext(SessionContext context) {
              myContext = context;
         public void ejbCreate() throws CreateException {
         public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData) throws ModuleException
              FileWriter outFile;
              try
                   Date date = new Date();
                   String filePath = moduleContext.getContextData("file.path");
                   String fileName = moduleContext.getContextData("file.name");
                   outFile = new FileWriter(filePath + System.getProperty("file.separator") + fileName, true);
              catch (IOException e)
                   e.printStackTrace();
                   throw new ModuleException(e);
              PrintWriter out = new PrintWriter(outFile, true);
              try
                   out.println("--- Start of message ---");
                   //Get message content.
                   Message data = (Message)inputModuleData.getPrincipalData();
                   if(data.getDocument() != null)
                        out.println(data.getDocument().getText());
                   else
                        out.println("Empty message.");
                   out.println("--- End of message ---");
                   out.println("Total characters: " + data.getDocument().getText().length());
              catch(Exception exc)
                   out.println(exc.toString());
              finally
                   if(out != null)
                        out.close();     
                   if(outFile != null)
                        try {
                             outFile.close();
                        } catch (IOException e1) {
                             throw new ModuleException(e1);
              return inputModuleData;

  • Time-dependent Vendor Master & Handling Special Characters

    Hi,
    I need to extract time-dependent Vendor Master.
    1. The data source for <b>0VENDOR</b> does not have fields to hold the valid date range.
    2. Does the Master data in R/3 for Vendors will hold the valid date range?
    3. The text for <b>0VENDOR</b> provides time-dependent, but how to map the <b>valid from</b> and <b>valid to</b> fields?
    Handling Special Characters:
    We are trying to extract data from Legacy system via DB Connect. The item text field consists of special characters. Of course in BW customization we can specify all the special characters to consider. But the special character we observed is 'square' symbol i.e. 'new line character' in Oracle. We are updating this to an ODS object. When looked at error log, observed that green light for the number of records transferred and updated, but finally when it load into ODS object and activates popping up the error message saying 'could not recognize special character'.
    Please help me getting the 2 issues resolved.
    Thanks in advance.
    Regards,
    Sudhakar.

    Hi Everyone,
    Thanks for inputs on Special characters issue...
    Finally resolved with below piece of code in the start routine:
    DATA: FLAG,
          OFF TYPE I,
          LEN TYPE I VALUE 1,
          ALLOWED_CHAR(95) VALUE
    '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()-_=+ ' &
    'abcdefghijklmnopqrstuvwxyz:;<>,.?/|\{}[]"'''.
    CONSTANTS: C_CHAR VALUE '-'.
      LOOP AT DATA_PACKAGE WHERE NOT /BIC/ZI_DESC IS INITIAL .
        DO.
          IF DATA_PACKAGE-/BIC/ZI_DESC CN  ALLOWED_CHAR.
            REPLACE SECTION OFFSET SY-FDPOS LENGTH LEN OF
                    DATA_PACKAGE-/BIC/ZI_DESC WITH C_CHAR.
            FLAG = SPACE.
          ELSE.
            FLAG = 'X'.
          ENDIF.
          IF FLAG = 'X'.
            EXIT.
          ENDIF.
        ENDDO.
        MODIFY DATA_PACKAGE.
      ENDLOOP.
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    I have seen the link sent by 'Eugene Khusainov' today. Thought putting my piece of code that may help others...
    Regards,
    Sudhakar.

  • MessageTransformBean in sender JMS Adapter flat file to xml conversion

    Hi All,
    The scenario is MQ (Flat File )  --->PI -
    >Idoc
    The flat file structure is
    112233
    AABBCC
    The expected XML Structure after using MessageTransformBean in the sender JMS adapter  is
    <Record>
    <Row>
    <f1>11</f1>
    <f2>22</f2>
    <f3>33</f3>
    </Row>
    <Row>
    <f1>AA</f1>
    <f2>BB</f2>
    <f3>CC</f3>
    </Row>
    </Record>
    But I am getting 2 SEPARATE xml messages each with only one Row in it like the following
    1st XML:
    <Record>
    <Row>
    <f1>11</f1>
    <f2>22</f2>
    <f3>33</f3>
    </Row>
    </Record>
    2nd XML:
    <Record>
    <Row>
    <f1>AA</f1>
    <f2>BB</f2>
    <f3>CC</f3>
    </Row>
    </Record>
    I would like to have one xml message with all rows in it.It seems the MessageTransformBean is not recognizing the end of line in the flat file.Do i need to use endSeparator explicitly.
    I followed the "How to use Content Conversion in JMS Adapter " and configured the adapter,still no luck..
    Any Help greatly Appreciated
    Thanks,
    C

    Hi Chirag,
    The parameter name sequence changes alphabetically by itself when I save and activate it eventhough I enter as it is in the document.How to stop changing this sequence or put it the order as required in the Module Processor.
    Currently my sequence is
    Transform.Class
    Transform.ContentType
    xml.conversionType
    xml.documentName
    xml.documentNamespace
    xml.fieldFixedLengths
    xml.fieldNames
    xml.processFieldNames
    xml.structureTitle
    Let me know how to change the sequence ,if that is the issue.
    Thanks,
    C

  • Sender JMS Adapter - NOT Working

    Hello Everybody - We are on SP13, also installed JMS Driver files on the system. We are running, Central Adapter Engine.
    We configured the Sender JMS Adapter for WBI MQ->XI->SAP scenario. We need to JMS Adapter to be configured to connect to WBI from XI. Everything looks great in configuration but in the Adpater Monitoring, JMS Adapter is with Error Status and Message says "Sender channel. Details: (No detail information set.)".
    Does anybody has any idea about this error ?
    I checked SAP Help link as well on this. Based on this link http://help.sap.com/saphelp_nw04/helpdata/en/ca/e7673c86d19b35e10000000a11402f/frameset.htm. Do we need to configure this JMS Adapter somewhere on teh server as well ? If yes, then where ? Pls respond if you have any clue about it.
    Thanks in anticipation...

    Hello Stefan - Thanks for response.
    Here are the Parameters.......
    Adapter Type: JMS
    Sender Type Clicked
    Transport protocol:WebSphereMQ (non-JMS)
    Message protocol:JMS 1.x
    Adapter Engine:Integration Server
    Queue ConnectionFactory Java Class:com.ibm.mq.jms.MQQueueConnectionFactory
    Queue Java Class:com.ibm.mq.jms.MQQueue
    IP Address or Server Name:10.9.48.154
    Server Port:1414
    Queue Manager Name:WBIDEV
    Channel Name:WBI.XI.SVRCONN
    JMS Queue:XI_REQUEST
    Transport/Network Protocol:TCP/IP
    JMS-Compliant:JMS-Compliant
    Transactional JMS Session:Check box Set
    JMS Queue User:XIUSER
    JMS Queue Password:********
    Set XI message ID(MessageID) to:GUID(recommended value)
    Set XI cenversation ID(conversationID) to:No value
    Mapping of Message:Message Payload=JMS Payload
    Quality of Service:Exactly Once
    Time Period for duplicate check for EO(IO)(secs):86400
    Wait After Message Error(msecs):1000
    Wait before Reconnect(msecs):1000
    Status:Active
    The Error Message I see in the Adapter Monitor is "Sender Channel. Details: (No detail information set.)
    Pls advice If I am missing anything ?
    Thanks....
    Amrish.

  • Sender JMS adapter configuration for IBM MQSeries

    Dear All,
    i am doing a IBM MQSeries 5.2.x Message ->sender JMS adapter -> XI server -> receiver RFC adapter -> R/3.
    i have deployed the JMS adapter with the required jar files of IBM MQSeries 5.2.x in XI server.
    in Sender JMS adapter configuration for IBM MQSeries 5.2.x, i have put following data:
    1. Transport Protocol: Websphere MQ - is it okay?
    in JMS provider settings:
    2. in channel name - what should be there?
    3. Transport Network protocol should be TCP/IP or WebsphereMQ - how to decide this thing.
    4. JMS Complaint - whether WebsphereMQ or JMS API.
    in JMS Settings:
    5. JMS Queue user - is this IBM MQSeries 5.2.x Queue User or someother user?
    6. JMS Message Selector - what data to take here.
    So if anybody has connected IBM MQSeries 5.2.x to XI via JMS adapter, please answer my above queries.
    Regards,
    Rajeev Gupta

    Hi Swaroop,
    you can send me those documents at my gmail-id : [email protected]
    Hi All,
    one more question - to connect XI server to IBM MQSeries via JMS adapter in ID, do we need to have a MQSeries Client installed on XI server - or - just by configuring JMS adapter, we can send messages from IBM MQSeries to XI server without any MQSeries client on XI server?
    Why Channel name is required in JMS configuration data?
    Thanks,
    Rajeev Gupta

  • Handling special characters in XML

    Hi,
    I am using Oracle 10g 'XMLType' datatype to store XML files. Before storing I parse the XML document using Java Xerces Parser. If it parses successfuly, then I perform some business rule execution based on XML file which was parsed. So till this stage there is no problems. But when XML file contains some special characters like copy-paste of some description from MS-Word document into XML tags, then Xerces parser will parse such characters with out any exceptions, but while inserting XML document, Oracle database just throws exception saying unable to handle special characters.. So how to avoid such exceptions or silent such exceptions with any specific settings respect to XMLType datatype in 10g DB.
    Please advice!
    Arvind Patil - IN

    Monica--
    In XI 2.0, we've noticed a number of issues processing special characters, primarily caused by the version of JCO that we're running.  It sounds like SAP has spent some time in the past few months focusing on these errors, so make sure you're on the most recent patchlevels of all your middleware components, including any of the middleware libraries that BC uses. In XI, we had to update the 3 files that make up the RFC library and JCO library.  SDM couldn't update the libraries for us -- we had to manually move the files to the right place.
    Escaped XML characters like "&amp;" "&#34;" "&quot;" were fixed as of JCO 2.0.10 (the current patchlevel on AIX/UNIX), the special character "&apos;" is fixed in the next release, JCO 2.0.11, due out in a few weeks (hotfixes are available).  I don't know the equivalent versions on other platforms.  By default, XI 2.0 appears to have shipped with JCO 2.0.5.  I would expect many XI 3.0 users to also be affected.
    This may or may not apply to BC, because I don't know what BC uses to talk to SAP under the covers.
    --Dan King
    Capgemini

  • How to ignore Recordset name in XML(Sender JMS Adapter)?

    Hi All.
    I am using Sender JMS Adapter along with content conversion.
    I have put in Parameter:
    Plain2XMLService xml.ignoreRecordsetName true
    still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
    Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
    Thanks in Advance

    >
    Gowtham Peddi wrote:
    > Hi All.
    >
    > I am using Sender JMS Adapter along with content conversion.
    >
    > I have put in Parameter:
    > Plain2XMLService xml.ignoreRecordsetName true
    >
    > still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
    >
    > Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
    >
    > Thanks in Advance
    can you try
    ignoreRecordsetName true instead of xml.ignoreRecordsetName
    also try to not give any value for the xml.recordsetName parameter.
    I actually doubt if we can ignore the record set name using the module.

  • Sender JMS Adapter: Problem in Recordst

    Hi All.
    I am using Sender JMS Adapter along with content conversion.
    I have put in Parameter:
    Plain2XMLService     xml.ignoreRecordsetName           true
    still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
    Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
    Thanks in Advance

    Hi Pravesh,
    Check this file on Sender JMS adapter if it helps you in anyway;
    http://help.sap.com/saphelp_nw04s/helpdata/en/ca/e7673c86d19b35e10000000a11402f/frameset.htm
    Also check this:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50061bd9-e56e-2910-3495-c5faa652b710
    Regards,
    Subhasha Ranjan

  • Sender JMS Adapter with EOIO Quality of Service

    Hi,
    I have a sender JMS adapter with a quality of service as EOIO. In the SAP help it says that I need to specify the "Processing J2EE Cluster Server (Cluster ID)". Just wondering how I get this value? Does anyone have an example?
    Thanks,
    Krishneel

    Hi,
    Please go through the bleow Wiki:
    http://wiki.sdn.sap.com/wiki/display/XI/FAQ+J2EEJMS+Adapter
    http://help.sap.com/saphelp_nwpi71/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Thanks,
    satya

  • Sender JMS Adapter does not work

    Hi all,
    We have created a sender JMS adapter with transport protocol "Access JMS Provider with JNDI". The adapter connects to destination successfully, so the connection parameters are right. However, we do not receive any message when the sender sends them.
    What parameters should we set to be able to retrieve messages from the queue?
    Thanks in advance,
    Samantha.

    Hi,
    Into Communication Channel Monitoring, we get the following errors:
    1. Error occurred while processing message: null. Detailed error (if any): java.lang.NullPointerException: at java.text.MessageFormat.applyPattern(MessageFormat.java:414) ...
    2. Added dynamic header: DCJMSMessageSelector to XI message null which corresponds to JMS message selector: mentioned in the channel configuration
    3. XI message ID corresponding to the JMS message with ID: ID:1109F6E3DF541328-00000000053E as stripped of the "ID:" marker and now has the value: null
    4. XI message ID corresponding to JMS message with ID: ID:1109F6E3DF541328-00000000053E will be created with the value of JMSCorrelationID which has the value: null
    Where is the problem?
    Thanks again,
    Samantha.

Maybe you are looking for

  • Windows Service Error 1053 - Service did not respond to start or control request

    I'm presuming it's logging on as a domain user.  Has that user got "Logon as a Service" rights?

  • AE 12.1 Crash: "There was more than one edit in the video track"

    Here's the last log message: Last log message was: <140735209366288> <ImporterQuicktime::NativeReaderGetInfo> <5> There were more than one edit in the video track, defer to non-native quicktime for 0x1308a73a8. iMac 27-inch, Late 2012 Software OS X 1

  • How to give TSO account attribute

    Hi, We are trying to map TSO.PROC attribute in RACF adapter. We are given as follows: 1. procvalue (Identity System user attribute) 2. string (attribute type) 3. TSO.PROC (Resource User Attribute) But it is not populating value. Anyone help me out to

  • Blur filter missing when publishing the movie

    In one movie I use some blur filter on a movie clip. I see the effect when I play the timeline directly inside flash (by pressing enter). But when I "Test movie" or publish the movie the blur filter is gone. I have encoutnered this problem twice now

  • SmoothCam looks terrible

    I have some footage shot using the JVC GY-HD110 on HDV 720p24 from a car mount. We pulled the vehicle using a trailer and every little bump causes slight vibration. I am trying my best to edit around the huge shakes but some are unavoidable. I am exp