tags:

views:

316

answers:

1

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."

+1  A: 

Are you turning off security in both the client and service configurations? If they are not matched, the service might be faulting and putting the message back into the queue (particularly if you are working with a transactional queue).

Have you tried enabling WCF tracing on the service to see what is up?

tomasr
+ 1 for the tracing. Will try it.
Kurt Schelfthout