Author |
Message
|
pmanington |
Posted: Fri Feb 04, 2005 2:33 am Post subject: corrupted IMS messages. MQIMS.dll not found. |
|
|
Newbie
Joined: 04 Feb 2004 Posts: 7
|
Hi,
We've recently been getting errors betweeen a windows 2000 MQ server and a mainframe based Queue manager. We have a channel set up between them and conversion is set to on to convert data from ASCII to EBCDIC. 99% of the messages get through ok but every now and then one fails and gets put onto the dead letter queue, or a message will be corrupted and some data will be incorrectly converted. The corruption consists of the characters which should have been X'4BF0F061' being replaced by X'01030300'. This has only started to happen recently since we made a change which means that some of the messages contain more IMS entries to minimise the number of messages.
When the messages get corrupted we get no error messages, but when the messages are put to the dead letter queue we get a series. They are as follows.
AMQ7937 Structure length &1 in MQFMT_IMS_VAR_STRING format message is not valid
Explanation: This error is detected when attempting data conversion. The valid range for the length is 4 (with no string data) to 32767. The message is returned unconverted with a reason code of MQRC_CONVERTED_STRING_TOO_BIG.
User Response: Check the content of the message before data conversion and correct the message format. When converting data using two or more bytes per character, remember that the number of bytes in each character can change during data conversion. This causes the message lengths to change.
AMQ6174 The library C:\Program Files\IBM\WebSphere MQ\exits\MQIMS.dll was not found. The queue manager will continue without this module.
Explanation: The dynamically loadable file &3 was not found.
User Response: Check that the file exists and is either fully qualified or is in the appropriate directory.
What's more confusing is that in our development environment these messages work correctly (virtually identical messages apart from a time date stamp) on one of our development queue managers and not on another. I have searched for the MQIMS.dll on the one that does work but cannot find it, i can't find any reference to it anywhere else either. Does anyone know where i can find a copy? If not does anyone have any idea what may be going wrong?
Sorry for writing an essay but i figured it'd be good to get as much detail in as possible. Thanks for any help. |
|
Back to top |
|
 |
EddieA |
Posted: Fri Feb 04, 2005 9:29 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Quote: |
The library C:\Program Files\IBM\WebSphere MQ\exits\MQIMS.dll was not found |
You are trying to do message conversion at the receiving end, and MQ looks for a conversion exit named the same as the message format.
For IMS, and CICS, you have to do the conversion on the Sender channel, because only the mainframe side knows these particular formats.
If this is only happening occaisionally, then look for messages in the CHIN to see why those messages were not converted. Perhaps something was wrong in the header.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
JT |
Posted: Fri Feb 04, 2005 3:54 pm Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
Just came across this snippet yesterday, while researching how MQ/IMS-bridge messages work. It may be applicable:
Quote: |
There is a further restriction on the 32 KB limitation on messages with format MQFMT_IMS_VAR_STRING. When the data in an ASCII mixed CCSID message is converted to an EBCDIC mixed CCSID message, a shift-in byte or a shift-out byte is added every time there is a transition between SBCS and DBCS characters. The 32 KB restriction applies to the maximum size of the message. That is, because the LL field in the message cannot exceed 32 KB, the message must not exceed 32 KB including all shift-in and shift-out characters. The application building the message must allow for this. |
What was the size of the message:
Quote: |
AMQ7937 Structure length &1 in MQFMT_IMS_VAR_STRING format message is not valid
Explanation: This error is detected when attempting data conversion. The valid range for the length is 4 (with no string data) to 32767. The message is returned unconverted with a reason code of MQRC_CONVERTED_STRING_TOO_BIG. |
|
|
Back to top |
|
 |
pmanington |
Posted: Wed Mar 02, 2005 5:12 am Post subject: |
|
|
Newbie
Joined: 04 Feb 2004 Posts: 7
|
Hi Guys, Thanks for the help. I realise that the conversion is done on the mainframe exit and the error does only happen about 1 in 1000 messages sent. Is the CHIN a mainframe event log?
As for the size of the message it varies from quite small to quite large so there deosn't seem to be a correlation there. |
|
Back to top |
|
 |
EddieA |
Posted: Wed Mar 02, 2005 9:46 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Quote: |
Is the CHIN a mainframe event log |
No, it's the Channel Address Space. But it does write it's output to SYSLOG, and other ouptut DDs. (It's been a long time since I've worked on the mainframe version).
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
wask |
Posted: Mon Oct 31, 2005 1:53 pm Post subject: MQSeries |
|
|
Newbie
Joined: 31 Oct 2005 Posts: 1
|
Hi all
Bascially i am biztalk Developer. i am using biztalk adapter for MQSeries and IBM MQSeries. I am trying to pull the data from MQSeries with my adapter but i am getting error.
Message version -975578640 is not supported.
Message data conversion cannot convert a message because the Version field of the message contains an incorrect value.
Use the standard facilities supplied with your system to record the problem identifier, and to save the generated output files. Do not discard these files until the problem has been resolved. Use the file containing the Message Descriptor of the message to determine the source of the message and to see how data that is not valid became included in the message.
The system could not dynamically load the library C:\Program Files\IBM\WebSphere MQ\exits\MQIMS.dll. The system return code was 536895861. The queue manager will continue without this module.
This message applies to Windows NT and Windows 2000 systems only. The dynamically loadable file C:\Program Files\IBM\WebSphere MQ\exits\MQIMS.dll failed to load correctly due to an internal error. The MQ error recording routine has been called.
Check that the file has not been corrupted then use the standard facilities supplied with your system to record the problem identifier, and to save the generated output files. Contact your IBM support center.
A week ago i can convert the message but not now.
In Biztalk adapter for MQSeries there is properties called character set = UTF-8. it works fine but now.
i am new to MQSeries can any one help me.
thanks
wask |
|
Back to top |
|
 |
EddieA |
Posted: Mon Oct 31, 2005 3:19 pm Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
EddieA wrote: |
Quote: |
The library C:\Program Files\IBM\WebSphere MQ\exits\MQIMS.dll was not found |
You are trying to do message conversion at the receiving end, and MQ looks for a conversion exit named the same as the message format.
For IMS, and CICS, you have to do the conversion on the Sender channel, because only the mainframe side knows these particular formats.
If this is only happening occaisionally, then look for messages in the CHIN to see why those messages were not converted. Perhaps something was wrong in the header. |
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
|