{"id":319,"date":"2004-04-07T07:57:00","date_gmt":"2004-04-07T11:57:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=354"},"modified":"2004-04-07T07:57:00","modified_gmt":"2004-04-07T11:57:00","slug":"stefan-on-message-metadata","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2004\/04\/stefan-on-message-metadata\/","title":{"rendered":"Stefan on message metadata"},"content":{"rendered":"<p>I forgot about <a href=\"http:\/\/www.innoq.com\/blog\/st\/archives\/000831.html\">this argument<\/a>,\nheld by some, including Stefan;<\/p>\n\n<blockquote>\nMark follows up with asking what a successful response to a message in &#8220;contract mode&#8221; would look like, and that an HTTP 200 response code would not have semantic meaning with regards to the message. Right, it doesn&#8217;t &#8211; that&#8217;s why the response code doesn&#8217;t matter as much as the response&#8217;s content itself, and why we have things such as WS-ReliableMessaging.\n<\/blockquote>\n\n<p>The issue with not using a response code is that it&#8217;s impossible to distinguish\nbetween success and failure in some cases.\nConsider a portType\/interface\/operation of &#8220;getLastFault&#8221;, whose intend semantics is,\nas it sounds, to return the last fault sent by this service; how do\nyou know if the fault is a result of trying to find out what the last fault was (which is a\nreal fault), or if that really was the last fault (which isn&#8217;t a real fault)?  That&#8217;s why\n<a href=\"http:\/\/www.markbaker.ca\/2002\/09\/Blog\/2003\/12\/18\/#2003-12-ws-message-metadata\">message metadata<\/a>\nneeds to be orthogonal to content.<\/p>\n\n<p>But anyhow, the 200 example was just illustrative of the point\nthat the contract changes depending upon which style of WSDL you&#8217;re using.  So unless\nthere&#8217;s some bit in the message which says which interpretation is intended, then the\nsemantics of that interaction is ambiguous.  And even without that bit, the contract\nitself is ambiguous.<\/p>","protected":false},"excerpt":{"rendered":"I forgot about this argument, held by some, including Stefan; Mark follows up with asking what a successful response to a message in &#8220;contract mode&#8221; would look like, and that an HTTP 200 response code would not have semantic meaning with regards to the message. Right, it doesn&#8217;t &#8211; that&#8217;s why the response code doesn&#8217;t [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-319","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=319"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/319\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=319"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}