I have N quantity of “clients”, and each one has to implement a web service for my .Net app to consume. I dont want to add a service reference for each client because they can change at any moment, as well as the URLs, so I store the URLs on a database and dinamycally create the endpoint depending on which client I want to access.
I was wondering if I have to force my clients to write the same type of services(either WCF or JAX-WS) or I can still connect to one or another without writing some kind of conditional logic.
ie. If JAX-WS then "do this" ELSE IF WCF "do other stuff"
Also I was wondering if adding WS-*(wshttpbinding) security would add more complexity for the interoperability(or interchangeability) of the two technologies.
Any comments about this approach would be greatly appreciated.
It’s possible to implement this without having to use an if-else , all clients/implementations (.NET and Java) must to use the same contract (WSDL) which should not be a big issue.
For the WS-* this is quite easy using only .NET BUT it’s hard (not impossible) to get it working from .NET to Java so I usually end up doing basicHttp using SSL with either basicauthentication (username/password) or certificates. This is a lot easier than wsHttpBinding from .NET to Java.
Like Cheeso says, start with the WSDL, i.e. create a client and service in .NET, this will give you a WSDL, then take that WSDL and use it to implement the Java clients.