0

I want to host my WCF web service in the public domain (on internet) so that any client application (java, .net etc.) can consume it.

The WSDL will give details of the service (what it offers etc.). But,

  1. How to inform the binding details to the clients? I want to know how do we inform binding details to the outside world when you are on internet and you do not know who the client will be. WSDL gives the details of the service; similarly what mechanism is there to inform the binding that's required to communicate with the service.

  2. Do I need to stick to some specific bindings when I want to publish my web service over internet where anybody can consume it?

Learner
  • 4,661
  • 9
  • 56
  • 102

1 Answers1

2
  1. svcutil or Visual Studio (using svcutil in background) will understand binding specification provided by metadata exchange binding (look here)
  2. it wouldn't. If You want Your web service to by used by technologies other than .NET You shouldn't use .NET specific implementations.
  3. basicHttpBinding works with soap 1.1. wsHttpBinding with soap 1.2 and WS-*. You shouldn't use other bindings if you want your web service to be interoperable.
Grzegorz W
  • 3,487
  • 1
  • 21
  • 21
  • Thanks for your answer. But my question is bit different. I want to know how do we inform binding details to the outside world when you are on internet and you do not know who the client will be. WSDL gives the details of the service; similar what mechanism is there to inform the binding that's required to communicate with the service. Edited the question to make it explicit. – Learner May 17 '12 at 07:16
  • You can't. "Binding" is a WCF concept. Not a web service concept. PHP soap client expect soap, not some unknown tcp protocol, msmq or pipe. If You create a netNamedPipeBinding PHP or Java soap client simply will not understand it. – Grzegorz W May 17 '12 at 07:48
  • Ok, my bad. Binding is a wsdl element. And necessary information will be provided there. – Grzegorz W May 17 '12 at 08:00