HTTPS Support
Nothing special is required to generate a service that supports a secure client. An HTTPS transport is one of the standard transports supplied with HydraExpress. If the WSDL for a service designates an HTTPS port in its location attribute, such as:
then the sample client generated by HydraExpress uses the HTTPS transport by default.
The HTTPS transport can also be selected at runtime in either of two ways:
*by invoking the client with a location that specifies an HTTPS port:
prompt> MyServiceClient https://localhost:8443/path_to_service
*by explicitly selecting the HTTPS transport in the client implementation:
rwsf::Transport transport;
transport = rwsf::TransportManager::findTransport("HTTPS");
MyServiceProxy proxy = MyServiceProxy::make(transport);
For a secure client to work, the service it is calling must be run on a server that understands HTTPS. See Service Security.
NOTE: Using the HTTPS protocol results in a dependence on the OpenSSL third-party library. In addition, the HTTPS transport sets the application to ignore SIGPIPE signals in order to prevent failures when attempting to perform SSL handshakes on closed sockets.