{"id":206,"date":"2003-11-08T19:35:00","date_gmt":"2003-11-08T23:35:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=107"},"modified":"2003-11-08T19:35:00","modified_gmt":"2003-11-08T23:35:00","slug":"action-and-scope","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2003\/11\/action-and-scope\/","title":{"rendered":"&#34;Action&#34; and scope"},"content":{"rendered":"<p><a href=\"http:\/\/www.gotdotnet.com\/team\/dbox\/default.aspx?key=2003-11-07T06:39:16Z\">Don Box asks<\/a>;<\/p>\n\n<blockquote>\nIn a world in which all SOAP messages have &lt;wsa:Action&gt; header blocks, why\ndo my Body elements need XML namespace qualification?\n<\/blockquote>\n\n<p>First order answer; I&#8217;d say simply because an intermediary that doesn&#8217;t know the\nvalue of the Action header might want to look at the payload.<\/p>\n\n<p>Second order answer; I think it&#8217;s a fairly small &amp; uninteresting world where it\nwould it make sense to have Action headers within the SOAP envelope.  In order for\nSOAP to make proper use of application protocols (well, transfer protocols at least),\nSOAP headers should be constrained to containing representation data and metadata, as\nthat&#8217;s the data that remains constant between hops over different application protocols.  For\nexample, through a HTTP to SMTP bridge, a SOAP envelope should remain constant.  &#8220;Action&#8221;\nis message metadata, and therefore does not necessarily remain constant between\ndifferent protocols; it&#8217;s hop-by-hop.<\/p>\n\n<p>Where it <em>would<\/em> make sense to put the Action header (and other non-representation\nheaders) in the SOAP envelope, is when SOAP is used with transport protocols.  But I don&#8217;t\nthink there&#8217;s much value to that, at least in the short\/medium term; the value of reusing\nestablished application protocols is too great.<\/p>","protected":false},"excerpt":{"rendered":"Don Box asks; In a world in which all SOAP messages have &lt;wsa:Action&gt; header blocks, why do my Body elements need XML namespace qualification? First order answer; I&#8217;d say simply because an intermediary that doesn&#8217;t know the value of the Action header might want to look at the payload. Second order answer; I think it&#8217;s [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[26,40],"class_list":["post-206","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-soap","tag-xml"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/206","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=206"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/206\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}