ethrbunny has asked for the wisdom of the Perl Monks concerning the following question:

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.

When I do this my client hangs at the call. Is there a problem with HTTPS when using Soap::transport::http::daemon as my server? Im sure Im missing some large step. Getting my data encrypted can't be *that* easy... can it?

Replies are listed 'Best First'.
Re: Soap::lite - https ?
by jhourcle (Prior) on Aug 09, 2007 at 03:08 UTC
    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)

      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.
        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

Re: Soap::lite - https ?
by Anonymous Monk on Aug 09, 2007 at 02:47 UTC
    Turn debug on, try again
      Did that - it just stops / hangs. No message, warning or anything on either the client or server.