views:

693

answers:

1

I know this is a complex WCF configuration issue, but here is a high level question:

Does WCF support Transactions over the Internet without SSL?

All of our service methods are decorated with the TransactionFlow attribute, e.g.:

[TransactionFlow(TransactionFlowOption.Mandatory)]

This forces the caller to supply a transaction context. This works fine for us on our Intranet but has problems with being invoked over the Internet.

The error we are receiving when invoking the service methods over the Internet is:

The flowed transaction could not be unmarshaled. The following exception occurred: The MSDTC transaction manager's WS-AtomicTransaction protocol service 'Version10' is disabled and cannot unmarshal incoming transactions."

A: 

To answer your basic question: yes, you must have SSL enabled.

One question you haven't asked yet, but will get to, is how to enable WS-AtomicTransaction support in MSDTC and you will find that information here: http://msdn.microsoft.com/en-us/library/ms733943.aspx

This article tells you the requirements for WS-AT and how to set it up. Also, bravo for using WS-AT. If you are doing transactions over the internet, this is the way to do it, especially if you want standards compliance.

Anderson Imes