Sending NON-PERSISTENT messages using the C API doesn't work

When trying to send a non-persistent message using the C API methods

MQSendMessageExt or MQSendMessageToDestinationExt, if the call passes a non-zero value for the msgTimeToLive parameter then the message is never received by the consumer.

e.g. the following doesn't work:

MQSendMessageExt(producerHandle, messageHandle,MQ_NON_PERSISTENT_DELIVERY, 4, 10000); // msgTimeToLive = 10000ms

If msgTimeToLive is zero (i.e. message never expires) then the consumer can receive the message OK.

I am developing a client using MQ version 3.6.0 SP3 Platform Edition, running on WindowsXP SP2, with the MQ broker trial Enterprise Edition license enabled. My client machine has JRE version 1.6.0-rc. The MQ Broker server has JRE version 1.5.0_06.

Sun's bug reports say this problem was fixed in MQ version 3.5, some time in 2003. I'm using version 3.6, but is the Platform Edition trial license different to the full Enterprise Edition?

Are there any later updates I can download and apply to the Platform Edition installation?

Has anyone else tried these methods in the C-API and made them work successfully?

[1156 byte] By [koosba] at [2007-11-14]
# 1
Additional information about this problem:The message sending appears to work correctly, with a non-zero msgTimeToLive, if the message producer is running on the same PC as the MQ broker but not when run on another networked PC.
koosba at 2007-7-8 > top of java,Application & Integration Servers,Sun Java System Message Queue...