Author |
Message
|
PeterPotkay |
Posted: Tue May 03, 2005 2:09 pm Post subject: MQ-Biztalk EBCDIC to ASCII Conversion Issue |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Is it true that a BizTalk app cannot ask for the MQGET with convert option? I have the Mainframe sending a message to a queue on the Windows QM. But the get by the BizTalk adapter will not convert no matter what.
I found this quote in the BizTalk Help File under Data Conversion:
Quote: |
Converts the message to the ANSI code page of MQSeries Server for Windows. On Send, if the message format is not MQFMT_STRING, there is no conversion.
Select Yes to perform this conversion from Unicode to ANSI.
Default: No
|
Biztalk can only covert from uni-code? I have to set CONVERT to YES on the incoming SNDR channel so the message arrives already converted to CCSID 437? _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue May 03, 2005 5:16 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Peter,
Did you look into the message envelope ?
I know the standards would be UTF-8, UTF-16, UTF-32 but may be there is a possibility to put a different envelope on it that would reflect CCSID 500 or CCSID 37.
Enjoy  |
|
Back to top |
|
 |
PeterPotkay |
Posted: Tue May 03, 2005 6:37 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Ugh, envelope?
The mainframe app will only produce a standard MQ messages with a standard MQMD - with a CCSID of 500, or 037 if we force that.
Looks like my options are to send the message thru WB-IMB to convert it, or turn on the convert option on the SNDR channel to this QM dedicated to BizTalk apps.
Unless there is atrick to get the BizTalk app to ask for a simple MQGET with convert. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed May 04, 2005 12:00 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Peter,
Let Biztalk do the transformation. It should act as a broker. Why have WB-IMB and Biztalk in the same network. Or is one thought as backup for the other ? Thus the need to investigate the message "envelope". This is a function of Biztalk.
Of course you can also have the channel translate and then there is no more need to do that at the Biztalk level.
Enjoy  |
|
Back to top |
|
 |
zpat |
Posted: Wed May 04, 2005 1:02 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
I have been asking the same question of Microsoft. I assume you mean the "free" Biztalk 2004 MQ adapter.
In one reply it was stated that the MQGMO_CONVERT option is set if the right Biztalk property was set.
On another reply it suggested that Biztalk gets the message then examines it to decide whether to convert data, which implies the conversion is not done by MQSeries (as it should be).
I guess the only way to be sure would be run a MQSeries trace to examine the API calls.
My guess is that they don't convert because Microsoft do not want to use MQ features if at all possible.
The Biztalk help file refers to MQ as "yesterdays messaging protocol". I think that speaks volumes for their attitude to integration. |
|
Back to top |
|
 |
dotv |
Posted: Mon Jun 13, 2005 4:15 am Post subject: |
|
|
Newbie
Joined: 13 Jun 2005 Posts: 1 Location: Netherlands
|
Hi,
I have exactly the same problem. I'm trying to send a message from the AS/400 MQSeries queue to Biztalk server and get problems. I tried various values of properties.
1. Convert Message = *Yes on sender channel with xml encoding of IBM-437 and UCS-2.
2. Convert Message = *Yes on sender channel and xml Encoding IBM437 and Characterset on MQSeries ReceivePort = ucs2.
They all give me errors like:
- Biztalk error: none of the components at disassemble stage can recognize the data
-The system does not support ebcdic
- Biztalk error: Could not find a matching subscription for the message
Can anyone please help?
Thnx
Danny op het Veld[/list] |
|
Back to top |
|
 |
zpat |
Posted: Mon Jun 13, 2005 4:36 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
There is an option in the Biztalk Microsoft MQ adapter to either not perform data conversion, or perform data conversion to UTF8.
This is supposed to then affect whether the MQGET has the CONVERT option specified or not when issued by the Biztalk MQ adapter.
0. Select the Biztalk Receive port in question.
1. Display the Receive Location Properties
2. Find the address (URI) - select it (transport type is MQSeries)
3. Change the MQSeries Transport Properties
4. Change "character set" from "None" to "UTF-8"
That should do it. Make sure when testing that messages have the correct CCSID for the data in them. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Tue Jun 14, 2005 8:53 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
zpat, I forwarded this to my developers, and still no luck.
We ended up setting convert to YES on the channels to this Queue Manager, which is dedicated for BizTalk apps anyway. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
zpat |
Posted: Tue Jun 14, 2005 9:57 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Strange, we had the same problem and fixed it with the above. Biztalk 2004 with Microsoft MQ adapter. You might need to re-bind the port or orchestration or some other Biztalk thing.
However before the developers admitted that it worked - they were testing it from Windows with a cut/paste of mainframe data into Commerce Quest queue tool - until I pointed out that this would produce a test message with a ASCII CCSID in the MQMD and EBCDIC in the data area and therefore it would not convert the data correctly.
They re-tested properly (end to end) and voila - no problems. |
|
Back to top |
|
 |
|