Я бы посоветовал взглянуть на один из образцов в установке WMQ, который называется simplewmqmdwrite.java
Это использует SetObjectProperty следующим образом:
// Generate a custom message id
byte[] customMessageId = new byte[24];
for (int i = 0; i < 24; i++) {
// Hex-string 010203040506070801020304050607080102030405060708
customMessageId[i] = (byte) ((i % 8) + 1);
}
// Write to MQMD.MsgId via JMS_IBM_MQMD_MSGID message property
message.setObjectProperty(WMQConstants.JMS_IBM_MQMD_MSGID, customMessageId);
Сообщение об ошибке, которое вы включили, хотя не очень похоже на сообщение об ошибке WMQ JMS больше Weblogic, задаетесь вопросом, обер ли это объект сообщения и делает дополнительную проверку?
М.