I implemented one custom transport based on duplex-shape. Unfortunately, the transport was in some scenarios not able to route the message to wanted operation.
After intensive tracing and debugging I figured out that one message is not routed to the service if at least one of following is true:
- The message is not well formed. In that case the service model creates the fault message. This can be the case when the message for example does not have a body at all, or the body is not serialized according to expected specification.
- The action specified in the header does not match the operation which should be invoked.
- The ‘To’ header of the message does not match the ListeningUri of the service.
The routing of the message is processed in the internal cWCF lass ImmutableDispatchRuntime in one of ProcessMessageN methods.
Posted
Aug 06 2006, 11:04 PM
by
Damir Dobric