Eu sugiro dar uma olhada em uma das amostras na instalação do WMQ - chamada Simplewmqmdwrite.java
Isso usa setObjectProperty da seguinte maneira:
// 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);
A mensagem de erro que você incluiu, porém, não se parece muito com uma mensagem de erro WMQ JMS mais WebLogic, pergunto se isso envolveu o objeto da mensagem e está fazendo uma verificação adicional?
M.