<font style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt">I was indeed being tricked. I actually tested soap with a real client, but with xmlrpc i was using the browser.&nbsp; I was expecting to see the same error message, and instead got a new one that was presented by the modifications I pulled out of the trunk to support the issue in #4014.&nbsp; I was expecting to see the older error message and it was replaced.<br><br>A quick test via,<br><br>&gt;&gt;&gt; import xmlrpclib<br>&gt;&gt;&gt; server = xmlrpclib.Server('http://user:password@localhost:9999/rpc2')<br>&gt;&gt;&gt; server.quote()<br><br>Showed it indeed worked like it should. Swapped it to use SSL and now I'm all set.<br><br>Thank you for the clarification. Next time I'll test more before posting to the list. ;)<br><br>TWKiel<br><br><font face="Tahoma, Arial, Sans-Serif" size="2"><hr size="2" width="100%" align="center"><strong>From</strong>: exarkun@twistedmatrix.com<br><strong>Sent</strong>: Tuesday, October 06, 2009 6:43 PM<br><strong>To</strong>: asset@impactdamage.com, "Twisted general discussion" &lt;twisted-python@twistedmatrix.com&gt;<br><strong>Subject</strong>: Re: [Twisted-Python] Problem with XMLRPC resource wrapped with guard basic auth</font><br><br>On 12:00 am, asset@impactdamage.com wrote:<br>&gt;Using the current trunk r27366 (which is after #4014 fixed a related<br>&gt;issue), I am having trouble with an implementation of web.guard wrapped<br>&gt;XMLRPC.  This is a new test implementation to expose both a soap and <br>&gt;xmlrpc<br>&gt;interface.  SOAP works, but xmlrpc throws UnsupportedMethod POST.<br><br>I think you're being tricked by the confusing way in which this <br>exception is displayed and by a slight implementation difference (and <br>indeed externally visible behavioral difference) between XMLRPC and <br>SOAPPublisher.<br><br>SOAPPublisher defines "render" and no other render methods.  So it will <br>accept any request method and treat it the same way.  It will never <br>raise UnsupportedMethod.<br><br>XMLRPC, on the other hand, defines "render_POST" and no other render <br>methods, so it will only accept POST requests.  For any other request, <br>it will raise UnsupportedMethod and create that exception with a tuple <br>of which methods it does allow.  ('POST',) in this case.<br><br>The exception I see when I approach this server at /rpc2 with my web <br>browser (which is the only thing I've tried, because it's too much work <br>to put together a real xml-rpc client that supports basic auth) is just <br>what I'd expect.  The browser issues a GET, the XMLRPC resource rejects <br>this, indicating it only accepts POSTs.<br><br>It may be worth improving the way UnsupportedMethod exceptions are <br>stringified to make it more clear what's going on.  Or, if this doesn't <br>actually explain your problem, feel free to point that out and provide <br>more details about how the client you're using behaves.<br><br>Jean-Paul<br><br></font>