You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by de...@areujoking.com on 2005/03/31 11:17:04 UTC

Client side Axis and independently configured JSSE

Hi,

I am successfully using Axis to serve up a SOAP web service, and think
Axis is a wonderful piece of code, however I have hit a snag with the
client side.

I want to use Axis to write a client that can be distributed to people so
that they can consume my web services without having to write any code. I
have used the tools to create the service and all is happy and joyful as
long as the client runs in its own JVM. The reason is JSSE configuration.
The client communicates with my web services over HTTPS so I need to setup
JSSE keystores and truststores to support the SSL connection and the
mutual authentication.

Because I want people to be able to use my client from their own
applications the JVM wide System.setProperty() way of configuring JSSE
isn't appropriate. This is because if their app uses JSSE then I will be
stomping all over their config and hence upsetting things.

I would like to be able to have my client be independently configured from
the other processes in the JVM so that I can give my client a JSSE
configuration and not upset any other JSSE configs. I can manually
configure a JSSE instance, but what I don't know how to do is to make Axis
use it to make calls to my service. There doesn't seem to be any hooks.

Put simply, I would like to give people my client with a simple properties
file that would allow them to call it from their own apps without
affecting the overall JSSE config.

So here is my question. Is there a way in Axis to make it use a JSSE
configuration other than the JVM wide config set with System.setProperties
or -Djavax.net.ssl.<foo>=<bar> type JVM runtime statements?

Or maybe I have the wrong end of the stick. Is there another way to get an
Axis client to make SSL connections configured independently of the JVM?

Thanks for your help,
Deakin.