def open_session(uri)
      validate_presence_of uri, 'Channel URI'

      response = @client.call(:open_publication_session, message: { 'ChannelURI' => uri })

      response.to_hash[:open_publication_session_response][:session_id].to_s
    end
def open_session(uri)
      validate_presence_of uri, 'Channel URI'

      response = @client.call(:open_publication_session, message: { 'ChannelURI' => uri })

      response.to_hash[:open_publication_session_response][:session_id].to_s
    end
Creates a new ISBM ProviderPublication client.

 @param endpoint [String] the SOAP endpoint URI
 @option options [Array<String>] :wsse_auth username and password, i.e. [username, password]
 @option options [Object] :logger (Rails.logger or $stdout) location where log should be output
 @option options [Boolean] :log (true) specify whether requests are logged
 @option options [Boolean] :pretty_print_xml (false) specify whether request and response XML are formatted
 Opens a publication session for a channel.

 @param uri [String] the channel URI
 @return [String] the session id
 @raise [ArgumentError] if uri is blank