How to use Python to send messages to MSMQ with transaction enabled

80 views Asked by At

Currently, I have tried multiple methods, but I still cannot retrieve any messages from the queue. I can confirm that if it's a non-transactional queue, I am indeed able to receive messages. Please assist me with this. Here is the code I wrote:

def send_message(queue_name: str, label: str, message: str):
    queue_info = win32com.client.Dispatch("MSMQ.MSMQQueueInfo")
    queue_info.FormatName = f'direct=tcp:{host_name}\\PRIVATE$\\{queue_name}'
    queue = None
    try:
        queue = queue_info.Open(2, 0)
        msg = win32com.client.Dispatch("MSMQ.MSMQMessage")
        msg.Label = label
        msg.Body = message
        msg.Send(queue)
    except Exception as e:
        print(f'Error! {e}')
    finally:
        queue.Close()
0

There are 0 answers