<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: SOAP vs. REST API Implementation</title>
	<atom:link href="http://www.fliquidstudios.com/2008/12/17/soap_vs_rest_api/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fliquidstudios.com/2008/12/17/soap_vs_rest_api/</link>
	<description>Beautiful Web Applications</description>
	<lastBuildDate>Tue, 23 Feb 2010 21:49:11 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Introduction to writing a REST server in PHP &#124; Fliquid Studios</title>
		<link>http://www.fliquidstudios.com/2008/12/17/soap_vs_rest_api/comment-page-1/#comment-414</link>
		<dc:creator>Introduction to writing a REST server in PHP &#124; Fliquid Studios</dc:creator>
		<pubDate>Tue, 13 Jan 2009 04:16:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.fliquidstudios.com/?p=12#comment-414</guid>
		<description>[...] article is the second in my SOAP and REST API series, following on from my SOAP vs. REST API Implementation article and will fill in some more of the details around implementing a REST server in [...]</description>
		<content:encoded><![CDATA[<p>[...] article is the second in my SOAP and REST API series, following on from my SOAP vs. REST API Implementation article and will fill in some more of the details around implementing a REST server in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SOAP vs REST &#8212; a common misconception? - biotext.org.uk</title>
		<link>http://www.fliquidstudios.com/2008/12/17/soap_vs_rest_api/comment-page-1/#comment-32</link>
		<dc:creator>SOAP vs REST &#8212; a common misconception? - biotext.org.uk</dc:creator>
		<pubDate>Sat, 03 Jan 2009 14:34:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.fliquidstudios.com/?p=12#comment-32</guid>
		<description>[...] Andrew on Jan.03, 2009, under Rants Michael Little at Fliquid Studios recently posted an interesting comparison of SOAP vs REST which may have accidentally perpetuated a misconception about SOAP that I believe is fairly common. [...]</description>
		<content:encoded><![CDATA[<p>[...] Andrew on Jan.03, 2009, under Rants Michael Little at Fliquid Studios recently posted an interesting comparison of SOAP vs REST which may have accidentally perpetuated a misconception about SOAP that I believe is fairly common. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Clegg</title>
		<link>http://www.fliquidstudios.com/2008/12/17/soap_vs_rest_api/comment-page-1/#comment-31</link>
		<dc:creator>Andrew Clegg</dc:creator>
		<pubDate>Sat, 03 Jan 2009 14:01:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.fliquidstudios.com/?p=12#comment-31</guid>
		<description>Sure, sorry, I didn&#039;t mean to suggest that this was actually a non-issue with SoapServer. I have no experience with that particular toolkit so it might be a serious problem. At the same time, however, it might be worth digging into its internals to find a way to extract the XML directly, which would give it the exact same universal compatibility that REST enjoys.

Having looked at various SOAP toolkits in the Java world, and C#.NET&#039;s implementation in a previous life, I&#039;d say that this is an important capability to look for when choosing a web services stack (where the stack might well include the choice of language as well as toolkit).</description>
		<content:encoded><![CDATA[<p>Sure, sorry, I didn&#8217;t mean to suggest that this was actually a non-issue with SoapServer. I have no experience with that particular toolkit so it might be a serious problem. At the same time, however, it might be worth digging into its internals to find a way to extract the XML directly, which would give it the exact same universal compatibility that REST enjoys.</p>
<p>Having looked at various SOAP toolkits in the Java world, and C#.NET&#8217;s implementation in a previous life, I&#8217;d say that this is an important capability to look for when choosing a web services stack (where the stack might well include the choice of language as well as toolkit).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Little</title>
		<link>http://www.fliquidstudios.com/2008/12/17/soap_vs_rest_api/comment-page-1/#comment-6</link>
		<dc:creator>Michael Little</dc:creator>
		<pubDate>Mon, 29 Dec 2008 00:13:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.fliquidstudios.com/?p=12#comment-6</guid>
		<description>Hi Andrew,

Firstly, thanks for taking the time to leave such an extensive comment. It is greatly appreciated.

Your comment about the overhead of SOAP ties in exactly with what I was saying about the complexity of the request. If the request is complex (and no doubt large) you will no doubt be better off using SOAP and the overhead will indeed be a negligible amount.

In regards to your comment: &quot;This is a much more serious misconception as it confuses the messaging protocol (SOAP) with the databinding layer&quot; - I&#039;m not sure I agree with this. While what you are saying is correct, this article is intended to be related to the practical implementation of SOAP/REST in PHP. In PHP this is a definite problem with the SoapServer class and no doubt many other SOAP toolkits have similar problem or incompatibilities. Whether it is an issue with the SOAP specification or not (I am not suggesting it is) is irrelevant.</description>
		<content:encoded><![CDATA[<p>Hi Andrew,</p>
<p>Firstly, thanks for taking the time to leave such an extensive comment. It is greatly appreciated.</p>
<p>Your comment about the overhead of SOAP ties in exactly with what I was saying about the complexity of the request. If the request is complex (and no doubt large) you will no doubt be better off using SOAP and the overhead will indeed be a negligible amount.</p>
<p>In regards to your comment: &#8220;This is a much more serious misconception as it confuses the messaging protocol (SOAP) with the databinding layer&#8221; &#8211; I&#8217;m not sure I agree with this. While what you are saying is correct, this article is intended to be related to the practical implementation of SOAP/REST in PHP. In PHP this is a definite problem with the SoapServer class and no doubt many other SOAP toolkits have similar problem or incompatibilities. Whether it is an issue with the SOAP specification or not (I am not suggesting it is) is irrelevant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew Clegg</title>
		<link>http://www.fliquidstudios.com/2008/12/17/soap_vs_rest_api/comment-page-1/#comment-5</link>
		<dc:creator>Andrew Clegg</dc:creator>
		<pubDate>Sun, 28 Dec 2008 11:43:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.fliquidstudios.com/?p=12#comment-5</guid>
		<description>Interesting article but I can&#039;t help thinking there&#039;s a couple of misconceptions.

&quot;The volume of traffic that will be going through the API. SOAP will have a greater overhead than REST.&quot;

Per-message, yes -- so if you&#039;re handling a large number of small messages, REST will be more efficient. However, if you&#039;re handling large message -- some of our services takes multi-KB-sized messages in and produce multi-MB-sized responses -- then in either case, the overhead will be dwarfed by the message content.

&quot;For example the way the PHP SoapServer class handles arrays of data is (or was last time I checked) incompatible with the way an ASP.NET SOAP client handles them.&quot;

This is a much more serious misconception as it confuses the messaging protocol (SOAP) with the databinding layer (aka marshalling/unmarshalling) which is responsible for mediating between language-native data structures and XML.

Any decent SOAP toolkit should give you the option to receive the whole request as XML, and/or generate raw XML for the response yourself. Databinding is not part of the SOAP spec.

At their heart, SOAP messages are also just XML documents, exactly like REST, and there&#039;s always the option of parsing the XML yourself, exactly as you would with REST. We do this extensively, for performance reasons. It can also be useful, as your article suggests, for sidestepping compatibility issues -- because every language can read/write XML.

You can even use SOAP to send/receive arbitrary non-XML data, e.g. via attachments or CDATA or large strings... e.g. plain text, JSON etc. :-)

One final note -- certainly in the Java world, many toolkits (e.g. CXF) offer both SOAP and REST access to the same operations, with minimal extra work. I don&#039;t know how common this is in other languages.

Hope this clarifies a couple of things -- looking forward to the next in the series.</description>
		<content:encoded><![CDATA[<p>Interesting article but I can&#8217;t help thinking there&#8217;s a couple of misconceptions.</p>
<p>&#8220;The volume of traffic that will be going through the API. SOAP will have a greater overhead than REST.&#8221;</p>
<p>Per-message, yes &#8212; so if you&#8217;re handling a large number of small messages, REST will be more efficient. However, if you&#8217;re handling large message &#8212; some of our services takes multi-KB-sized messages in and produce multi-MB-sized responses &#8212; then in either case, the overhead will be dwarfed by the message content.</p>
<p>&#8220;For example the way the PHP SoapServer class handles arrays of data is (or was last time I checked) incompatible with the way an ASP.NET SOAP client handles them.&#8221;</p>
<p>This is a much more serious misconception as it confuses the messaging protocol (SOAP) with the databinding layer (aka marshalling/unmarshalling) which is responsible for mediating between language-native data structures and XML.</p>
<p>Any decent SOAP toolkit should give you the option to receive the whole request as XML, and/or generate raw XML for the response yourself. Databinding is not part of the SOAP spec.</p>
<p>At their heart, SOAP messages are also just XML documents, exactly like REST, and there&#8217;s always the option of parsing the XML yourself, exactly as you would with REST. We do this extensively, for performance reasons. It can also be useful, as your article suggests, for sidestepping compatibility issues &#8212; because every language can read/write XML.</p>
<p>You can even use SOAP to send/receive arbitrary non-XML data, e.g. via attachments or CDATA or large strings&#8230; e.g. plain text, JSON etc. <img src='http://www.fliquidstudios.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>One final note &#8212; certainly in the Java world, many toolkits (e.g. CXF) offer both SOAP and REST access to the same operations, with minimal extra work. I don&#8217;t know how common this is in other languages.</p>
<p>Hope this clarifies a couple of things &#8212; looking forward to the next in the series.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
