Subject: Expiring Soon: Southwest Rewards

From: Customer Service Survey <[email-masked]>
Date: Wed, 13 Aug 2014 14:25:57 -0700

SOUTHWEST

Greetings Krb-wg-archive,

We are extending you Rapid Rewards!

To Enjoy Your Southwest Rewards, all you need to do:

1) Claim your Southwest gift card Here!

2) Give us your opinion

3) Redeem your rewards before they expire

Do you love to fly Southwest?

Share your opinion and Southwest experiences by completing the survey and

Redeem Your Gift-Card!

If you would like to stop further reward notifications write: Current Update Alerts

1644 Doral DrBrookings, SD 57006 or please click here.

REST is easier to maintain - all you have to do is monitor the API documentation for any minute changes to the structure of the REST methods or the structure of the data they return. If you see a change you will just have to manually make the change in your hand-written code which parses the response of the method. With SOAP you have the burden of right-clicking on your reference and selecting "update" and then fixing a few compile errors. (Sarcasm included free of charge.) Josh M. Nov 4 '10 at 18:36

6

@JoshM: If you've hand-written code to parse the response of a generated response based upon a soft and flexible specification, you're not using REST; you've hardcoded to a resource tree. It's the same as coding to c:\windows\temp or whatever, as opposed to querying for the PROPER location to use. Because it works for a while, doesn't make it the right thing to do, nor is it good coding practice. Paul Sonier Jun 10 '11 at 18:01

@PaulSonier: what's the right way to parse the response from what often is a soft and flexible specification? I get that hardcoded brittle code isn't great, but I'm looking for advice or examples on the client end of RESTful APIs and coming up short so far. I think this is what Josh is getting at -- SOAP needs the ton of boilerplate code but what you get for that is a visible and enforceable contract on document format and type safety; RESTful APIs leave out the contract and the boilerplate and often look simple enough it doesn't matter, but... how do you not hardcode to the resource tree? metamatt Nov 17 '11 at 1:51

(I get the HATEOAS argument, but using, say, ticles/richardsonMaturityModel.html as an example -- there's still a fair amount of semantic interpretation needed, after parsing the XML, before you get to the link elements that are the "hypermedia controls".) metamatt Nov 17 '11 at 1:55

3

If you dig into advanced features of SOAP (all the WS-* stuff), you'll quickly discover that tools don't support these so well (including EAI and ESB products) and that frameworks can behave differently depending (like Metro vs C#) for subtleties such as "" and null. And the generated boilerplate code is usually only to work around the burden cause by SOAP itself.