views:

57

answers:

1

I have a set of existing WCF services hosted in a .NET 3.0 app. They're using the WSHttp bindings and no security.

I need to connect to these from a .NET 3.5 client. This seems to be working fine for the one-way services, but I also have some callback services (with CallbackContract and SessionMode = Required, using WSDualHttpBinding); these fail to connect with a timeout somewhere in the ReliableSession code.

The service side cannot be changed (it's a historic version issue). Can I modify something on the client side to get this working? (I can connect with a .NET 3.0 client just fine, but I'd rather not be forced to try that path.)

The open operation did not complete within the allotted timeout of 00:00:09.9410000.
The time allotted to this operation may have been a portion of a longer timeout.
Server stack trace: 
   at System.ServiceModel.Channels.ReliableRequestor.ThrowTimeoutException()
   at System.ServiceModel.Channels.ReliableRequestor.Request(TimeSpan timeout)
   at System.ServiceModel.Channels.ClientReliableSession.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.ClientReliableDuplexSessionChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
A: 

Ok, sorry for the noise. It turns out that the problem was actually due to the generated client code; at the time, I had the .NET 3.5 service running on my local machine and the .NET 3.0 service running on a remote machine. They have different namespaces, and it looks like VS was picking up the local service namespaces even though I specifically told it to connect to the remote IP. After regenerating the client code with the local server not running, it worked fine.

Miral
And now I just ran into it yet again, but *this* time it was caused by the client callback port already being in use by another application. They really don't make this stuff easy to use. :(
Miral