<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.8 on Thu, 06 Feb 2003 20:43:21 GMT -->
<rss version="2.0">
	<channel>
		<title>Kevin Altis: Web Services</title>
		<link>http://radio.weblogs.com/0102677/categories/webServices/</link>
		<description>XML-RPC and SOAP web services. Most of the focus will be on client-side issues, especially with Python.</description>
		<language>en</language>
		<copyright>Copyright 2003 Kevin Altis</copyright>
		<lastBuildDate>Thu, 06 Feb 2003 20:43:21 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.0.8</generator>
		<managingEditor>altis@semi-retired.com</managingEditor>
		<webMaster>altis@semi-retired.com</webMaster>
		<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category> 
		<skipHours>
			<hour>23</hour>
			<hour>0</hour>
			<hour>1</hour>
			<hour>2</hour>
			<hour>3</hour>
			<hour>4</hour>
			<hour>5</hour>
			<hour>19</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<description>&lt;A href=&quot;http://www.infoworld.com/article/03/02/06/06stratdev_1.html&quot;&gt;Shipping the prototype&lt;/A&gt; by &lt;A href=&quot;http://weblog.infoworld.com/udell/&quot;&gt;Jon Udell&lt;/A&gt; at &lt;A href=&quot;http://www.infoworld.com/&quot;&gt;InfoWorld&lt;/A&gt; says &quot;Let&apos;s promote scripting languages to the status they deserve&quot;</description>
			<guid>http://radio.weblogs.com/0102677/categories/webServices/2003/02/06.html#a35</guid>
			<pubDate>Thu, 06 Feb 2003 20:43:15 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=102677&amp;amp;p=35&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0102677%2F2003%2F02%2F06.html%23a35</comments>
			</item>
		<item>
			<description>&lt;P&gt;Mark Pilgrim&apos;s article about &lt;A href=&quot;http://diveintomark.org/archives/2002/02/07.html#python_web_services&quot;&gt;web services in Python&lt;/A&gt; contains one important bit that is often overlooked by people implementing web services with XML-RPC, the listMethods extension. The Python&amp;nbsp;&lt;A href=&quot;http://www.python.org/doc/current/lib/serverproxy-objects.html&quot;&gt;XML-RPC ServerProxy Objects&amp;nbsp;documentation&lt;/A&gt; explains each method: listMethods(), methodSignature(), and methodHelp().&lt;/P&gt;
&lt;P&gt;listMethods() and its companions provide much of the same information for an XML-RPC service as WSDL does for a SOAP service; everyone that runs an XML-RPC service should provide these methods. There is no need to define any additional standards, we already have a solution. Of course, the information provided is human readable, not machine readable, so if we wanted a more machine readable form, we could define some companion methods that always output XML. WSDL is not really human readable and I haven&apos;t seen any human readable SOAP service description.&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.onlamp.com/pub/a/python/2000/11/22/xmlrpcclient.html&quot;&gt;XML-RPC in Python&lt;/A&gt; on O&apos;Reilly ONLamp shows how these methods are utilized by meerkat.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0102677/categories/webServices/2002/06/13.html#a7</guid>
			<pubDate>Thu, 13 Jun 2002 20:42:18 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=102677&amp;amp;p=7&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0102677%2F2002%2F06%2F13.html%23a7</comments>
			</item>
		<item>
			<description>&lt;P&gt;&lt;STRONG&gt;SOAP WSDL Verifiers and Analyzers&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you&apos;re writing client-side code and SOAP&amp;nbsp;messages to talk to a web service described by&amp;nbsp;a WSDL service, you&apos;ll probably benefit from seeing how one or more of the sites below parses the WSDL for a given service. If you&apos;re using a scripting language such as Python, the display of function calls and argument lists with appropriate namespace and soapaction is quite useful.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href=&quot;http://www.xmethods.net/ve2/Tools.po&quot;&gt;WSDL Analyzer&lt;/A&gt;&amp;nbsp;(xmethods.net) 
