The host certificate has to be installed in the local certificate
store. This was achieved in my case by using the
InstallCert.java program. The default certificate location is
in the jre/lib/security/cacerts file. This might be
directly under the jre directory (name varies depending on version)
or, if you are using the jdk, under the jre directory within the
jdk.

Once past this, the next hurdle to jump was the basic authentication
required by our web service. This is solved by, first, creating the
authentication token, which is the username and password (as a
string "username:password") encoded in BASE64. Conveniently, there
is a Java class for just such an encoding, but it is not documented
with the standard library. Here's the Clojure code:

The encoding appends a line terminator, which has to be removed,
hence the (.replace) call.

The encoded credential is then passed as a property on the URL connection:

(doto connection
(.setRequestProperty "Authorization" @auth-string))

Then, it's just a matter of getting the SOAP xml right. I did try
various tools to import from the WDSL (wsimport and
Axis2) but they didn't work and just added to the cognitive
burden of using SOAP. I ended up writing the SOAP messages by hand.