cancel
Showing results for 
Search instead for 
Did you mean: 

JMS sender channel binary format possible?

Former Member
0 Kudos

Hi,

We're still having codepage problems from MQ to SAP via JMS.

We send text messages, the QM format name is MQSTR and the message type is datagram.

At the moment SAP development is saying:

If the XML is encoded in anything other than UTF-8, then the

javax.jms.Message object must be be a BinaryMessage and not a

TextMessage. All TextMessages are interpreted to be UTF-8

--

My remarks on this:

-If we send UTF-8 the data is still corrupted in the end sap system so still the adapter seems to working incorrectly

-I have the feeling that in the JMS sender channel the CCSID parameter has no influence whatsoever on the application data translation

But I want to try anything, so how would I configure a JMS (MQ) sender channel for binarymessage. It seems that the JMSMessageType parameter is only valid for receiver channels. Ok, I can image that the sending side (MQ) should set the message type but then still I think the module configuration/sequence should be different than the standard one.

Anyone a clue what this should be?

thanks

Tom

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Problem solved...

We finally managed to send a binary file to XI.

We had to do two changes to accomplish this, first make sure when we read the file from its source directory that no automatic translation is done (remove O_TEXTDATA switch from C api on iseries).

Secondly in MQ change the message format from MQSTR meaning text message to Blanks.

The messages in MQ are not human readable anymore, but when looking at the hex codes it is proper utf-8.

Now the special characters are correct in the XI monitors and also in the receiving SAP systems.

I suspect the cause of the problem to be in the iseries only partial support for the utf-8 encoding.

a nice way to end the week..

0 Kudos

Hi

we've have no Problems with UTF-8 Messages in any order (Sender/Receiver).

Our Configuration:

XI are connected as a Client via Clientchannel

CCSID set to 1208

Modul Sequence SENDER and RECEIVER-Adapter:

1 localejbs/SAP XI JMS Adapter/ConvertJMSMessageToBinary Local Enterprise Bean

2 localejbs/SAP XI JMS Adapter/ConvertBinaryToXMBMessage Local Enterprise Bean

only by Adaptertype: SENDER

3 localejbs/CallSapAdapter Local Enterprise Bean

NO Modulkonfiguration !!

Former Member
0 Kudos

Hello Haiko,

Do you use MQ as sender product? If so how does the MQMD structure look, especially the MQCSI field which specifies the encoding of the application data?. Is that set to 1208 as well?

If you use MQ, what codepage is your queue manager running under?

The module sequence we have is the same as yours. Sofar I think that in the jms sender channel the CCSID field has no effect. In the receiver channels it does have effect though.

Thanks

Tom

MichalKrawczyk
Active Contributor
0 Kudos

Hi Tom,

I'm not sure if this helps you but in one of our projects

when IBM MQ was involved we created a configurable

java proxy (via WWW) in which you could specify

the codepage in the configuration WWW

we also had some issues with the MQ message header

which had to be the same for for request-response

calls and the codepage was working for this too as far

as I remember - maybe you can try the same apporach if

the jms adapter will be no good

Regards,

michal

MichalKrawczyk
Active Contributor
0 Kudos

Hi Tom,

have you tried using ConvertBinaryToXMBMessage ?

reference:

https://websmp204.sap-ag.de/~sapdownload/011000358700001186732005E/HowToConveModuleJMS.pdf

Regards,

michal

Former Member
0 Kudos

hello Michal,

yes, we use the standard three:

localejbs/SAP XI JMS Adapter/ConvertJMSMessageToBinary

localejbs/SAP XI JMS Adapter/ConvertBinaryToXMBMessage

localejbs/CallSapAdapter

But since the conversion is first to binary and then from binary to XMB I am not sure that this adds anything. And there is nothing configurable about this module.

The MessageTransformBean looks interesting but seems to be made only for structure conversions and not codepage conversions for instance.

Regards

Tom

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

can't you just use only ConvertBinaryToXMBMessage?

if you need to send binary to jms adapter?

Regards,

michal