Проблема IBM MQSeries: удаленный хост закрывает соединение при записи сообщения (ошибка 10054) - PullRequest
4 голосов
/ 09 февраля 2010

Я пытаюсь записать на хост IBM MQSeries с:

public void WriteMessage(string message)
{
    queueMessage = new MQMessage();
    queueMessage.WriteString(message);
    queueMessage.Format = MQC.MQFMT_STRING;
    queuePutMessageOptions = new MQPutMessageOptions();

    queue.Put(queueMessage, queuePutMessageOptions);
}

Мой errorcatch дает мне ошибку, однако:

Ошибка в приложении

Что, конечно, мало что показывает. Поэтому я проверил журнал событий на сервере, и это показало мне ошибку:

Произошла ошибка при получении данных от stx041774 (192.168.225.51) более TCP / IP. Это может быть связано с сбой связи.

The return code from the TCP/IP (recv) call was 10054 (X'2746').

Запишите эти значения и сообщите системный администратор.

Я посмотрел 10054 и означает:

Существующее соединение было принудительно закрыто удаленным хостом.

Кто-нибудь знает, что я могу сделать, чтобы сделать эту работу? Возможно, есть опция MQC, которую я должен установить для записи? Поскольку я понятия не имею, что делать с опциями, я даже не уверен, что это проблема.

1 Ответ

3 голосов
/ 26 февраля 2010

Я решил эту проблему с опцией mqc.mqoo_output:

queue = qManager.AccessQueue(QueueName, MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING);
...