guru_fordy
guru_fordy

Reputation: 36

TransactionAutoComplete set to false cannot be used with operations on callback contracts

A normal HTTP WCF Service is throwing this error when trying to connect to a legacy NetTCP binding. I want to be able to flow the transaction to the service and have that enabled. I am not using a duplex contract so why is it even mentioning a 'callback' contract in the error message?

Please just say if you need to see some more code, but I'll take any suggestions right now!

** the error is thrown when it's doing a ChannelFactory.CreateChannel()

The operation 'XService' on callback contract 'IXService' is configured with TransactionAutoComplete set to false. TransactionAutoComplete set to false cannot be used with operations on callback contracts.

Server stack trace: 
   at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at IXService.Add(Int32 id, Int32 createdById, String note, Int32 productTypeId, Int32 noteTypeId)
   at XService.Add(Int32 id, Int32 createdById, String note, Int32 productTypeId, Int32 noteTypeId)

Upvotes: 1

Views: 198

Answers (1)

Dude Pascalou
Dude Pascalou

Reputation: 3171

I had the same problem. I was starting a service programmaticaly all along with the configuration (base address, binding, endpoint,...).

I ended up exporting all configuration to the config file and it worked.

Upvotes: 0

Related Questions