I have a requirement where in I need to support multiple applications hosting wsdls where is my application will be consuming their wsdls.
Now the issue is lets say application A "adds"some new operation to wsdl and B doesnt,and I reflect the change in the client in my application, will it create problem while consuming the wsdl from application B?
Also what are the rules that govern wsdls? If the host wsdl have less operations and the client is generated on a wsdl with more number of operations, will it create a problem?
Do all the operations and the elements need to be same on both side.
Or it that only the operations that may be used by the client should be exactly similar and others can be different?
"The more I learn,the more,I get to know, is left to learn."
One approach is to use a document-based web service.
Adding a new service or "operation" would then be a matter of adding a new document the service accepts, while retaining all the old.
Each document will have an unique namespace, which is how the service determines how to process the document submitted.
Alternatively, if you have a WSDL and some XML schemas and only adds optional data with default values to the XML schemas and/or new operations to the WSDL, then you will be able to retain backwards compatibility with old clients. The key here is never to remove anything and never to add new things that are required, since that would break old clients.