cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver JMS adapter | CCSID battle

Dimitri
Active Contributor
0 Kudos

All,

I need to send messages to an IBM iSeries system. When I take a look at the IBM side, the CCSID seems to be 1208. How can that be?

In the receiver JMS adapter

  • I provided the CCSID (37) in the Target tab
  • additional parameter JMS.QueueImpl.method.setCCSID is included with value java.lang.Integer 37
  • In the module tab, I added Transform.ContentType with value text/plain;charset=UTF-8

Nothing seems to help. Also a combination of the above parameters.

Anyone any idea?

Thanks a lot.
Dimitri

Accepted Solutions (1)

Accepted Solutions (1)

former_member423067
Active Participant
0 Kudos

Hi Dimitri,

if you are sending plain alpha numeric chars in your SAP PI output CCSID 819 - (ISO 8859-1 ASCII ) should work. if you have special chars or non English char try using CCSID 1208 (UTF-8).

One more point, once you send the data from SAP PI and place it in the JMS Q. Try extracting the data from the input Q using RHFUTIL before the application process the message from queue. if the message is placed correctly in the input queue properly. then problem should be in the application processing further from the input queue. if the character set is not handled properly while reading, data can get corrupted.

with regards,

Nazeer

Answers (1)

Answers (1)

Dimitri
Active Contributor
0 Kudos

Hi Nazeer,

I need to convert a simple XML structure to plain. So, I big string, based on field lengths of the data type. Concatenated.
As far as I know, no special signs or symbols will be used. Just regular text.

I use a freeware tool to connect to the queue to see the message. I only see squares.
Also, the MQ team told me that the message is completely useless and cannot be processed further.
Even more, the MQ team explicitly told me the CCSID is 37. When they send me a screenshot of what they see, you can clearly see the CCSID is 1208.

This is what I have configured in the receiver JMS adapter. Perhaps you should take a look and let me know if all that is expected?

  • transport protocol = WebSphere (MQSeries) JMS provider
  • Message protocol = JMS 1.x
  • TARGET tab
    - Character Set ID = 37
    - transport/network protocol = TCP/IP
    - target client = WebSphereMQ (non-JMS)
  • PROCESSING tab
    I guess not relevant to indicate here to solve the problem
  • ADVANCED TAB
    Additional parameter JMS.QueueImpl.method.setCCSID with value java.lang.Integer 37
  • Modules
    1. AF_Modules/MessageTransformBean
    2. SAP XI JMS Adapter/ConvertMessageToBinary
    3. SAP XI JMS Adapter/SendBinarytoXIJMSService
  • Module configuration, only for AF_Modules/MessageTransformBean
    - Transform.Class = com.sap.aii.messaging.adapter.Conversion
    - xml.ProcessFieldNames = fromConfiguration
    - xml.addHeaderLine = 0
    - xml.conversionType = SimpleXML2Plain
    - xml.documentName = reference to the Message Type in the ESR
    - xml.fieldFixedLengths = reference to the field lengths
    - xml.fieldNames = reference to the name of the fields
    - xml.fixedLengthTooShortHandling = Cut

You also refer to RHFUTIL. Can you be more specific?

Which tool do you use to ready queues for testing? I have a feeling my freeware tool is not displaying correctly.

Thanks again!
Dimitri