testing release 2008-03-07 - soapURL and Mozilla SOAP

7 Mar 2008 by leni | No Comments

Support for Zimbra’s soapURL

Benefits of this feature include:

  • better security - if the user provided an http login url and the server supports both http and https, Zindus switches to https after login
  • reduced server load at sites with accounts partitioned across mutliple servers.

The downside of this feature is that users of misconfigured servers might notice delays, see: http://www.zindus.com/faq-extension/#toc-soapurl-problems

Switch to XMLHttpRequest for SOAP

This testing release uses XMLHttpRequest to talk SOAP to the server. Prior releases used the Mozilla SOAP library that was introduced in Mozilla in 2002 but which is being dropped from Thunderbird 3 and Firefox 3.

This change improves performance by around 10%, simplifies the codebase and positions Zindus to port to Thunderbird 3.

A note to extension developers who face switching away from Mozilla SOAP. If you are working with document-style web services (like Zimbra’s), you are doing most of the marshalling and parsing work anyway, so the switch to XMLHttpRequest is straightforward.

If your extension consumes RPC-style services or WSDL, you’ll probably begin by groaning at absence of native or third party library support for SOAP in Mozilla. Without that support, the job looks more like connecting with a document-style SOAP service, namely:

  • work out what XML documents your server expects and sends,
  • build the XML (DOM or XMLHttpRequest),
  • transport it (XMLHttpRequest),
  • parse the response (XPath).

That’s more work than you’d expect for an RPC-style client, but the tools are extensively documented and well maintained so you might find it easier than you thought!