public List<br.gov.se.seplag.ebo.v1.AgendamentoAtendimento> listarAgendamentosPorCPF(
      boolean emAberto, String cpf, UnidadeAtendimento unidadeAtendimento) {

    AgendamentoAtendimento_PortType port = getPort();

    ParametroListarAgendamentosPorCPF parameters = new ParametroListarAgendamentosPorCPF();
    parameters.setBuscarSomenteAgendamentosEmAberto(emAberto);
    parameters.setDocumentoCPF(cpf);
    parameters.setUnidadeAtendimento(unidadeAtendimento);

    List<br.gov.se.seplag.ebo.v1.AgendamentoAtendimento> agendamentos =
        new ArrayList<br.gov.se.seplag.ebo.v1.AgendamentoAtendimento>();

    try {
      ResultadoListarAgendamentosPorCPF lista =
          port.listarAgendamentosPorCPF(parameters, RequestFixo.cabecalho());

      agendamentos = lista.getAgendamentos().getAgendamentoAtendimento();

    } catch (ErroInfoMessage e) {
      JSFUtils.addFacesErrorMessage(
          "Erro ao tentar utilizar o serviço "
              + this.getClass().getSimpleName()
              + ":"
              + e.getMessage());
    } catch (Exception e) {
      JSFUtils.addFacesErrorMessage(erroGenerico(e));
    }

    return agendamentos;
  }
  public List<HorariosDisponiveisAtendimento> listarHorariosDisponiveisAgendamento(
      Servico servico, UnidadeAtendimento unidadeAtendimento, Boolean semVaga) {

    AgendamentoAtendimento_PortType port = getPort();

    ParametroListarHorariosDisponiveisAgendamento parameters =
        new ParametroListarHorariosDisponiveisAgendamento();
    parameters.setExibirHorariosSemVagas(semVaga);
    parameters.setServico(servico);
    parameters.setUnidadeAtendimento(unidadeAtendimento);

    List<HorariosDisponiveisAtendimento> horarios = new ArrayList<HorariosDisponiveisAtendimento>();

    try {
      ResultadoListarHorariosDisponiveisAgendamento lista =
          port.listarHorariosDisponiveisAgendamento(parameters, RequestFixo.cabecalho());

      horarios = lista.getHorariosDisponiveis().getHorariosDisponiveisAtendimento();

    } catch (ErroInfoMessage e) {
      JSFUtils.addFacesErrorMessage(
          "Erro ao tentar utilizar o serviço "
              + this.getClass().getSimpleName()
              + ":"
              + e.getMessage());
    } catch (Exception e) {
      JSFUtils.addFacesErrorMessage(erroGenerico(e));
    }

    return horarios;
  }
  public br.gov.se.seplag.ebo.v1.AgendamentoAtendimento realizarAgendamentoAtendimento(
      Cidadao cidadao,
      XMLGregorianCalendar dataAgendamento,
      Servico servico,
      UnidadeAtendimento unidadeAtendimento) {

    AgendamentoAtendimento_PortType port = getPort();

    ParametroRealizarAgendamentoAtendimento parameters =
        new ParametroRealizarAgendamentoAtendimento();
    parameters.setCidadao(cidadao);
    parameters.setDataHoraAgendamento(dataAgendamento);
    parameters.setServico(servico);
    parameters.setUnidadeAtendimento(unidadeAtendimento);

    br.gov.se.seplag.ebo.v1.AgendamentoAtendimento retorno =
        new br.gov.se.seplag.ebo.v1.AgendamentoAtendimento();

    try {
      ResultadoRealizarAgendamentoAtendimento agendamento =
          port.realizarAgendamentoAtendimento(parameters, RequestFixo.cabecalho());

      retorno = agendamento.getAgendamento();
    } catch (ErroInfoMessage e) {
      JSFUtils.addFacesErrorMessage(
          "Erro ao tentar utilizar o serviço "
              + this.getClass().getSimpleName()
              + ":"
              + e.getMessage());
    } catch (Exception e) {
      JSFUtils.addFacesErrorMessage(erroGenerico(e));
    }

    return retorno;
  }