Web Service Contract Compatible/Incompatible changes

09Jan12

Recently I ran into a question on StackOverflow regarding what would be compatible (non-breaking) changes to a Web Service contract. I had spent some time in the past on this particular subject while I was researching contract versioning. There is a great book on this subject from Thomas Erl et al; The name is Web Service Contract Design & Versioning for SOA.

Here is what they have to say;

Compatible Changes

  • adding a new WSDL operation definition and associated message definitions
  • adding a new WSDL port type definition and associated operation definitions
  • adding new WSDL binding and service definitions
  • adding a new optional XML Schema element or attribute declaration to a message definition
  • reducing the constraint granularity of an XML Schema element or attribute of a message definition type
  • adding a new XML Schema wildcard to a message definition type
  • adding a new optional WS-Policy assertion
  • adding a new WS-Policy alternative

Incompatible Changes

  • renaming an existing WSDL operation definition
  • removing an existing WSDL operation definition
  • changing the MEP of an existing WSDL operation definition
  • adding a fault message to an existing WSDL operation definition
  • adding a new required XML Schema element or attribute declaration to a message definition
  • increasing the constraint granularity of an XML Schema element or attribute declaration of a message definition
  • renaming an optional or required XML Schema element or attribute in a message definition
  • removing an optional or required XML Schema element or attribute or wildcard from a message definition
  • adding a new required WS-Policy assertion or expression
  • adding a new ignorable WS-Policy expression (most of the time)

HTH.

Disclaimer: As I’ve mentioned, this is work done by the authors of the book and I’m merely sharing it. I’m also not affiliated in anyway; just liked the book :)

Advertisement


No Responses Yet to “Web Service Contract Compatible/Incompatible changes”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.