In the last post, I was whining about the bumps in the road when trying to consume a SOAP web service using python. Thanks to Olosta’s suggestion, Suds.

Suds logo The cute yellow rubber duck makes the soapy world less slippery. There is no need to generate execution code using an external tool like wsdl.exe for C#, just load the WSDL in the runtime, the ServiceProxy object would dynamically generate the function calls for you. It still in actively developed, salute to joetel.

Something needs to tailor to adapt to the Microsoft Office SharePoint Server: the connection persistence. As you may know, the default authentication used in SharePoint web service is NTLM, undocumented, but well known to the public. NTLM authenticates the connection, so in current suds implementation, each method invocation incurs redundant NTLM negotiation-challenge-and-response. I would dig more for this issue; stay tuned.


2 Comments to “Suds makes the soapy world less slippery”

  1. Ramon | April 5th, 2008 at 4:16 pm

    Hi –

    I’ve contacted the suds developers to ask about adding WS-Security support, and they seem interested. Have you done the same? I’m looking for something like what is described in http://arsenalist.com/2007/01/27/python-client-for-web-services-using-ws-security/ but with the suds library…

    Ramon

  2. bookstack | April 6th, 2008 at 12:31 am

    We may deal the same problem in different aspects. If the web service is deployed in the world wild web, WS-Security is preferred as the authentication. But in the Intranet, NTLM may prevail because it is no-brainer for the IT staff to configure, and the default setting of the SharePoint server.

    It does make sense to add WS-Security to suds, but may over engineer for integrating NTLM. NTLM is supposed to be supported in the layer of httplib, and transparent to the suds IMHO.

Leave a Comment