In the docs for Soap::Lite it states that the only change one needs to make to using HTTPS for Soap is to modify the ->proxy statement from 'http://' to 'https://'. Supposedly nothing needs to be changed on the server.
That's the only change that client needs to make. From the docs:
Surprisingly there is nothing SOAP-specific you need to do on the server side, and there is only a minor modification on the client side: just specify https: instead of http: as the protocol for your endpoint and everything else will be done for you. Obviously, endpoint should support this functionality and server should be properly configured.
... I don't believe that the http::daemon transport supports SSL. You'll likely have to use CGI and the SSL capabilities of another HTTP server (eg, Apache, Netscape, whatever else)
| [reply] |
Yeah.. that's the part that I didn't understand. Guess it was a bit too easy.
I need to install the bare minimum and have the data encrypted somehow.
| [reply] |
There is a HTTP::Daemon::SSL module which can be used easily from SOAP::Lite.
If your server is single-threaded or forking, that should be enough. If your server needs to be multi-threaded, you will run into problems with SSL misbehaving under threads.
I ended up writing a multiplexed (single-threaded server) directly on top of IO::Socket::SSL, inside a module which gets passed a Thread::Queue handle so that the work for each connection can be farmed out to other threads.
I got some help here with the mutliplexing HTTPS server, so do a super-search and you'll find a working example.
-David
| [reply] |
Did that - it just stops / hangs. No message, warning or anything on either the client or server.
| [reply] |