{"id":65,"date":"2002-12-13T16:19:00","date_gmt":"2002-12-13T20:19:00","guid":{"rendered":"http:\/\/www.markbaker.ca\/wp\/?p=7"},"modified":"2002-12-13T16:19:00","modified_gmt":"2002-12-13T20:19:00","slug":"soap-and-put-dont-mix","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2002\/12\/soap-and-put-dont-mix\/","title":{"rendered":"SOAP and PUT don&#8217;t mix"},"content":{"rendered":"<p>Sam <a href=\"http:\/\/www.intertwingly.net:80\/blog\/2002\/Dec\/13#x1010\">thinks good thoughts<\/a>\nabout how to use RESTful SOAP as a Blogger API.  Nice.  But there&#8217;s an important issue with\nSOAP and PUT.  Unlike POST, PUT means &#8220;store&#8221;, and as such its processing model doesn&#8217;t\nprovide a hook into which an additional processing model (i.e. SOAP) can be introduced.\nAn intermediary or message processor seeing a PUT request with a SOAP body, would be correct\nto treat the body as opaque data, and wouldn&#8217;t be required to follow the SOAP processing model.<\/p>\n\n<p>This is why I&#8217;ve <a href=\"http:\/\/groups.yahoo.com\/group\/rest-discuss\/message\/2374\">talked about<\/a>\nthe need for a new HTTP method I&#8217;m currently calling &#8220;SET&#8221;, whose semantics will be\n&#8220;process and store&#8221;, and will therefore allow for an additional processing model to be\ninserted.<\/p>","protected":false},"excerpt":{"rendered":"Sam thinks good thoughts about how to use RESTful SOAP as a Blogger API. Nice. But there&#8217;s an important issue with SOAP and PUT. Unlike POST, PUT means &#8220;store&#8221;, and as such its processing model doesn&#8217;t provide a hook into which an additional processing model (i.e. SOAP) can be introduced. An intermediary or message processor [&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],"class_list":["post-65","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-soap"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/65","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=65"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/65\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=65"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=65"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}