&lt;LI&gt;&lt;A href=&quot;http://aspn.activestate.com/ASPN/WebServices/Tools&quot;&gt;WSDL Validator&lt;/A&gt; (activestate.com) 
&lt;LI&gt;&lt;A href=&quot;http://www.gotdotnet.com/services/wsdl/wsdlverify.asmx&quot;&gt;WsdlVerify&lt;/A&gt;&amp;nbsp;(gotdotnet.com) 
&lt;LI&gt;&lt;A href=&quot;http://www.gotdotnet.com/Services/WsdlBrowser/default.asp&quot;&gt;WSDL Browser&lt;/A&gt;&amp;nbsp;(gotdotnet.com) 
&lt;LI&gt;&lt;A href=&quot;http://soapclient.com/soaptest.html&quot;&gt;Generic SOAP Client&lt;/A&gt;&amp;nbsp;(soapclient.com)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This is a follow-up to my &lt;A href=&quot;http://radio.weblogs.com/0102677/2002/02/11.html&quot;&gt;earlier post&lt;/A&gt; about frustrations with WSDL and SOAP interop.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0102677/categories/webServices/2002/06/13.html#a6</guid>
			<pubDate>Thu, 13 Jun 2002 20:34:17 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=102677&amp;amp;p=6&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0102677%2F2002%2F06%2F13.html%23a6</comments>
			</item>
		<item>
			<description>&lt;P&gt;&lt;STRONG&gt;XML-RPC server in PythonCard 0.6.7&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A new release of &lt;A href=&quot;http://www.pythoncard.org/&quot;&gt;PythonCard&lt;/A&gt; should be out in the next couple of days. You can download it from cvs now if you don&apos;t want to wait. Among the many new samples is a GUI front-end to the web server that comes with the &lt;A href=&quot;http://www.python.org/doc/current/lib/lib.html&quot;&gt;Python Standard Libraries&lt;/A&gt;. In addition to serving files, the webserver sample can do CGI, so it is a great way to get a web server up quickly on your desktop; all you have to do is double-click the script. Several example CGI scripts are included with the server.&lt;/P&gt;
&lt;P&gt;I added Mark Pilgrim&apos;s &lt;A href=&quot;http://diveintomark.org/projects/#webservices&quot;&gt;PyWebServices&lt;/A&gt; scripts, so the webserver can act as an XML-RPC server too. After starting up the webserver sample you can test the XML-RPC server capabilities by running the &lt;A href=&quot;http://radio.weblogs.com/0102677/2002/02/06.html#a13&quot;&gt;radioclient&lt;/A&gt; sample, which automatically shows the shell and imports the xmlrpclib module. Then try this in the shell:&lt;/P&gt;&lt;PRE&gt;&amp;gt;&amp;gt;&amp;gt; server = xmlrpclib.Server(&apos;&lt;a href=&quot;http://localhost/cgi-bin/webservices.py&quot;&gt;http://localhost/cgi-bin/webservices.py&lt;/a&gt;&apos;)&lt;BR&gt;&amp;gt;&amp;gt;&amp;gt; server.system.listMethods()&lt;BR&gt;{&apos;sample.helloWorld()&apos;: &apos;None&apos;, &apos;examples.getStateName(stateIndex)&apos;: &apos;None&apos;, &lt;BR&gt;&apos;system.listMethods()&apos;: &apos;None&apos;}&lt;BR&gt;&amp;gt;&amp;gt;&amp;gt; server.sample.helloWorld()&lt;BR&gt;&apos;Hello World!&apos;&lt;BR&gt;&amp;gt;&amp;gt;&amp;gt; server.examples.getStateName(1)&lt;BR&gt;&apos;Alabama&apos;&lt;BR&gt;&amp;gt;&amp;gt;&amp;gt; server.examples.getStateName(50)&lt;BR&gt;&apos;Wyoming&apos;&lt;BR&gt;&lt;/PRE&gt;</description>
			<guid>http://radio.weblogs.com/0102677/categories/webServices/2002/06/12.html#a4</guid>
			<pubDate>Wed, 12 Jun 2002 21:29:22 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=102677&amp;amp;p=4&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0102677%2F2002%2F06%2F12.html%23a4</comments>
			</item>
		</channel>
	</rss>
