Viewing Category: XML  [clear category selection]

SOAP Authentication

While doing development on a web services project, I needed a utility for making client requests quickly to verify the WSDL being produced. Using SOAP Client I can plug in a URL, have it parse the WSDL, and expose the methods for direct calls. Another cool thing is the option to add arbitrary HTTP headers to the request. One of the headers I added was for HTTP basic authentication. It's quite easy to construct the Authorization header value using this pseudo-code "Basic" + base64(username + ":" + password). The SOAP Client utility is a simple, open source Mac OS X native application. I have used the oXygen WSDL tool in the past, but it's just too cumbersome.

On a somewhat related topic, I created a hash utility that performs three types of message digest algorithms in JavaScript. I use it to quickly verify the hash of password, which is all that exists in the database. Of course, if an unknown salt has been added to the comparison, this is useless. However, pre-computed hash databases for common alpha-numeric strings exist for cracking. There are 74.7 million of them in a database at I was thinking about how much storage space it would take to hold all the possible 160-bit results from SHA1. Turns out, it's a lot, but it doesn't much matter because there's no way to work backwards.

A couple great tools

I've been doing quite a bit of data shuffling lately in my project to migrate corporate e-mail services from an older server to a new architecture using Postfix, Dovecot, and OpenLDAP. I was inspired by Jamm, which I have used with good results at other installations. However, the administration interface didn't really address all my requirements, so I wrote my own. More on that later.

Anyway, this all leads up to my praise for a couple of products that have made life much more, um, livable. They are <oXygen/> XML Editor and Apache Directory Studio, formerly called LDAP Studio.

I've used this product for several years, and it's gotten orders of magnitude better since then. That's not to say that it wasn't a solid product when I started using it, rather, it has become an amazing suite of XML tools since then. Case in point: when I needed to import a whole bunch of e-mail forwarding aliases, I use the text import tool to build an XML file that I could then parse with my own program. I had never tried this feature before, but without even glancing at the manual I was able to complete the task in minutes.

Another thing that SyncRO soft (in ROmania, get it?) should get a whole lot of praise for is releasing a multi-platform Java application that feels like a native Mac OS X application. Many companies that create cross-platform Java applications have completely broken user interfaces when used with the Java Look and Feel library for Mac OS X (Aqua LAF). For example, Gentleware's Poseidon for UML is horrendous, which is a shame because it's an otherwise very good UML tool.

Oxygen XML Editor is distributed as a traditional tarball (.tar.gz) that is simply unarchived and executed. That's it -- no installer like Macrovision InstallAnywhere, which sucks really hard, by the way. The only installation to speak of is to paste in a license key upon the first launch. Simple. If I could make one suggestion, it would be to follow Apple's installer guidelines by distributing the software in a compressed Disk Image.

I have one final comment about Oxygen XML Editor: price. I use the Enterprise Edition, which is currently US$ 275. At first I thought that was too expensive, but after trying some of the offerings from other vendors, I came to the conclusion that it's a bargain. I don't hesitate recommending it to anyone.

I've only used Apache Directory Studio for a short while. Before that, I was using ldapsearch, ldapadd, and ldapmodify on the command line. While I was setting up the system, the CLI tools were necessary to aide in debugging a few problems. However, now that most of the problems are ironed out, I can switch to a GUI. Apache Directory Studio is an Eclipse RCP application, which is great because I'm very comfortable in Eclipse. I spend most of my day in CFEclipse.

Okay, that's enough gushing for now. Back on your heads.