Question

With hundreds of existing clients in mind, we'd like to alter some operations in our WCF service. Updating the clients will take time so we'd like the service to continue working with the 'old' ones until all of them are updated. The changes are specifically these:

  • set IsOneWay=false for an operation which was true before
  • change FaultContract declarations (remove existing, add new)

I've read Versioning Strategies but couldn't find information about this kind of a modification. My guess is that changing FaultContracts could break the compatibility whereas I'm not so sure about the IsOneWay attribute.

Question: Would old clients break if these attributes are changed in the service?

Was it helpful?

Solution

I beleive both changes are breaking - but encourage you to verify on your own cotnract. IsOneWay=true results in client expected a different HTTP response header than when two-way. Changing a FaultContract is only allowed if you make non-breaking changes (e.g. add optional parameters).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top