code: private String createShell(HttpClientService csHttpClient, HttpClientInputs httpClientInputs, WSManRequestInputs wsManRequestInputs)
              throws RuntimeException, IOException, URISyntaxException,
              XPathExpressionException, SAXException, ParserConfigurationException {
          String document = ResourceLoader.loadAsString(CREATE_SHELL_REQUEST_XML);
          document = createCreateShellRequestBody(document, httpClientInputs.getUrl(), String.valueOf(wsManRequestInputs.getMaxEnvelopeSize()),
                  wsManRequestInputs.getWinrmLocale(), String.valueOf(wsManRequestInputs.getOperationTimeout()));
          Map<String, String> createShellResult = executeRequestWithBody(csHttpClient, httpClientInputs, document);
          return getResourceId(createShellResult.get(RETURN_RESULT), CREATE_RESPONSE_ACTION, CREATE_RESPONSE_SHELL_ID_XPATH,
                  SHELL_ID_NOT_RETRIEVED);
      }
docs: Creates a shell on the remote server and returns the shell id.
  
  @param csHttpClient
  @param httpClientInputs
  @param wsManRequestInputs
  @return the id of the created shell.
  @throws RuntimeException
  @throws IOException
  @throws URISyntaxException
  @throws TransformerException
  @throws XPathExpressionException
  @throws SAXException
  @throws ParserConfigurationException