I have a MSMQ application using WCF's netmsmqbinding. In the default configuration, and with active directory integration enabled, everything works fine.
However, when I try to turn off security (using the netmsmqbinding's binding configuration), it seems as if the messages on the queue are received, i.e. messages are being posted, because I can see them in the queue's journal and they are not in the queue itself or in the dead letter queue, but the corresponding WCF operation is not being called. I don't see any exceptions or errors - it's just as if the messages are being sent and read but silently ignored by WCF.
Any ideas?
Update: this occurs when client and server app are on the same host. Also note that the messages are actually removed from the queue (i.e. being received), but the actual service operation is not called. I see the messages in the journal queue, not the actual queue.
Update 2: the queue is transactional.
Update 3: tracing doesn't reveal much. In the activity "Listen at net.msmq://address-of-thequeue", I get a CommunicationException with "The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00:09.9930000'."
On the activity "Process action on the-operation-not-being-executed", I get an InvalidOperationException with "No custom principal is specified in the authorization context."