Is changing a parameter in a OperationContract to it's Nullable<T> equivalent considered a breaking change?

119 views Asked by At

Consider the following ServiceContract-Interface:

[ServiceContract]
public interface ITest
{
    [OperationContract]
    void MyMethod(int a, int b);
}

Now we change it to the following (effectively changing parameter int a to a int? a):

[ServiceContract]
public interface ITest
{
    [OperationContract]
    void MyMethod(int? a, int b);
}

Would a client consuming this WCF-Service need to make additional changes to work with the new service definition?

1

There are 1 answers

0
Shion On BEST ANSWER

I finally had time to test everything and figured out my own answer.

It is not a breaking change for the following frameworks:

  • .NET (C#, 4.5)
  • Java 8

I did not test anything else as it doesn't matter for our scenario.

This means every client still works (without regenerating the client) even after updating the web service definition