PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Consumo de WebService resultando em erro. #472514

10/03/2014

0

Pessoal, estou com um problema que tento resolver a alguns dias já mas não consigo. Existe um ws que eu faço consumo normalmente de 3 serviços, ambos os parâmetros que eu passo foram objetos montados instanciados às classes da unit gerada pelo wsdl import. Porém um dos serviços que preciso consumir, os parâmetros são apenas cinco do tipo widestring. Quando executo o consumo é me retornado um erro do delphi dizendo o seguinte: Coloquei também o código do wsdl que foi importado.

Alguém pode me dar uma luz, pelo amor de Deus? KKKK ficaria muito agradecido.

Imagem do erro:
[img:descricao=Erro ao realizar consumo]http://arquivo.devmedia.com.br/forum/imagem/362519-20140310-110654.png[/img]

Código WSDL:
// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : http://www.apisulcard.com.br/webservice/tms/ciot/integracao.asmx?WSDL
// Encoding : utf-8
// Version  : 1.0
// (13/09/2013 09:21:10 - 16.03.2006)
// ************************************************************************ //

unit integracaoApisulCard;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns, VG, StrUtils;

type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Borland types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:string          - "http://www.w3.org/2001/XMLSchema"
  // !:int             - "http://www.w3.org/2001/XMLSchema"
  // !:dateTime        - "http://www.w3.org/2001/XMLSchema"
  // !:decimal         - "http://www.w3.org/2001/XMLSchema"
  // !:boolean         - "http://www.w3.org/2001/XMLSchema"
  // !:double          - "http://www.w3.org/2001/XMLSchema"
  // !:long            - "http://www.w3.org/2001/XMLSchema"

  Autenticacao         = class;                 { "http://tempuri.org/"[H] }
  ContratadoWs         = class;                 { "http://tempuri.org/" }
  FavorecidoWs         = class;                 { "http://tempuri.org/" }
  RotaWs               = class;                 { "http://tempuri.org/" }
  ParadaWs             = class;                 { "http://tempuri.org/" }
  EnderecoWs           = class;                 { "http://tempuri.org/" }
  ConsignatarioWs      = class;                 { "http://tempuri.org/" }
  DestinatarioWs       = class;                 { "http://tempuri.org/" }
  ViagemWs             = class;                 { "http://tempuri.org/" }
  SubContratanteWs     = class;                 { "http://tempuri.org/" }
  ContratanteWs        = class;                 { "http://tempuri.org/" }
  DeclararOperacaoTransporteIntegrada = class;   { "http://tempuri.org/" }
  VeiculoWs            = class;                 { "http://tempuri.org/" }
  PagamentoWs          = class;                 { "http://tempuri.org/" }
  Excecao              = class;                 { "http://tempuri.org/" }
  DeclararOperacaoTransporteRetorno = class;    { "http://tempuri.org/" }
  EncerrarOperacaoTransporteRetorno = class;    { "http://tempuri.org/" }
  RetificarOperacaoTransporteRetorno = class;   { "http://tempuri.org/" }
  CancelarOperacaoTransporteRetorno = class;    { "http://tempuri.org/" }
  ConsultarPagamentoWs = class;                 { "http://tempuri.org/" }
  Tac                  = class;                 { "http://tempuri.org/" }
  Estado               = class;                 { "http://tempuri.org/" }
  Cidade               = class;                 { "http://tempuri.org/" }
  Endereco             = class;                 { "http://tempuri.org/" }
  SubContratante       = class;                 { "http://tempuri.org/" }
  Contratante          = class;                 { "http://tempuri.org/" }
  Veiculo              = class;                 { "http://tempuri.org/" }
  Viagem               = class;                 { "http://tempuri.org/" }
  CustoRota            = class;                 { "http://tempuri.org/" }
  TipoRota             = class;                 { "http://tempuri.org/" }
  Contato              = class;                 { "http://tempuri.org/" }
  Transportadora       = class;                 { "http://tempuri.org/" }
  Alcada               = class;                 { "http://tempuri.org/" }
  Parceiro             = class;                 { "http://tempuri.org/" }
  Banco                = class;                 { "http://tempuri.org/" }
  Favorecido           = class;                 { "http://tempuri.org/" }
  Ciot                 = class;                 { "http://tempuri.org/" }
  Perfil               = class;                 { "http://tempuri.org/" }
  Usuario              = class;                 { "http://tempuri.org/" }
  Rota                 = class;                 { "http://tempuri.org/" }
  Parada               = class;                 { "http://tempuri.org/" }
  Menu                 = class;                 { "http://tempuri.org/" }
  ResumoRota           = class;                 { "http://tempuri.org/" }
  Pedagio              = class;                 { "http://tempuri.org/" }
  DetalheRota          = class;                 { "http://tempuri.org/" }
  Cartao2              = class;                 { "http://tempuri.org/" }
  Pagamento            = class;                 { "http://tempuri.org/" }
  TransportadorWs      = class;                 { "http://tempuri.org/" }

  { "http://tempuri.org/" }
  TipoConta = (Corrente, Poupanca);

  { "http://tempuri.org/" }
  FormaPagamento = (Todos, Cartao, ValePedagio, ContaCorrente);

  { "http://tempuri.org/" }
  StatusPagamento = (Pago, NaoPago, Aprovado, Pendente, Reprovado, Cancelado, Agendado);

  { "http://tempuri.org/" }
  TipoTac = (Proprietario, Motorista);

  { "http://tempuri.org/" }
  StatusViagem = (Aberto, Encerrado, Cancelado2, Pendente2, AprovadoParaPagamento);

  { "http://tempuri.org/" }
  Origem = (Todos2, Gratuito, Logado, Admin, TMS);

  { "http://tempuri.org/" }
  TipoPagamento = (Ambos, Automatico, Manual);



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Autenticacao = class(TSOAPHeader)
  private
    FUsuario: WideString;
    FSenha: WideString;
  published
    property Usuario: WideString read FUsuario write FUsuario;
    property Senha: WideString read FSenha write FSenha;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ContratadoWs = class(TRemotable)
  private
    FCnpjCpf: WideString;
    FNome: WideString;
    FRntrc: WideString;
    FCnh: WideString;
  published
    property CnpjCpf: WideString read FCnpjCpf write FCnpjCpf;
    property Nome: WideString read FNome write FNome;
    property Rntrc: WideString read FRntrc write FRntrc;
    property Cnh: WideString read FCnh write FCnh;
  end;

  ArrayOfVeiculoWs = array of VeiculoWs;        { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  FavorecidoWs = class(TRemotable)
  private
    FNome: WideString;
    FCpfCnpj: WideString;
    FNumeroBanco: WideString;
    FAgencia: WideString;
    FAgenciaDv: WideString;
    FConta: WideString;
    FContaDv: WideString;
    FTipoConta: TipoConta;
  published
    property Nome: WideString read FNome write FNome;
    property CpfCnpj: WideString read FCpfCnpj write FCpfCnpj;
    property NumeroBanco: WideString read FNumeroBanco write FNumeroBanco;
    property Agencia: WideString read FAgencia write FAgencia;
    property AgenciaDv: WideString read FAgenciaDv write FAgenciaDv;
    property Conta: WideString read FConta write FConta;
    property ContaDv: WideString read FContaDv write FContaDv;
    property TipoConta: TipoConta read FTipoConta write FTipoConta;
  end;

  ArrayOfPagamentoWs = array of PagamentoWs;    { "http://tempuri.org/" }
  ArrayOfParadaWs = array of ParadaWs;          { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  RotaWs = class(TRemotable)
  private
    FCepOrigem: WideString;
    FIdEstadoOrigem: Integer;
    FIdCidadeOrigem: Integer;
    FCepDestino: WideString;
    FIdEstadoDestino: Integer;
    FIdCidadeDestino: Integer;
    FIdMercadoria: Integer;
    FPesoViagem: TXSDecimal;
    FQuantidadeViagem: Integer;
    FParadas: ArrayOfParadaWs;
  public
    destructor Destroy; override;
  published
    property CepOrigem: WideString read FCepOrigem write FCepOrigem;
    property IdEstadoOrigem: Integer read FIdEstadoOrigem write FIdEstadoOrigem;
    property IdCidadeOrigem: Integer read FIdCidadeOrigem write FIdCidadeOrigem;
    property CepDestino: WideString read FCepDestino write FCepDestino;
    property IdEstadoDestino: Integer read FIdEstadoDestino write FIdEstadoDestino;
    property IdCidadeDestino: Integer read FIdCidadeDestino write FIdCidadeDestino;
    property IdMercadoria: Integer read FIdMercadoria write FIdMercadoria;
    property PesoViagem: TXSDecimal read FPesoViagem write FPesoViagem;
    property QuantidadeViagem: Integer read FQuantidadeViagem write FQuantidadeViagem;
    property Paradas: ArrayOfParadaWs read FParadas write FParadas;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ParadaWs = class(TRemotable)
  private
    FCepParada: WideString;
    FIdEstadoParada: Integer;
    FIdCidadeParada: Integer;
  published
    property CepParada: WideString read FCepParada write FCepParada;
    property IdEstadoParada: Integer read FIdEstadoParada write FIdEstadoParada;
    property IdCidadeParada: Integer read FIdCidadeParada write FIdCidadeParada;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  EnderecoWs = class(TRemotable)
  private
    FCep: WideString;
    FLogradouro: WideString;
    FNumero: WideString;
    FComplemento: WideString;
    FBairro: WideString;
    FidEstado: Integer;
    FidCidade: Integer;
  published
    property Cep: WideString read FCep write FCep;
    property Logradouro: WideString read FLogradouro write FLogradouro;
    property Numero: WideString read FNumero write FNumero;
    property Complemento: WideString read FComplemento write FComplemento;
    property Bairro: WideString read FBairro write FBairro;
    property idEstado: Integer read FidEstado write FidEstado;
    property idCidade: Integer read FidCidade write FidCidade;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ConsignatarioWs = class(TRemotable)
  private
    FCnpjCpf: WideString;
    FNome: WideString;
    FEndereco: EnderecoWs;
  public
    destructor Destroy; override;
  published
    property CnpjCpf: WideString read FCnpjCpf write FCnpjCpf;
    property Nome: WideString read FNome write FNome;
    property Endereco: EnderecoWs read FEndereco write FEndereco;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  DestinatarioWs = class(TRemotable)
  private
    FCnpjCpf: WideString;
    FNome: WideString;
    FEndereco: EnderecoWs;
  public
    destructor Destroy; override;
  published
    property CnpjCpf: WideString read FCnpjCpf write FCnpjCpf;
    property Nome: WideString read FNome write FNome;
    property Endereco: EnderecoWs read FEndereco write FEndereco;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ViagemWs = class(TRemotable)
  private
    FId: Integer;
    FTipo: Integer;
    FDataInicio: TXSDateTime;
    FDataFim: TXSDateTime;
    FRota: RotaWs;
    FidTipoRota: Integer;
    FidCategoriaVeiculo: Integer;
    FDestinatario: DestinatarioWs;
    FConsignatario: ConsignatarioWs;
    FValorFrete: TXSDecimal;
    FCalcularPedagio: Boolean;
    FValorPedagio: TXSDecimal;
    FValorCombustivel: TXSDecimal;
    FValorSestSenat: TXSDecimal;
    FValorIrrf: TXSDecimal;
    FValorInss: TXSDecimal;
    FvalorIcmsIssqn: TXSDecimal;
    FValorImpostos: TXSDecimal;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property Tipo: Integer read FTipo write FTipo;
    property DataInicio: TXSDateTime read FDataInicio write FDataInicio;
    property DataFim: TXSDateTime read FDataFim write FDataFim;
    property Rota: RotaWs read FRota write FRota;
    property idTipoRota: Integer read FidTipoRota write FidTipoRota;
    property idCategoriaVeiculo: Integer read FidCategoriaVeiculo write FidCategoriaVeiculo;
    property Destinatario: DestinatarioWs read FDestinatario write FDestinatario;
    property Consignatario: ConsignatarioWs read FConsignatario write FConsignatario;
    property ValorFrete: TXSDecimal read FValorFrete write FValorFrete;
    property CalcularPedagio: Boolean read FCalcularPedagio write FCalcularPedagio;
    property ValorPedagio: TXSDecimal read FValorPedagio write FValorPedagio;
    property ValorCombustivel: TXSDecimal read FValorCombustivel write FValorCombustivel;
    property ValorSestSenat: TXSDecimal read FValorSestSenat write FValorSestSenat;
    property ValorIrrf: TXSDecimal read FValorIrrf write FValorIrrf;
    property ValorInss: TXSDecimal read FValorInss write FValorInss;
    property valorIcmsIssqn: TXSDecimal read FvalorIcmsIssqn write FvalorIcmsIssqn;
    property ValorImpostos: TXSDecimal read FValorImpostos write FValorImpostos;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  SubContratanteWs = class(TRemotable)
  private
    FCnpjCpf: WideString;
    FNome: WideString;
    FEndereco: EnderecoWs;
  public
    destructor Destroy; override;
  published
    property CnpjCpf: WideString read FCnpjCpf write FCnpjCpf;
    property Nome: WideString read FNome write FNome;
    property Endereco: EnderecoWs read FEndereco write FEndereco;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ContratanteWs = class(TRemotable)
  private
    FCnpjCpf: WideString;
    FNome: WideString;
    FRntrc: WideString;
    FEndereco: EnderecoWs;
  public
    destructor Destroy; override;
  published
    property CnpjCpf: WideString read FCnpjCpf write FCnpjCpf;
    property Nome: WideString read FNome write FNome;
    property Rntrc: WideString read FRntrc write FRntrc;
    property Endereco: EnderecoWs read FEndereco write FEndereco;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  DeclararOperacaoTransporteIntegrada = class(TRemotable)
  private
    FCodigoTransporadora: WideString;
    FViagem: ViagemWs;
    FContratante: ContratanteWs;
    FContratado: ContratadoWs;
    FSubContratante: SubContratanteWs;
    FVeiculos: ArrayOfVeiculoWs;
    FFavorecido: FavorecidoWs;
    FPagamentos: ArrayOfPagamentoWs;
  public
    destructor Destroy; override;
  published
    property CodigoTransporadora: WideString read FCodigoTransporadora write FCodigoTransporadora;
    property Viagem: ViagemWs read FViagem write FViagem;
    property Contratante: ContratanteWs read FContratante write FContratante;
    property Contratado: ContratadoWs read FContratado write FContratado;
    property SubContratante: SubContratanteWs read FSubContratante write FSubContratante;
    property Veiculos: ArrayOfVeiculoWs read FVeiculos write FVeiculos;
    property Favorecido: FavorecidoWs read FFavorecido write FFavorecido;
    property Pagamentos: ArrayOfPagamentoWs read FPagamentos write FPagamentos;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  VeiculoWs = class(TRemotable)
  private
    FRntc: WideString;
    FPlaca: WideString;
  published
    property Rntc: WideString read FRntc write FRntc;
    property Placa: WideString read FPlaca write FPlaca;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  PagamentoWs = class(TRemotable)
  private
    FIdPagamento: WideString;
    FNumeroCartao: WideString;
    FNumeroBanco: WideString;
    FTipoConta: TipoConta;
    FAgencia: WideString;
    FAgenciaDv: WideString;
    FConta: WideString;
    FContaDv: WideString;
    FValorCombustivel: TXSDecimal;
    FValorFrete: TXSDecimal;
    FValorPedagio: TXSDecimal;
    FDataVencimento: TXSDateTime;
    FFormaPagamento: FormaPagamento;
    FStatusPagamento: StatusPagamento;
  public
    destructor Destroy; override;
  published
    property IdPagamento: WideString read FIdPagamento write FIdPagamento;
    property NumeroCartao: WideString read FNumeroCartao write FNumeroCartao;
    property NumeroBanco: WideString read FNumeroBanco write FNumeroBanco;
    property TipoConta: TipoConta read FTipoConta write FTipoConta;
    property Agencia: WideString read FAgencia write FAgencia;
    property AgenciaDv: WideString read FAgenciaDv write FAgenciaDv;
    property Conta: WideString read FConta write FConta;
    property ContaDv: WideString read FContaDv write FContaDv;
    property ValorCombustivel: TXSDecimal read FValorCombustivel write FValorCombustivel;
    property ValorFrete: TXSDecimal read FValorFrete write FValorFrete;
    property ValorPedagio: TXSDecimal read FValorPedagio write FValorPedagio;
    property DataVencimento: TXSDateTime read FDataVencimento write FDataVencimento;
    property FormaPagamento: FormaPagamento read FFormaPagamento write FFormaPagamento;
    property StatusPagamento: StatusPagamento read FStatusPagamento write FStatusPagamento;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Excecao = class(TRemotable)
  private
    FCodigo: WideString;
    FMensagem: WideString;
    FProtocolo: WideString;
    FTipo: Integer;
  published
    property Codigo: WideString read FCodigo write FCodigo;
    property Mensagem: WideString read FMensagem write FMensagem;
    property Protocolo: WideString read FProtocolo write FProtocolo;
    property Tipo: Integer read FTipo write FTipo;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  DeclararOperacaoTransporteRetorno = class(TRemotable)
  private
    FIdentificacaoViagem: Integer;
    FSucesso: Boolean;
    FNumeroCiot: WideString;
    FExcecao: Excecao;
    FAvisoTransportador: WideString;
  public
    destructor Destroy; override;
  published
    property IdentificacaoViagem: Integer read FIdentificacaoViagem write FIdentificacaoViagem;
    property Sucesso: Boolean read FSucesso write FSucesso;
    property NumeroCiot: WideString read FNumeroCiot write FNumeroCiot;
    property Excecao: Excecao read FExcecao write FExcecao;
    property AvisoTransportador: WideString read FAvisoTransportador write FAvisoTransportador;
  end;

  ArrayOfRotaWs = array of RotaWs;              { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  EncerrarOperacaoTransporteRetorno = class(TRemotable)
  private
    FNumeroCiot: WideString;
    FSucesso: Boolean;
    FExcecao: Excecao;
    FProtocoloEncerramento: WideString;
    FDataEncerramento: TXSDateTime;
  public
    destructor Destroy; override;
  published
    property NumeroCiot: WideString read FNumeroCiot write FNumeroCiot;
    property Sucesso: Boolean read FSucesso write FSucesso;
    property Excecao: Excecao read FExcecao write FExcecao;
    property ProtocoloEncerramento: WideString read FProtocoloEncerramento write FProtocoloEncerramento;
    property DataEncerramento: TXSDateTime read FDataEncerramento write FDataEncerramento;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  RetificarOperacaoTransporteRetorno = class(TRemotable)
  private
    FNumeroCiot: WideString;
    FSucesso: Boolean;
    FExcecao: Excecao;
    FDataRetificacao: TXSDateTime;
  public
    destructor Destroy; override;
  published
    property NumeroCiot: WideString read FNumeroCiot write FNumeroCiot;
    property Sucesso: Boolean read FSucesso write FSucesso;
    property Excecao: Excecao read FExcecao write FExcecao;
    property DataRetificacao: TXSDateTime read FDataRetificacao write FDataRetificacao;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  CancelarOperacaoTransporteRetorno = class(TRemotable)
  private
    FNumeroCiot: WideString;
    FSucesso: Boolean;
    FExcecao: Excecao;
    FProtocoloCancelamento: WideString;
    FDataCancelamento: TXSDateTime;
  public
    destructor Destroy; override;
  published
    property NumeroCiot: WideString read FNumeroCiot write FNumeroCiot;
    property Sucesso: Boolean read FSucesso write FSucesso;
    property Excecao: Excecao read FExcecao write FExcecao;
    property ProtocoloCancelamento: WideString read FProtocoloCancelamento write FProtocoloCancelamento;
    property DataCancelamento: TXSDateTime read FDataCancelamento write FDataCancelamento;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ConsultarPagamentoWs = class(TRemotable)
  private
    FIdPagamento: WideString;
    FNumeroCiot: WideString;
    FCodigoTransporadora: WideString;
  published
    property IdPagamento: WideString read FIdPagamento write FIdPagamento;
    property NumeroCiot: WideString read FNumeroCiot write FNumeroCiot;
    property CodigoTransporadora: WideString read FCodigoTransporadora write FCodigoTransporadora;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Tac = class(TRemotable)
  private
    FId: Integer;
    FIdViagem: Integer;
    FRntrc: WideString;
    FCnpjCpf: WideString;
    FNome: WideString;
    FCnh: WideString;
    FValidadeRNTRC: TXSDateTime;
    FTipoTac: TipoTac;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdViagem: Integer read FIdViagem write FIdViagem;
    property Rntrc: WideString read FRntrc write FRntrc;
    property CnpjCpf: WideString read FCnpjCpf write FCnpjCpf;
    property Nome: WideString read FNome write FNome;
    property Cnh: WideString read FCnh write FCnh;
    property ValidadeRNTRC: TXSDateTime read FValidadeRNTRC write FValidadeRNTRC;
    property TipoTac: TipoTac read FTipoTac write FTipoTac;
  end;

  ArrayOfVeiculo = array of Veiculo;            { "http://tempuri.org/" }
  ArrayOfPagamento = array of Pagamento;        { "http://tempuri.org/" }
  ArrayOfCidade = array of Cidade;              { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Estado = class(TRemotable)
  private
    FId: Integer;
    FNome: WideString;
    FUf: WideString;
    FCidades: ArrayOfCidade;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property Nome: WideString read FNome write FNome;
    property Uf: WideString read FUf write FUf;
    property Cidades: ArrayOfCidade read FCidades write FCidades;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Cidade = class(TRemotable)
  private
    FId: Integer;
    FNome: WideString;
    FEstado: Estado;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property Nome: WideString read FNome write FNome;
    property Estado: Estado read FEstado write FEstado;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Endereco = class(TRemotable)
  private
    FLogradouro: WideString;
    FNumero: WideString;
    FComplemento: WideString;
    FCep: WideString;
    FBairro: WideString;
    FEstado: Estado;
    FCidade: Cidade;
    FPointX: Double;
    FPointY: Double;
  public
    destructor Destroy; override;
  published
    property Logradouro: WideString read FLogradouro write FLogradouro;
    property Numero: WideString read FNumero write FNumero;
    property Complemento: WideString read FComplemento write FComplemento;
    property Cep: WideString read FCep write FCep;
    property Bairro: WideString read FBairro write FBairro;
    property Estado: Estado read FEstado write FEstado;
    property Cidade: Cidade read FCidade write FCidade;
    property PointX: Double read FPointX write FPointX;
    property PointY: Double read FPointY write FPointY;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  SubContratante = class(TRemotable)
  private
    FId: Integer;
    FIdViagem: Integer;
    FCnpjCpf: WideString;
    FNome: WideString;
    FEndereco: Endereco;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdViagem: Integer read FIdViagem write FIdViagem;
    property CnpjCpf: WideString read FCnpjCpf write FCnpjCpf;
    property Nome: WideString read FNome write FNome;
    property Endereco: Endereco read FEndereco write FEndereco;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Contratante = class(TRemotable)
  private
    FId: Integer;
    FIdViagem: Integer;
    FCnpjCpf: WideString;
    FNome: WideString;
    FRntrc: WideString;
    FValidadeRNTRC: TXSDateTime;
    FEndereco: Endereco;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdViagem: Integer read FIdViagem write FIdViagem;
    property CnpjCpf: WideString read FCnpjCpf write FCnpjCpf;
    property Nome: WideString read FNome write FNome;
    property Rntrc: WideString read FRntrc write FRntrc;
    property ValidadeRNTRC: TXSDateTime read FValidadeRNTRC write FValidadeRNTRC;
    property Endereco: Endereco read FEndereco write FEndereco;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Veiculo = class(TRemotable)
  private
    FId: Integer;
    FIdViagem: Integer;
    FRntc: WideString;
    FPlaca: WideString;
    FId_Categoria: Integer;
    FCategoria: WideString;
    FSituacaoVeiculo: Boolean;
  published
    property Id: Integer read FId write FId;
    property IdViagem: Integer read FIdViagem write FIdViagem;
    property Rntc: WideString read FRntc write FRntc;
    property Placa: WideString read FPlaca write FPlaca;
    property Id_Categoria: Integer read FId_Categoria write FId_Categoria;
    property Categoria: WideString read FCategoria write FCategoria;
    property SituacaoVeiculo: Boolean read FSituacaoVeiculo write FSituacaoVeiculo;
  end;

  ArrayOfRota = array of Rota;                  { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Viagem = class(TRemotable)
  private
    FId: Integer;
    FNumeroManifesto: Integer;
    FIdUsuario: Integer;
    FIdTransportadora: Integer;
    FIdUsuarioAlteracao: Integer;
    FTipoViagem: Integer;
    FCPFMotorista: WideString;
    FSenha: WideString;
    FStatus: StatusViagem;
    FPesoTotal: TXSDecimal;
    FOrigemEnum: Origem;
    FNumeroCiot: WideString;
    FProtocoloAutorizacao: WideString;
    FProtocoloEncerramento: WideString;
    FProtocoloCancelamento: WideString;
    FMotivoCancelamento: WideString;
    FRNTRC: WideString;
    FPlacaVeiculo: WideString;
    FDocumento: WideString;
    FNumeroCTRC: WideString;
    FNomeUsuario: WideString;
    FCondicoes: WideString;
    FDataInicio: TXSDateTime;
    FDataFim: TXSDateTime;
    FDataInclusao: TXSDateTime;
    FDataInicioRelatorio: TXSDateTime;
    FDataFimRelatorio: TXSDateTime;
    FDataAlteracao: TXSDateTime;
    FDataEncerramento: TXSDateTime;
    FDataCancelamento: TXSDateTime;
    FDataPagamento: TXSDateTime;
    FQuantidadeParcela: Integer;
    FValorFrete: TXSDecimal;
    FValorPedagio: TXSDecimal;
    FValorCombustivel: TXSDecimal;
    FValorSestSenat: TXSDecimal;
    FValorIrrf: TXSDecimal;
    FValorInss: TXSDecimal;
    FvalorIcmsIssqn: TXSDecimal;
    FValorImpostos: TXSDecimal;
    FPagamentoFinalizado: Boolean;
    FPagamentoValePedagio: Boolean;
    FPagamentoCartao: Boolean;
    FPagamentoTransferencia: Boolean;
    FRotas: ArrayOfRota;
    FDestinatario: Contratante;
    FConsignatario: Contratante;
    FFretePago: TXSDecimal;
    FCombustivelPago: TXSDecimal;
    FPedagioPago: TXSDecimal;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property NumeroManifesto: Integer read FNumeroManifesto write FNumeroManifesto;
    property IdUsuario: Integer read FIdUsuario write FIdUsuario;
    property IdTransportadora: Integer read FIdTransportadora write FIdTransportadora;
    property IdUsuarioAlteracao: Integer read FIdUsuarioAlteracao write FIdUsuarioAlteracao;
    property TipoViagem: Integer read FTipoViagem write FTipoViagem;
    property CPFMotorista: WideString read FCPFMotorista write FCPFMotorista;
    property Senha: WideString read FSenha write FSenha;
    property Status: StatusViagem read FStatus write FStatus;
    property PesoTotal: TXSDecimal read FPesoTotal write FPesoTotal;
    property OrigemEnum: Origem read FOrigemEnum write FOrigemEnum;
    property NumeroCiot: WideString read FNumeroCiot write FNumeroCiot;
    property ProtocoloAutorizacao: WideString read FProtocoloAutorizacao write FProtocoloAutorizacao;
    property ProtocoloEncerramento: WideString read FProtocoloEncerramento write FProtocoloEncerramento;
    property ProtocoloCancelamento: WideString read FProtocoloCancelamento write FProtocoloCancelamento;
    property MotivoCancelamento: WideString read FMotivoCancelamento write FMotivoCancelamento;
    property RNTRC: WideString read FRNTRC write FRNTRC;
    property PlacaVeiculo: WideString read FPlacaVeiculo write FPlacaVeiculo;
    property Documento: WideString read FDocumento write FDocumento;
    property NumeroCTRC: WideString read FNumeroCTRC write FNumeroCTRC;
    property NomeUsuario: WideString read FNomeUsuario write FNomeUsuario;
    property Condicoes: WideString read FCondicoes write FCondicoes;
    property DataInicio: TXSDateTime read FDataInicio write FDataInicio;
    property DataFim: TXSDateTime read FDataFim write FDataFim;
    property DataInclusao: TXSDateTime read FDataInclusao write FDataInclusao;
    property DataInicioRelatorio: TXSDateTime read FDataInicioRelatorio write FDataInicioRelatorio;
    property DataFimRelatorio: TXSDateTime read FDataFimRelatorio write FDataFimRelatorio;
    property DataAlteracao: TXSDateTime read FDataAlteracao write FDataAlteracao;
    property DataEncerramento: TXSDateTime read FDataEncerramento write FDataEncerramento;
    property DataCancelamento: TXSDateTime read FDataCancelamento write FDataCancelamento;
    property DataPagamento: TXSDateTime read FDataPagamento write FDataPagamento;
    property QuantidadeParcela: Integer read FQuantidadeParcela write FQuantidadeParcela;
    property ValorFrete: TXSDecimal read FValorFrete write FValorFrete;
    property ValorPedagio: TXSDecimal read FValorPedagio write FValorPedagio;
    property ValorCombustivel: TXSDecimal read FValorCombustivel write FValorCombustivel;
    property ValorSestSenat: TXSDecimal read FValorSestSenat write FValorSestSenat;
    property ValorIrrf: TXSDecimal read FValorIrrf write FValorIrrf;
    property ValorInss: TXSDecimal read FValorInss write FValorInss;
    property valorIcmsIssqn: TXSDecimal read FvalorIcmsIssqn write FvalorIcmsIssqn;
    property ValorImpostos: TXSDecimal read FValorImpostos write FValorImpostos;
    property PagamentoFinalizado: Boolean read FPagamentoFinalizado write FPagamentoFinalizado;
    property PagamentoValePedagio: Boolean read FPagamentoValePedagio write FPagamentoValePedagio;
    property PagamentoCartao: Boolean read FPagamentoCartao write FPagamentoCartao;
    property PagamentoTransferencia: Boolean read FPagamentoTransferencia write FPagamentoTransferencia;
    property Rotas: ArrayOfRota read FRotas write FRotas;
    property Destinatario: Contratante read FDestinatario write FDestinatario;
    property Consignatario: Contratante read FConsignatario write FConsignatario;
    property FretePago: TXSDecimal read FFretePago write FFretePago;
    property CombustivelPago: TXSDecimal read FCombustivelPago write FCombustivelPago;
    property PedagioPago: TXSDecimal read FPedagioPago write FPedagioPago;
  end;

  ArrayOfParada = array of Parada;              { "http://tempuri.org/" }
  ArrayOfResumoRota = array of ResumoRota;      { "http://tempuri.org/" }
  ArrayOfPedagio = array of Pedagio;            { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  CustoRota = class(TRemotable)
  private
    FDistancia: Double;
    FTempo: WideString;
    FCombustivelConsumido: Double;
    FCustoCombustivel: Double;
    FCustoTotalPedagio: Double;
    FCustoPedagio: Double;
    FMargemSeguranga: Integer;
    FCustoTotal: Double;
  published
    property Distancia: Double read FDistancia write FDistancia;
    property Tempo: WideString read FTempo write FTempo;
    property CombustivelConsumido: Double read FCombustivelConsumido write FCombustivelConsumido;
    property CustoCombustivel: Double read FCustoCombustivel write FCustoCombustivel;
    property CustoTotalPedagio: Double read FCustoTotalPedagio write FCustoTotalPedagio;
    property CustoPedagio: Double read FCustoPedagio write FCustoPedagio;
    property MargemSeguranga: Integer read FMargemSeguranga write FMargemSeguranga;
    property CustoTotal: Double read FCustoTotal write FCustoTotal;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  TipoRota = class(TRemotable)
  private
    FTerra: Double;
    FBalca: Double;
    FPistaSimples: Double;
    FPavimentacao: Double;
    FMasCondicoes: Double;
    FDuplicacao: Double;
    FPistaDupla: Double;
  published
    property Terra: Double read FTerra write FTerra;
    property Balca: Double read FBalca write FBalca;
    property PistaSimples: Double read FPistaSimples write FPistaSimples;
    property Pavimentacao: Double read FPavimentacao write FPavimentacao;
    property MasCondicoes: Double read FMasCondicoes write FMasCondicoes;
    property Duplicacao: Double read FDuplicacao write FDuplicacao;
    property PistaDupla: Double read FPistaDupla write FPistaDupla;
  end;

  ArrayOfDetalheRota = array of DetalheRota;    { "http://tempuri.org/" }
  ArrayOfMenu = array of Menu;                  { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Contato = class(TRemotable)
  private
    FNome: WideString;
    FEmail: WideString;
    FTelefoneDDD: WideString;
    FTelefone: WideString;
    FTelefoneRamal: WideString;
  published
    property Nome: WideString read FNome write FNome;
    property Email: WideString read FEmail write FEmail;
    property TelefoneDDD: WideString read FTelefoneDDD write FTelefoneDDD;
    property Telefone: WideString read FTelefone write FTelefone;
    property TelefoneRamal: WideString read FTelefoneRamal write FTelefoneRamal;
  end;

  ArrayOfBanco = array of Banco;                { "http://tempuri.org/" }
  ArrayOfParceiro = array of Parceiro;          { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Transportadora = class(TRemotable)
  private
    FId: Integer;
    FIdReal: Integer;
    FIdCidade: Integer;
    FIdEstado: Integer;
    FIdVendedor: Integer;
    FCodigoRetornoWS: Integer;
    FDadoBancario: Integer;
    FComplementoBradesco: Integer;
    FComplementoApisul: Integer;
    FCNPJ: WideString;
    FNumeroContrato: WideString;
    FNumeroCliente: Integer;
    FNumeroAgencia: WideString;
    FNumeroConta: WideString;
    FCPFRepresentante1: WideString;
    FNomeRepresentante1: WideString;
    FCPFRepresentante2: WideString;
    FNomeRepresentante2: WideString;
    FCPFRepresentante3: WideString;
    FNomeRepresentante3: WideString;
    FEstado: WideString;
    FCidade: WideString;
    FBairro: WideString;
    FLogradouro: WideString;
    FCEP: WideString;
    FComplemento: WideString;
    FNumero: WideString;
    FRNTRC: WideString;
    FCNPJPessoaJuridica: WideString;
    FNomeFantasia: WideString;
    FRazaoSocial: WideString;
    FEmail: WideString;
    FTelefoneDDD: WideString;
    FTelefone: WideString;
    FTelefoneRamal: WideString;
    FFaxDDD: WideString;
    FFax: WideString;
    FFaxRamal: WideString;
    FFonte: WideString;
    FToken: WideString;
    FInscricaoEstadual: WideString;
    FMensagemRetornoWS: WideString;
    FBloqueiaRegistro: Boolean;
    FContato: Contato;
    FBancos: ArrayOfBanco;
    FParceiros: ArrayOfParceiro;
    FAcessaWebService: Boolean;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdReal: Integer read FIdReal write FIdReal;
    property IdCidade: Integer read FIdCidade write FIdCidade;
    property IdEstado: Integer read FIdEstado write FIdEstado;
    property IdVendedor: Integer read FIdVendedor write FIdVendedor;
    property CodigoRetornoWS: Integer read FCodigoRetornoWS write FCodigoRetornoWS;
    property DadoBancario: Integer read FDadoBancario write FDadoBancario;
    property ComplementoBradesco: Integer read FComplementoBradesco write FComplementoBradesco;
    property ComplementoApisul: Integer read FComplementoApisul write FComplementoApisul;
    property CNPJ: WideString read FCNPJ write FCNPJ;
    property NumeroContrato: WideString read FNumeroContrato write FNumeroContrato;
    property NumeroCliente: Integer read FNumeroCliente write FNumeroCliente;
    property NumeroAgencia: WideString read FNumeroAgencia write FNumeroAgencia;
    property NumeroConta: WideString read FNumeroConta write FNumeroConta;
    property CPFRepresentante1: WideString read FCPFRepresentante1 write FCPFRepresentante1;
    property NomeRepresentante1: WideString read FNomeRepresentante1 write FNomeRepresentante1;
    property CPFRepresentante2: WideString read FCPFRepresentante2 write FCPFRepresentante2;
    property NomeRepresentante2: WideString read FNomeRepresentante2 write FNomeRepresentante2;
    property CPFRepresentante3: WideString read FCPFRepresentante3 write FCPFRepresentante3;
    property NomeRepresentante3: WideString read FNomeRepresentante3 write FNomeRepresentante3;
    property Estado: WideString read FEstado write FEstado;
    property Cidade: WideString read FCidade write FCidade;
    property Bairro: WideString read FBairro write FBairro;
    property Logradouro: WideString read FLogradouro write FLogradouro;
    property CEP: WideString read FCEP write FCEP;
    property Complemento: WideString read FComplemento write FComplemento;
    property Numero: WideString read FNumero write FNumero;
    property RNTRC: WideString read FRNTRC write FRNTRC;
    property CNPJPessoaJuridica: WideString read FCNPJPessoaJuridica write FCNPJPessoaJuridica;
    property NomeFantasia: WideString read FNomeFantasia write FNomeFantasia;
    property RazaoSocial: WideString read FRazaoSocial write FRazaoSocial;
    property Email: WideString read FEmail write FEmail;
    property TelefoneDDD: WideString read FTelefoneDDD write FTelefoneDDD;
    property Telefone: WideString read FTelefone write FTelefone;
    property TelefoneRamal: WideString read FTelefoneRamal write FTelefoneRamal;
    property FaxDDD: WideString read FFaxDDD write FFaxDDD;
    property Fax: WideString read FFax write FFax;
    property FaxRamal: WideString read FFaxRamal write FFaxRamal;
    property Fonte: WideString read FFonte write FFonte;
    property Token: WideString read FToken write FToken;
    property InscricaoEstadual: WideString read FInscricaoEstadual write FInscricaoEstadual;
    property MensagemRetornoWS: WideString read FMensagemRetornoWS write FMensagemRetornoWS;
    property BloqueiaRegistro: Boolean read FBloqueiaRegistro write FBloqueiaRegistro;
    property Contato: Contato read FContato write FContato;
    property Bancos: ArrayOfBanco read FBancos write FBancos;
    property Parceiros: ArrayOfParceiro read FParceiros write FParceiros;
    property AcessaWebService: Boolean read FAcessaWebService write FAcessaWebService;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Alcada = class(TRemotable)
  private
    FId: Integer;
    FNome: WideString;
    FLimiteOperacao: TXSDecimal;
    FLimiteDiario: TXSDecimal;
    FLimiteDiarioCartao: Integer;
    FLimiteSemanalCartao: Integer;
    FLimiteMensalCartao: Integer;
    FLimiteDisponivel: Integer;
    FIdUsuarioAlteracao: Integer;
    FTransportadora: Transportadora;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property Nome: WideString read FNome write FNome;
    property LimiteOperacao: TXSDecimal read FLimiteOperacao write FLimiteOperacao;
    property LimiteDiario: TXSDecimal read FLimiteDiario write FLimiteDiario;
    property LimiteDiarioCartao: Integer read FLimiteDiarioCartao write FLimiteDiarioCartao;
    property LimiteSemanalCartao: Integer read FLimiteSemanalCartao write FLimiteSemanalCartao;
    property LimiteMensalCartao: Integer read FLimiteMensalCartao write FLimiteMensalCartao;
    property LimiteDisponivel: Integer read FLimiteDisponivel write FLimiteDisponivel;
    property IdUsuarioAlteracao: Integer read FIdUsuarioAlteracao write FIdUsuarioAlteracao;
    property Transportadora: Transportadora read FTransportadora write FTransportadora;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Parceiro = class(TRemotable)
  private
    FId: Integer;
    FIdUsuario: Integer;
    FIdTransportadora: Integer;
    FPagamentoValePedagio: Boolean;
    FPagamentoCartao: Boolean;
    FPagamentoTransferencia: Boolean;
    FStatus: Boolean;
    FNomeFantasia: WideString;
    FRazaoSocial: WideString;
    FCNPJ: WideString;
    FRamoAtividade: WideString;
  published
    property Id: Integer read FId write FId;
    property IdUsuario: Integer read FIdUsuario write FIdUsuario;
    property IdTransportadora: Integer read FIdTransportadora write FIdTransportadora;
    property PagamentoValePedagio: Boolean read FPagamentoValePedagio write FPagamentoValePedagio;
    property PagamentoCartao: Boolean read FPagamentoCartao write FPagamentoCartao;
    property PagamentoTransferencia: Boolean read FPagamentoTransferencia write FPagamentoTransferencia;
    property Status: Boolean read FStatus write FStatus;
    property NomeFantasia: WideString read FNomeFantasia write FNomeFantasia;
    property RazaoSocial: WideString read FRazaoSocial write FRazaoSocial;
    property CNPJ: WideString read FCNPJ write FCNPJ;
    property RamoAtividade: WideString read FRamoAtividade write FRamoAtividade;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Banco = class(TRemotable)
  private
    FId: Integer;
    FIdBancoTranportadora: Integer;
    FIdUsuarioAlteracao: Integer;
    FNome: WideString;
    FNumero: WideString;
    FAgencia: WideString;
    FAgenciaDv: WideString;
    FConta: WideString;
    FContaDv: WideString;
    FCodigoConvenio: WideString;
    FTipoConta: TipoConta;
    FPrincipal: Boolean;
    FPagamentoCartao: Boolean;
    FPagamentoTransferencia: Boolean;
    FPagamentoValePedagio: Boolean;
    FAlteravel: Boolean;
    FTransportadora: Transportadora;
    FParceiro: Parceiro;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdBancoTranportadora: Integer read FIdBancoTranportadora write FIdBancoTranportadora;
    property IdUsuarioAlteracao: Integer read FIdUsuarioAlteracao write FIdUsuarioAlteracao;
    property Nome: WideString read FNome write FNome;
    property Numero: WideString read FNumero write FNumero;
    property Agencia: WideString read FAgencia write FAgencia;
    property AgenciaDv: WideString read FAgenciaDv write FAgenciaDv;
    property Conta: WideString read FConta write FConta;
    property ContaDv: WideString read FContaDv write FContaDv;
    property CodigoConvenio: WideString read FCodigoConvenio write FCodigoConvenio;
    property TipoConta: TipoConta read FTipoConta write FTipoConta;
    property Principal: Boolean read FPrincipal write FPrincipal;
    property PagamentoCartao: Boolean read FPagamentoCartao write FPagamentoCartao;
    property PagamentoTransferencia: Boolean read FPagamentoTransferencia write FPagamentoTransferencia;
    property PagamentoValePedagio: Boolean read FPagamentoValePedagio write FPagamentoValePedagio;
    property Alteravel: Boolean read FAlteravel write FAlteravel;
    property Transportadora: Transportadora read FTransportadora write FTransportadora;
    property Parceiro: Parceiro read FParceiro write FParceiro;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Favorecido = class(TRemotable)
  private
    FId: Integer;
    FIdViagem: Integer;
    FNome: WideString;
    FCpfCnpj: WideString;
    FBanco: Banco;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdViagem: Integer read FIdViagem write FIdViagem;
    property Nome: WideString read FNome write FNome;
    property CpfCnpj: WideString read FCpfCnpj write FCpfCnpj;
    property Banco: Banco read FBanco write FBanco;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Ciot = class(TRemotable)
  private
    FContratante: Contratante;
    FTac: Tac;
    FSubContratante: SubContratante;
    FVeiculos: ArrayOfVeiculo;
    FViagem: Viagem;
    FCodigoAdministradora: Integer;
    FSequencial: Integer;
    FDigitoVerificador: Integer;
    FDataDeclaracao: TXSDateTime;
    FClienteApisul: Boolean;
    FIdViagem: Integer;
    FNumeroCiotRelatorio: WideString;
    FTransportadora: WideString;
    FUsuario: WideString;
    FUsuarioAdmin: WideString;
    FCNH: WideString;
    FNomeContratante: WideString;
    FStatus: WideString;
    FDataInicioRelatorio: TXSDateTime;
    FDataFimRelatorio: TXSDateTime;
    FFavorecido: Favorecido;
    FPagamentos: ArrayOfPagamento;
    FData: TXSDateTime;
    FFormaPagamentoCartao: Boolean;
    FFormaPagamentoTransferencia: Boolean;
    FFalhaAnttService: Boolean;
    FOrigemEnum: Origem;
    FMensagemErro: WideString;
    FAlcadaEstourada: Boolean;
  public
    destructor Destroy; override;
  published
    property Contratante: Contratante read FContratante write FContratante;
    property Tac: Tac read FTac write FTac;
    property SubContratante: SubContratante read FSubContratante write FSubContratante;
    property Veiculos: ArrayOfVeiculo read FVeiculos write FVeiculos;
    property Viagem: Viagem read FViagem write FViagem;
    property CodigoAdministradora: Integer read FCodigoAdministradora write FCodigoAdministradora;
    property Sequencial: Integer read FSequencial write FSequencial;
    property DigitoVerificador: Integer read FDigitoVerificador write FDigitoVerificador;
    property DataDeclaracao: TXSDateTime read FDataDeclaracao write FDataDeclaracao;
    property ClienteApisul: Boolean read FClienteApisul write FClienteApisul;
    property IdViagem: Integer read FIdViagem write FIdViagem;
    property NumeroCiotRelatorio: WideString read FNumeroCiotRelatorio write FNumeroCiotRelatorio;
    property Transportadora: WideString read FTransportadora write FTransportadora;
    property Usuario: WideString read FUsuario write FUsuario;
    property UsuarioAdmin: WideString read FUsuarioAdmin write FUsuarioAdmin;
    property CNH: WideString read FCNH write FCNH;
    property NomeContratante: WideString read FNomeContratante write FNomeContratante;
    property Status: WideString read FStatus write FStatus;
    property DataInicioRelatorio: TXSDateTime read FDataInicioRelatorio write FDataInicioRelatorio;
    property DataFimRelatorio: TXSDateTime read FDataFimRelatorio write FDataFimRelatorio;
    property Favorecido: Favorecido read FFavorecido write FFavorecido;
    property Pagamentos: ArrayOfPagamento read FPagamentos write FPagamentos;
    property Data: TXSDateTime read FData write FData;
    property FormaPagamentoCartao: Boolean read FFormaPagamentoCartao write FFormaPagamentoCartao;
    property FormaPagamentoTransferencia: Boolean read FFormaPagamentoTransferencia write FFormaPagamentoTransferencia;
    property FalhaAnttService: Boolean read FFalhaAnttService write FFalhaAnttService;
    property OrigemEnum: Origem read FOrigemEnum write FOrigemEnum;
    property MensagemErro: WideString read FMensagemErro write FMensagemErro;
    property AlcadaEstourada: Boolean read FAlcadaEstourada write FAlcadaEstourada;
  end;

  ArrayOfPerfil = array of Perfil;              { "http://tempuri.org/" }


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Perfil = class(TRemotable)
  private
    FId: Integer;
    FNome: WideString;
    FDescricao: WideString;
    FPerfilSistema: Boolean;
    FIdUsuarioAlteracao: Integer;
    FOrdem: Integer;
    FTransportadora: Transportadora;
    FPai: Perfil;
    FFilhos: ArrayOfPerfil;
    FMenus: ArrayOfMenu;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property Nome: WideString read FNome write FNome;
    property Descricao: WideString read FDescricao write FDescricao;
    property PerfilSistema: Boolean read FPerfilSistema write FPerfilSistema;
    property IdUsuarioAlteracao: Integer read FIdUsuarioAlteracao write FIdUsuarioAlteracao;
    property Ordem: Integer read FOrdem write FOrdem;
    property Transportadora: Transportadora read FTransportadora write FTransportadora;
    property Pai: Perfil read FPai write FPai;
    property Filhos: ArrayOfPerfil read FFilhos write FFilhos;
    property Menus: ArrayOfMenu read FMenus write FMenus;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Usuario = class(TRemotable)
  private
    FId: Integer;
    FIdResponsavel: Integer;
    FIdCadastrador: Integer;
    FIdUsuarioAnteracao: Integer;
    FNome: WideString;
    FEmail: WideString;
    FCpf: WideString;
    FRg: WideString;
    FLogin: WideString;
    FSenha: WideString;
    FSenhaSemCriptografia: WideString;
    FDataNascimento: TXSDateTime;
    FDataAlteracao: TXSDateTime;
    FDataCadastro: TXSDateTime;
    FAlcada: Alcada;
    FTransportadora: Transportadora;
    FPerfil: Perfil;
    FStatus: Boolean;
    FPaginaAcessaveis: ArrayOfMenu;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdResponsavel: Integer read FIdResponsavel write FIdResponsavel;
    property IdCadastrador: Integer read FIdCadastrador write FIdCadastrador;
    property IdUsuarioAnteracao: Integer read FIdUsuarioAnteracao write FIdUsuarioAnteracao;
    property Nome: WideString read FNome write FNome;
    property Email: WideString read FEmail write FEmail;
    property Cpf: WideString read FCpf write FCpf;
    property Rg: WideString read FRg write FRg;
    property Login: WideString read FLogin write FLogin;
    property Senha: WideString read FSenha write FSenha;
    property SenhaSemCriptografia: WideString read FSenhaSemCriptografia write FSenhaSemCriptografia;
    property DataNascimento: TXSDateTime read FDataNascimento write FDataNascimento;
    property DataAlteracao: TXSDateTime read FDataAlteracao write FDataAlteracao;
    property DataCadastro: TXSDateTime read FDataCadastro write FDataCadastro;
    property Alcada: Alcada read FAlcada write FAlcada;
    property Transportadora: Transportadora read FTransportadora write FTransportadora;
    property Perfil: Perfil read FPerfil write FPerfil;
    property Status: Boolean read FStatus write FStatus;
    property PaginaAcessaveis: ArrayOfMenu read FPaginaAcessaveis write FPaginaAcessaveis;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Rota = class(TRemotable)
  private
    FId: Integer;
    FIdViagem: Integer;
    FQuantidadeViagem: Integer;
    FIdMercadoria: Integer;
    FDescricaoMercadoria: WideString;
    FPeso: TXSDecimal;
    FNome: WideString;
    FMapa: WideString;
    FDistancia: Double;
    FTotalCombustivelPrevisto: Double;
    FDescricao: WideString;
    FOrigem: Endereco;
    FDestino: Endereco;
    FParadas: ArrayOfParada;
    FResumo: ArrayOfResumoRota;
    FPedagios: ArrayOfPedagio;
    FCusto: CustoRota;
    FTipoPista: TipoRota;
    FTipoRota: Integer;
    FDetalhe: ArrayOfDetalheRota;
    FVeiculo: Veiculo;
    FRotaOtimizada: Boolean;
    FTransportadora: Transportadora;
    FUsuarioAlteracao: Usuario;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdViagem: Integer read FIdViagem write FIdViagem;
    property QuantidadeViagem: Integer read FQuantidadeViagem write FQuantidadeViagem;
    property IdMercadoria: Integer read FIdMercadoria write FIdMercadoria;
    property DescricaoMercadoria: WideString read FDescricaoMercadoria write FDescricaoMercadoria;
    property Peso: TXSDecimal read FPeso write FPeso;
    property Nome: WideString read FNome write FNome;
    property Mapa: WideString read FMapa write FMapa;
    property Distancia: Double read FDistancia write FDistancia;
    property TotalCombustivelPrevisto: Double read FTotalCombustivelPrevisto write FTotalCombustivelPrevisto;
    property Descricao: WideString read FDescricao write FDescricao;
    property Origem: Endereco read FOrigem write FOrigem;
    property Destino: Endereco read FDestino write FDestino;
    property Paradas: ArrayOfParada read FParadas write FParadas;
    property Resumo: ArrayOfResumoRota read FResumo write FResumo;
    property Pedagios: ArrayOfPedagio read FPedagios write FPedagios;
    property Custo: CustoRota read FCusto write FCusto;
    property TipoPista: TipoRota read FTipoPista write FTipoPista;
    property TipoRota: Integer read FTipoRota write FTipoRota;
    property Detalhe: ArrayOfDetalheRota read FDetalhe write FDetalhe;
    property Veiculo: Veiculo read FVeiculo write FVeiculo;
    property RotaOtimizada: Boolean read FRotaOtimizada write FRotaOtimizada;
    property Transportadora: Transportadora read FTransportadora write FTransportadora;
    property UsuarioAlteracao: Usuario read FUsuarioAlteracao write FUsuarioAlteracao;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Parada = class(TRemotable)
  private
    FId: Integer;
    FIdParadaRota: Integer;
    FIdRota: Integer;
    FIdRotaViagem: Integer;
    FEndereco: Endereco;
    FUsuarioAlteracao: Usuario;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdParadaRota: Integer read FIdParadaRota write FIdParadaRota;
    property IdRota: Integer read FIdRota write FIdRota;
    property IdRotaViagem: Integer read FIdRotaViagem write FIdRotaViagem;
    property Endereco: Endereco read FEndereco write FEndereco;
    property UsuarioAlteracao: Usuario read FUsuarioAlteracao write FUsuarioAlteracao;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Menu = class(TRemotable)
  private
    FId: Integer;
    FTitulo: WideString;
    FTarget: WideString;
    FUrl: WideString;
    FAtivo: Boolean;
    FOrdem: Integer;
    FPerfil: Perfil;
    FPai: Menu;
    FFilho: ArrayOfMenu;
    FExibir: Boolean;
    FChecked: Boolean;
    FPagina: WideString;
    FIconePainel: WideString;
    FTituloPainel: WideString;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property Titulo: WideString read FTitulo write FTitulo;
    property Target: WideString read FTarget write FTarget;
    property Url: WideString read FUrl write FUrl;
    property Ativo: Boolean read FAtivo write FAtivo;
    property Ordem: Integer read FOrdem write FOrdem;
    property Perfil: Perfil read FPerfil write FPerfil;
    property Pai: Menu read FPai write FPai;
    property Filho: ArrayOfMenu read FFilho write FFilho;
    property Exibir: Boolean read FExibir write FExibir;
    property Checked: Boolean read FChecked write FChecked;
    property Pagina: WideString read FPagina write FPagina;
    property IconePainel: WideString read FIconePainel write FIconePainel;
    property TituloPainel: WideString read FTituloPainel write FTituloPainel;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  ResumoRota = class(TRemotable)
  private
    FDistancia: Double;
    FDescricao: WideString;
    FTexto: WideString;
  published
    property Distancia: Double read FDistancia write FDistancia;
    property Descricao: WideString read FDescricao write FDescricao;
    property Texto: WideString read FTexto write FTexto;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Pedagio = class(TRemotable)
  private
    FNome: WideString;
    FEndereco: WideString;
    FDirecao: WideString;
    FConcessionaria: WideString;
    FTelefone: WideString;
    FEstado: WideString;
    FTaxa: Double;
    FTaxaPorEixo: Double;
  published
    property Nome: WideString read FNome write FNome;
    property Endereco: WideString read FEndereco write FEndereco;
    property Direcao: WideString read FDirecao write FDirecao;
    property Concessionaria: WideString read FConcessionaria write FConcessionaria;
    property Telefone: WideString read FTelefone write FTelefone;
    property Estado: WideString read FEstado write FEstado;
    property Taxa: Double read FTaxa write FTaxa;
    property TaxaPorEixo: Double read FTaxaPorEixo write FTaxaPorEixo;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  DetalheRota = class(TRemotable)
  private
    FComando: WideString;
    FDistanciaAcumulada: Double;
    FDescricao: WideString;
    FDistancia: Double;
    FTipoPista: WideString;
    FPedagio: Pedagio;
  public
    destructor Destroy; override;
  published
    property Comando: WideString read FComando write FComando;
    property DistanciaAcumulada: Double read FDistanciaAcumulada write FDistanciaAcumulada;
    property Descricao: WideString read FDescricao write FDescricao;
    property Distancia: Double read FDistancia write FDistancia;
    property TipoPista: WideString read FTipoPista write FTipoPista;
    property Pedagio: Pedagio read FPedagio write FPedagio;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Cartao2 = class(TRemotable)
  private
    FId: Integer;
    FIdTransportadora: Integer;
    FIdUsuario: Integer;
    FQtde: Integer;
    FQtdeNaoNominalPF: Integer;
    FQtdeNaoNominalPJ: Integer;
    FQtdeNominalPF: Integer;
    FQtdeNominalPJ: Integer;
    FQtdeValePedagio: Integer;
    FSexo: Integer;
    FIdUsuarioAlteracao: Integer;
    FIdCidade: Integer;
    FIdEstado: Integer;
    FNumeroLote: Integer;
    FNumeroLoteRetornoWs: Integer;
    FIdMotivoCancelamento: Integer;
    FQtdeVeiculo: Integer;
    FCodigoRetornoWs: Integer;
    FDependentes: Integer;
    FFormaSolicitacao: WideString;
    FCaminhoArquivo: WideString;
    FNomeCompleto: WideString;
    FTipoCartao: WideString;
    FStatus: WideString;
    FEmail: WideString;
    FNacionalidade: WideString;
    FCPF: WideString;
    FRG: WideString;
    FOrgaoEmissor: WideString;
    FCEP: WideString;
    FLogradouro: WideString;
    FNumero: WideString;
    FComplemento: WideString;
    FBairro: WideString;
    FTelefoneDDD: WideString;
    FTelefone: WideString;
    FTelefoneRamal: WideString;
    FNomeTransportadora: WideString;
    FDataCancelamento: WideString;
    FCNPJTransportadora: WideString;
    FDataInicial: WideString;
    FDataFinal: WideString;
    FTipoPessoa: WideString;
    FRazaoSocial: WideString;
    FNomeFantasia: WideString;
    FCNPJ: WideString;
    FTipoEmpresa: WideString;
    FRNTRC: WideString;
    FNumeroCartao: WideString;
    FNomeEmbossing: WideString;
    FEstado: WideString;
    FCidade: WideString;
    FRamal: WideString;
    FCodigoCancelamento: WideString;
    FCodigoProduto: WideString;
    FCodigoSubProduto: WideString;
    FUsuarioInclusao: WideString;
    FContadorCartao: WideString;
    FTransacaoCartao: WideString;
    FNumeroCartaoHexaCartao: WideString;
    FCartaoTitular: Boolean;
    FAtivo: Boolean;
    FValorTotal: TXSDecimal;
    FSaldoCartao: Double;
    FDataInicioRelatorio: TXSDateTime;
    FDataFimRelatorio: TXSDateTime;
    FDataNascimento: TXSDateTime;
    FDataInclusao: TXSDateTime;
    FEndereco: Endereco;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdTransportadora: Integer read FIdTransportadora write FIdTransportadora;
    property IdUsuario: Integer read FIdUsuario write FIdUsuario;
    property Qtde: Integer read FQtde write FQtde;
    property QtdeNaoNominalPF: Integer read FQtdeNaoNominalPF write FQtdeNaoNominalPF;
    property QtdeNaoNominalPJ: Integer read FQtdeNaoNominalPJ write FQtdeNaoNominalPJ;
    property QtdeNominalPF: Integer read FQtdeNominalPF write FQtdeNominalPF;
    property QtdeNominalPJ: Integer read FQtdeNominalPJ write FQtdeNominalPJ;
    property QtdeValePedagio: Integer read FQtdeValePedagio write FQtdeValePedagio;
    property Sexo: Integer read FSexo write FSexo;
    property IdUsuarioAlteracao: Integer read FIdUsuarioAlteracao write FIdUsuarioAlteracao;
    property IdCidade: Integer read FIdCidade write FIdCidade;
    property IdEstado: Integer read FIdEstado write FIdEstado;
    property NumeroLote: Integer read FNumeroLote write FNumeroLote;
    property NumeroLoteRetornoWs: Integer read FNumeroLoteRetornoWs write FNumeroLoteRetornoWs;
    property IdMotivoCancelamento: Integer read FIdMotivoCancelamento write FIdMotivoCancelamento;
    property QtdeVeiculo: Integer read FQtdeVeiculo write FQtdeVeiculo;
    property CodigoRetornoWs: Integer read FCodigoRetornoWs write FCodigoRetornoWs;
    property Dependentes: Integer read FDependentes write FDependentes;
    property FormaSolicitacao: WideString read FFormaSolicitacao write FFormaSolicitacao;
    property CaminhoArquivo: WideString read FCaminhoArquivo write FCaminhoArquivo;
    property NomeCompleto: WideString read FNomeCompleto write FNomeCompleto;
    property TipoCartao: WideString read FTipoCartao write FTipoCartao;
    property Status: WideString read FStatus write FStatus;
    property Email: WideString read FEmail write FEmail;
    property Nacionalidade: WideString read FNacionalidade write FNacionalidade;
    property CPF: WideString read FCPF write FCPF;
    property RG: WideString read FRG write FRG;
    property OrgaoEmissor: WideString read FOrgaoEmissor write FOrgaoEmissor;
    property CEP: WideString read FCEP write FCEP;
    property Logradouro: WideString read FLogradouro write FLogradouro;
    property Numero: WideString read FNumero write FNumero;
    property Complemento: WideString read FComplemento write FComplemento;
    property Bairro: WideString read FBairro write FBairro;
    property TelefoneDDD: WideString read FTelefoneDDD write FTelefoneDDD;
    property Telefone: WideString read FTelefone write FTelefone;
    property TelefoneRamal: WideString read FTelefoneRamal write FTelefoneRamal;
    property NomeTransportadora: WideString read FNomeTransportadora write FNomeTransportadora;
    property DataCancelamento: WideString read FDataCancelamento write FDataCancelamento;
    property CNPJTransportadora: WideString read FCNPJTransportadora write FCNPJTransportadora;
    property DataInicial: WideString read FDataInicial write FDataInicial;
    property DataFinal: WideString read FDataFinal write FDataFinal;
    property TipoPessoa: WideString read FTipoPessoa write FTipoPessoa;
    property RazaoSocial: WideString read FRazaoSocial write FRazaoSocial;
    property NomeFantasia: WideString read FNomeFantasia write FNomeFantasia;
    property CNPJ: WideString read FCNPJ write FCNPJ;
    property TipoEmpresa: WideString read FTipoEmpresa write FTipoEmpresa;
    property RNTRC: WideString read FRNTRC write FRNTRC;
    property NumeroCartao: WideString read FNumeroCartao write FNumeroCartao;
    property NomeEmbossing: WideString read FNomeEmbossing write FNomeEmbossing;
    property Estado: WideString read FEstado write FEstado;
    property Cidade: WideString read FCidade write FCidade;
    property Ramal: WideString read FRamal write FRamal;
    property CodigoCancelamento: WideString read FCodigoCancelamento write FCodigoCancelamento;
    property CodigoProduto: WideString read FCodigoProduto write FCodigoProduto;
    property CodigoSubProduto: WideString read FCodigoSubProduto write FCodigoSubProduto;
    property UsuarioInclusao: WideString read FUsuarioInclusao write FUsuarioInclusao;
    property ContadorCartao: WideString read FContadorCartao write FContadorCartao;
    property TransacaoCartao: WideString read FTransacaoCartao write FTransacaoCartao;
    property NumeroCartaoHexaCartao: WideString read FNumeroCartaoHexaCartao write FNumeroCartaoHexaCartao;
    property CartaoTitular: Boolean read FCartaoTitular write FCartaoTitular;
    property Ativo: Boolean read FAtivo write FAtivo;
    property ValorTotal: TXSDecimal read FValorTotal write FValorTotal;
    property SaldoCartao: Double read FSaldoCartao write FSaldoCartao;
    property DataInicioRelatorio: TXSDateTime read FDataInicioRelatorio write FDataInicioRelatorio;
    property DataFimRelatorio: TXSDateTime read FDataFimRelatorio write FDataFimRelatorio;
    property DataNascimento: TXSDateTime read FDataNascimento write FDataNascimento;
    property DataInclusao: TXSDateTime read FDataInclusao write FDataInclusao;
    property Endereco: Endereco read FEndereco write FEndereco;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  Pagamento = class(TRemotable)
  private
    FId: Integer;
    FIdCliente: WideString;
    FIdUsuario: Integer;
    FIdUsuarioResponsavel: Integer;
    FIdUsuarioAlteracao: Integer;
    FIdStatusPagamento: Integer;
    FIdParceiro: Integer;
    FCodTipoPagamento: Integer;
    FCodFormaPagamento: Integer;
    FNumeroViagem: WideString;
    FMotivo: WideString;
    FNomeUsuario: WideString;
    FNomeResponsavel: WideString;
    FNomeFavorecido: WideString;
    FCpfFavorecido: WideString;
    FNomeTransportadora: WideString;
    FBancoResponsavelDescricao: WideString;
    FBancoFavorecidoDescricao: WideString;
    FMensagemRetornoCartao: WideString;
    FCodigoCargaCartao: Int64;
    FCodigoTransacaoCartao: WideString;
    FNumeroAutorizacaoChip: WideString;
    FEnviado: Boolean;
    FValorFrete: TXSDecimal;
    FValorCombustivel: TXSDecimal;
    FValorPedagio: TXSDecimal;
    FDataVencimento: TXSDateTime;
    FDataInclusao: TXSDateTime;
    FDataInicial: TXSDateTime;
    FDataFinal: TXSDateTime;
    FTransportadora: Transportadora;
    FTac: Tac;
    FViagem: Viagem;
    FCartao: Cartao2;
    FTipoPagamento: TipoPagamento;
    FStatusPagamento: StatusPagamento;
    FFormaPagamento: FormaPagamento;
    FBancoResponsavel: Banco;
    FBancoFavorecido: Banco;
  public
    destructor Destroy; override;
  published
    property Id: Integer read FId write FId;
    property IdCliente: WideString read FIdCliente write FIdCliente;
    property IdUsuario: Integer read FIdUsuario write FIdUsuario;
    property IdUsuarioResponsavel: Integer read FIdUsuarioResponsavel write FIdUsuarioResponsavel;
    property IdUsuarioAlteracao: Integer read FIdUsuarioAlteracao write FIdUsuarioAlteracao;
    property IdStatusPagamento: Integer read FIdStatusPagamento write FIdStatusPagamento;
    property IdParceiro: Integer read FIdParceiro write FIdParceiro;
    property CodTipoPagamento: Integer read FCodTipoPagamento write FCodTipoPagamento;
    property CodFormaPagamento: Integer read FCodFormaPagamento write FCodFormaPagamento;
    property NumeroViagem: WideString read FNumeroViagem write FNumeroViagem;
    property Motivo: WideString read FMotivo write FMotivo;
    property NomeUsuario: WideString read FNomeUsuario write FNomeUsuario;
    property NomeResponsavel: WideString read FNomeResponsavel write FNomeResponsavel;
    property NomeFavorecido: WideString read FNomeFavorecido write FNomeFavorecido;
    property CpfFavorecido: WideString read FCpfFavorecido write FCpfFavorecido;
    property NomeTransportadora: WideString read FNomeTransportadora write FNomeTransportadora;
    property BancoResponsavelDescricao: WideString read FBancoResponsavelDescricao write FBancoResponsavelDescricao;
    property BancoFavorecidoDescricao: WideString read FBancoFavorecidoDescricao write FBancoFavorecidoDescricao;
    property MensagemRetornoCartao: WideString read FMensagemRetornoCartao write FMensagemRetornoCartao;
    property CodigoCargaCartao: Int64 read FCodigoCargaCartao write FCodigoCargaCartao;
    property CodigoTransacaoCartao: WideString read FCodigoTransacaoCartao write FCodigoTransacaoCartao;
    property NumeroAutorizacaoChip: WideString read FNumeroAutorizacaoChip write FNumeroAutorizacaoChip;
    property Enviado: Boolean read FEnviado write FEnviado;
    property ValorFrete: TXSDecimal read FValorFrete write FValorFrete;
    property ValorCombustivel: TXSDecimal read FValorCombustivel write FValorCombustivel;
    property ValorPedagio: TXSDecimal read FValorPedagio write FValorPedagio;
    property DataVencimento: TXSDateTime read FDataVencimento write FDataVencimento;
    property DataInclusao: TXSDateTime read FDataInclusao write FDataInclusao;
    property DataInicial: TXSDateTime read FDataInicial write FDataInicial;
    property DataFinal: TXSDateTime read FDataFinal write FDataFinal;
    property Transportadora: Transportadora read FTransportadora write FTransportadora;
    property Tac: Tac read FTac write FTac;
    property Viagem: Viagem read FViagem write FViagem;
    property Cartao: Cartao2 read FCartao write FCartao;
    property TipoPagamento: TipoPagamento read FTipoPagamento write FTipoPagamento;
    property StatusPagamento: StatusPagamento read FStatusPagamento write FStatusPagamento;
    property FormaPagamento: FormaPagamento read FFormaPagamento write FFormaPagamento;
    property BancoResponsavel: Banco read FBancoResponsavel write FBancoResponsavel;
    property BancoFavorecido: Banco read FBancoFavorecido write FBancoFavorecido;
  end;



  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // ************************************************************************ //
  TransportadorWs = class(TRemotable)
  private
    FCpfCnpjTransportador: WideString;
    FDataValidadeRNTRC: TXSDateTime;
    FEquiparadoTAC: Boolean;
    FNomeRazaoSocialTransportador: WideString;
    FRNTRCAtivo: Boolean;
    FRNTRCTransportador: WideString;
    FTipoTransportador: WideString;
    FSucesso: Boolean;
  public
    destructor Destroy; override;
  published
    property CpfCnpjTransportador: WideString read FCpfCnpjTransportador write FCpfCnpjTransportador;
    property DataValidadeRNTRC: TXSDateTime read FDataValidadeRNTRC write FDataValidadeRNTRC;
    property EquiparadoTAC: Boolean read FEquiparadoTAC write FEquiparadoTAC;
    property NomeRazaoSocialTransportador: WideString read FNomeRazaoSocialTransportador write FNomeRazaoSocialTransportador;
    property RNTRCAtivo: Boolean read FRNTRCAtivo write FRNTRCAtivo;
    property RNTRCTransportador: WideString read FRNTRCTransportador write FRNTRCTransportador;
    property TipoTransportador: WideString read FTipoTransportador write FTipoTransportador;
    property Sucesso: Boolean read FSucesso write FSucesso;
  end;


  // ************************************************************************ //
  // Namespace : http://tempuri.org/
  // soapAction: http://tempuri.org/%operationName%
  // transport : http://schemas.xmlsoap.org/soap/http
  // binding   : IntegracaoSoap
  // service   : Integracao
  // port      : IntegracaoSoap
  // URL       : http://www.apisulcard.com.br/webservice/tms/ciot/integracao.asmx
  // ************************************************************************ //
  IntegracaoSoap = interface(IInvokable)
  ['{AC3988E2-33B4-56CB-45C4-1596E9D44DD3}']
    function  DeclararOperacaoTransporte(const declararCiot: DeclararOperacaoTransporteIntegrada): DeclararOperacaoTransporteRetorno; stdcall;
    function  EncerrarOperacaoTransporte(const CodigoTransporadora: WideString; const NumeroCiot: WideString; const CnpjCpfContratado: WideString; const RntrcContratado: WideString; const CnpjCpfContratante: WideString; const PesoTotalViagem: TXSDecimal; const ValorFrete: TXSDecimal; const ValorCombustivel: TXSDecimal; const ValorPedagio: TXSDecimal; const ValorSestSenat: TXSDecimal;
                                         const ValorIrrf: TXSDecimal; const ValorInss: TXSDecimal; const ValorIcmsIssqn: TXSDecimal; const ValorImpostos: TXSDecimal; const Favorecido: FavorecidoWs; const Rotas: ArrayOfRotaWs): EncerrarOperacaoTransporteRetorno; stdcall;
    function  RetificarOperacaoTransporte(const CodigoTransporadora: WideString; const NumeroCiot: WideString; const DataInicio: TXSDateTime; const DataFim: TXSDateTime; const Veiculos: ArrayOfVeiculoWs; const ValorFrete: TXSDecimal; const ValorCombustivel: TXSDecimal; const ValorPedagio: TXSDecimal; const ValorSestSenat: TXSDecimal; const ValorIrrf: TXSDecimal;
                                          const ValorInss: TXSDecimal; const ValorIcmsIssqn: TXSDecimal; const ValorImpostos: TXSDecimal; const Favorecido: FavorecidoWs; const Rota: RotaWs): RetificarOperacaoTransporteRetorno; stdcall;
    function  CancelarOperacaoTransporte(const CodigoTransporadora: WideString; const NumeroCiot: WideString; const CnpjCpfContratado: WideString; const RntrcContratado: WideString; const CnpjCpfContratante: WideString; const MotivoCancelamento: WideString): CancelarOperacaoTransporteRetorno; stdcall;
    function  ConsultarPagamento(const consultarPagamento: ConsultarPagamentoWs): ArrayOfPagamentoWs; stdcall;
    function  ConsultarCiot(const numeroCiot: WideString; const codigoTransportadora: WideString): Ciot; stdcall;
    function  ConsultarTransportador(const codigoTransportadora: WideString; const cnpjTransportador: WideString; const rntrcTransportador: WideString): TransportadorWs; stdcall;
  end;

function GetIntegracaoSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): IntegracaoSoap;

implementation

function GetIntegracaoSoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): IntegracaoSoap;
const
  defSvc  = 'Integracao';
  defPrt  = 'IntegracaoSoap';
var
  defWSDL, defURL: string;
  RIO: THTTPRIO;
begin

  if LeBoolean('CartaFrete','AmbienteCartaFreteEmProducao', false) then
     begin
        defWSDL := 'http://www.apisulcard.com.br/webservice/tms/ciot/integracao.asmx?WSDL';
        defURL := 'http://www.apisulcard.com.br/webservice/tms/ciot/integracao.asmx';
     end
   else
     begin
        defWSDL := 'https://hml.apisulcard.com.br/webservice/tms/ciot/integracao.asmx?WSDL';
        defURL := 'https://hml.apisulcard.com.br/webservice/tms/ciot/integracao.asmx';
     end;

  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as IntegracaoSoap);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
      RIO.HTTPWebNode.UseUTF8InHeader := True;
    end else
      begin
         RIO.URL := Addr;
         RIO.HTTPWebNode.UseUTF8InHeader := True;
      end;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


destructor RotaWs.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FParadas)-1 do
    if Assigned(FParadas[I]) then
      FParadas[I].Free;
  SetLength(FParadas, 0);
  if Assigned(FPesoViagem) then
    FPesoViagem.Free;
  inherited Destroy;
end;

destructor ConsignatarioWs.Destroy;
begin
  if Assigned(FEndereco) then
    FEndereco.Free;
  inherited Destroy;
end;

destructor DestinatarioWs.Destroy;
begin
  if Assigned(FEndereco) then
    FEndereco.Free;
  inherited Destroy;
end;

destructor ViagemWs.Destroy;
begin
  if Assigned(FDataInicio) then
    FDataInicio.Free;
  if Assigned(FDataFim) then
    FDataFim.Free;
  if Assigned(FRota) then
    FRota.Free;
  if Assigned(FDestinatario) then
    FDestinatario.Free;
  if Assigned(FConsignatario) then
    FConsignatario.Free;
  if Assigned(FValorFrete) then
    FValorFrete.Free;
  if Assigned(FValorPedagio) then
    FValorPedagio.Free;
  if Assigned(FValorCombustivel) then
    FValorCombustivel.Free;
  if Assigned(FValorSestSenat) then
    FValorSestSenat.Free;
  if Assigned(FValorIrrf) then
    FValorIrrf.Free;
  if Assigned(FValorInss) then
    FValorInss.Free;
  if Assigned(FvalorIcmsIssqn) then
    FvalorIcmsIssqn.Free;
  if Assigned(FValorImpostos) then
    FValorImpostos.Free;
  inherited Destroy;
end;

destructor SubContratanteWs.Destroy;
begin
  if Assigned(FEndereco) then
    FEndereco.Free;
  inherited Destroy;
end;

destructor ContratanteWs.Destroy;
begin
  if Assigned(FEndereco) then
    FEndereco.Free;
  inherited Destroy;
end;

destructor DeclararOperacaoTransporteIntegrada.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FVeiculos)-1 do
    if Assigned(FVeiculos[I]) then
      FVeiculos[I].Free;
  SetLength(FVeiculos, 0);
  for I := 0 to Length(FPagamentos)-1 do
    if Assigned(FPagamentos[I]) then
      FPagamentos[I].Free;
  SetLength(FPagamentos, 0);
  if Assigned(FViagem) then
    FViagem.Free;
  if Assigned(FContratante) then
    FContratante.Free;
  if Assigned(FContratado) then
    FContratado.Free;
  if Assigned(FSubContratante) then
    FSubContratante.Free;
  if Assigned(FFavorecido) then
    FFavorecido.Free;
  inherited Destroy;
end;

destructor PagamentoWs.Destroy;
begin
  if Assigned(FValorCombustivel) then
    FValorCombustivel.Free;
  if Assigned(FValorFrete) then
    FValorFrete.Free;
  if Assigned(FValorPedagio) then
    FValorPedagio.Free;
  if Assigned(FDataVencimento) then
    FDataVencimento.Free;
  inherited Destroy;
end;

destructor DeclararOperacaoTransporteRetorno.Destroy;
begin
  if Assigned(FExcecao) then
    FExcecao.Free;
  inherited Destroy;
end;

destructor EncerrarOperacaoTransporteRetorno.Destroy;
begin
  if Assigned(FExcecao) then
    FExcecao.Free;
  if Assigned(FDataEncerramento) then
    FDataEncerramento.Free;
  inherited Destroy;
end;

destructor RetificarOperacaoTransporteRetorno.Destroy;
begin
  if Assigned(FExcecao) then
    FExcecao.Free;
  if Assigned(FDataRetificacao) then
    FDataRetificacao.Free;
  inherited Destroy;
end;

destructor CancelarOperacaoTransporteRetorno.Destroy;
begin
  if Assigned(FExcecao) then
    FExcecao.Free;
  if Assigned(FDataCancelamento) then
    FDataCancelamento.Free;
  inherited Destroy;
end;

destructor Tac.Destroy;
begin
  if Assigned(FValidadeRNTRC) then
    FValidadeRNTRC.Free;
  inherited Destroy;
end;

destructor Estado.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FCidades)-1 do
    if Assigned(FCidades[I]) then
      FCidades[I].Free;
  SetLength(FCidades, 0);
  inherited Destroy;
end;

destructor Cidade.Destroy;
begin
  if Assigned(FEstado) then
    FEstado.Free;
  inherited Destroy;
end;

destructor Endereco.Destroy;
begin
  if Assigned(FEstado) then
    FEstado.Free;
  if Assigned(FCidade) then
    FCidade.Free;
  inherited Destroy;
end;

destructor SubContratante.Destroy;
begin
  if Assigned(FEndereco) then
    FEndereco.Free;
  inherited Destroy;
end;

destructor Contratante.Destroy;
begin
  if Assigned(FValidadeRNTRC) then
    FValidadeRNTRC.Free;
  if Assigned(FEndereco) then
    FEndereco.Free;
  inherited Destroy;
end;

destructor Viagem.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FRotas)-1 do
    if Assigned(FRotas[I]) then
      FRotas[I].Free;
  SetLength(FRotas, 0);
  if Assigned(FPesoTotal) then
    FPesoTotal.Free;
  if Assigned(FDataInicio) then
    FDataInicio.Free;
  if Assigned(FDataFim) then
    FDataFim.Free;
  if Assigned(FDataInclusao) then
    FDataInclusao.Free;
  if Assigned(FDataInicioRelatorio) then
    FDataInicioRelatorio.Free;
  if Assigned(FDataFimRelatorio) then
    FDataFimRelatorio.Free;
  if Assigned(FDataAlteracao) then
    FDataAlteracao.Free;
  if Assigned(FDataEncerramento) then
    FDataEncerramento.Free;
  if Assigned(FDataCancelamento) then
    FDataCancelamento.Free;
  if Assigned(FDataPagamento) then
    FDataPagamento.Free;
  if Assigned(FValorFrete) then
    FValorFrete.Free;
  if Assigned(FValorPedagio) then
    FValorPedagio.Free;
  if Assigned(FValorCombustivel) then
    FValorCombustivel.Free;
  if Assigned(FValorSestSenat) then
    FValorSestSenat.Free;
  if Assigned(FValorIrrf) then
    FValorIrrf.Free;
  if Assigned(FValorInss) then
    FValorInss.Free;
  if Assigned(FvalorIcmsIssqn) then
    FvalorIcmsIssqn.Free;
  if Assigned(FValorImpostos) then
    FValorImpostos.Free;
  if Assigned(FDestinatario) then
    FDestinatario.Free;
  if Assigned(FConsignatario) then
    FConsignatario.Free;
  if Assigned(FFretePago) then
    FFretePago.Free;
  if Assigned(FCombustivelPago) then
    FCombustivelPago.Free;
  if Assigned(FPedagioPago) then
    FPedagioPago.Free;
  inherited Destroy;
end;

destructor Transportadora.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FBancos)-1 do
    if Assigned(FBancos[I]) then
      FBancos[I].Free;
  SetLength(FBancos, 0);
  for I := 0 to Length(FParceiros)-1 do
    if Assigned(FParceiros[I]) then
      FParceiros[I].Free;
  SetLength(FParceiros, 0);
  if Assigned(FContato) then
    FContato.Free;
  inherited Destroy;
end;

destructor Alcada.Destroy;
begin
  if Assigned(FLimiteOperacao) then
    FLimiteOperacao.Free;
  if Assigned(FLimiteDiario) then
    FLimiteDiario.Free;
  if Assigned(FTransportadora) then
    FTransportadora.Free;
  inherited Destroy;
end;

destructor Banco.Destroy;
begin
  if Assigned(FTransportadora) then
    FTransportadora.Free;
  if Assigned(FParceiro) then
    FParceiro.Free;
  inherited Destroy;
end;

destructor Favorecido.Destroy;
begin
  if Assigned(FBanco) then
    FBanco.Free;
  inherited Destroy;
end;

destructor Ciot.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FVeiculos)-1 do
    if Assigned(FVeiculos[I]) then
      FVeiculos[I].Free;
  SetLength(FVeiculos, 0);
  for I := 0 to Length(FPagamentos)-1 do
    if Assigned(FPagamentos[I]) then
      FPagamentos[I].Free;
  SetLength(FPagamentos, 0);
  if Assigned(FContratante) then
    FContratante.Free;
  if Assigned(FTac) then
    FTac.Free;
  if Assigned(FSubContratante) then
    FSubContratante.Free;
  if Assigned(FViagem) then
    FViagem.Free;
  if Assigned(FDataDeclaracao) then
    FDataDeclaracao.Free;
  if Assigned(FDataInicioRelatorio) then
    FDataInicioRelatorio.Free;
  if Assigned(FDataFimRelatorio) then
    FDataFimRelatorio.Free;
  if Assigned(FFavorecido) then
    FFavorecido.Free;
  if Assigned(FData) then
    FData.Free;
  inherited Destroy;
end;

destructor Perfil.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FFilhos)-1 do
    if Assigned(FFilhos[I]) then
      FFilhos[I].Free;
  SetLength(FFilhos, 0);
  for I := 0 to Length(FMenus)-1 do
    if Assigned(FMenus[I]) then
      FMenus[I].Free;
  SetLength(FMenus, 0);
  if Assigned(FTransportadora) then
    FTransportadora.Free;
  if Assigned(FPai) then
    FPai.Free;
  inherited Destroy;
end;

destructor Usuario.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FPaginaAcessaveis)-1 do
    if Assigned(FPaginaAcessaveis[I]) then
      FPaginaAcessaveis[I].Free;
  SetLength(FPaginaAcessaveis, 0);
  if Assigned(FDataNascimento) then
    FDataNascimento.Free;
  if Assigned(FDataAlteracao) then
    FDataAlteracao.Free;
  if Assigned(FDataCadastro) then
    FDataCadastro.Free;
  if Assigned(FAlcada) then
    FAlcada.Free;
  if Assigned(FTransportadora) then
    FTransportadora.Free;
  if Assigned(FPerfil) then
    FPerfil.Free;
  inherited Destroy;
end;

destructor Rota.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FParadas)-1 do
    if Assigned(FParadas[I]) then
      FParadas[I].Free;
  SetLength(FParadas, 0);
  for I := 0 to Length(FResumo)-1 do
    if Assigned(FResumo[I]) then
      FResumo[I].Free;
  SetLength(FResumo, 0);
  for I := 0 to Length(FPedagios)-1 do
    if Assigned(FPedagios[I]) then
      FPedagios[I].Free;
  SetLength(FPedagios, 0);
  for I := 0 to Length(FDetalhe)-1 do
    if Assigned(FDetalhe[I]) then
      FDetalhe[I].Free;
  SetLength(FDetalhe, 0);
  if Assigned(FPeso) then
    FPeso.Free;
  if Assigned(FOrigem) then
    FOrigem.Free;
  if Assigned(FDestino) then
    FDestino.Free;
  if Assigned(FCusto) then
    FCusto.Free;
  if Assigned(FTipoPista) then
    FTipoPista.Free;
  if Assigned(FVeiculo) then
    FVeiculo.Free;
  if Assigned(FTransportadora) then
    FTransportadora.Free;
  if Assigned(FUsuarioAlteracao) then
    FUsuarioAlteracao.Free;
  inherited Destroy;
end;

destructor Parada.Destroy;
begin
  if Assigned(FEndereco) then
    FEndereco.Free;
  if Assigned(FUsuarioAlteracao) then
    FUsuarioAlteracao.Free;
  inherited Destroy;
end;

destructor Menu.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(FFilho)-1 do
    if Assigned(FFilho[I]) then
      FFilho[I].Free;
  SetLength(FFilho, 0);
  if Assigned(FPerfil) then
    FPerfil.Free;
  if Assigned(FPai) then
    FPai.Free;
  inherited Destroy;
end;

destructor DetalheRota.Destroy;
begin
  if Assigned(FPedagio) then
    FPedagio.Free;
  inherited Destroy;
end;

destructor Cartao2.Destroy;
begin
  if Assigned(FValorTotal) then
    FValorTotal.Free;
  if Assigned(FDataInicioRelatorio) then
    FDataInicioRelatorio.Free;
  if Assigned(FDataFimRelatorio) then
    FDataFimRelatorio.Free;
  if Assigned(FDataNascimento) then
    FDataNascimento.Free;
  if Assigned(FDataInclusao) then
    FDataInclusao.Free;
  if Assigned(FEndereco) then
    FEndereco.Free;
  inherited Destroy;
end;

destructor Pagamento.Destroy;
begin
  if Assigned(FValorFrete) then
    FValorFrete.Free;
  if Assigned(FValorCombustivel) then
    FValorCombustivel.Free;
  if Assigned(FValorPedagio) then
    FValorPedagio.Free;
  if Assigned(FDataVencimento) then
    FDataVencimento.Free;
  if Assigned(FDataInclusao) then
    FDataInclusao.Free;
  if Assigned(FDataInicial) then
    FDataInicial.Free;
  if Assigned(FDataFinal) then
    FDataFinal.Free;
  if Assigned(FTransportadora) then
    FTransportadora.Free;
  if Assigned(FTac) then
    FTac.Free;
  if Assigned(FViagem) then
    FViagem.Free;
  if Assigned(FCartao) then
    FCartao.Free;
  if Assigned(FBancoResponsavel) then
    FBancoResponsavel.Free;
  if Assigned(FBancoFavorecido) then
    FBancoFavorecido.Free;
  inherited Destroy;
end;

destructor TransportadorWs.Destroy;
begin
  if Assigned(FDataValidadeRNTRC) then
    FDataValidadeRNTRC.Free;
  inherited Destroy;
end;

initialization
  InvRegistry.RegisterInterface(TypeInfo(IntegracaoSoap), 'http://tempuri.org/', 'utf-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(IntegracaoSoap), 'http://tempuri.org/%operationName%');
  InvRegistry.RegisterInvokeOptions(TypeInfo(IntegracaoSoap), ioDocument);
  InvRegistry.RegisterHeaderClass(TypeInfo(IntegracaoSoap), Autenticacao, 'Autenticacao', '');
  RemClassRegistry.RegisterXSInfo(TypeInfo(TipoConta), 'http://tempuri.org/', 'TipoConta');
  RemClassRegistry.RegisterXSInfo(TypeInfo(FormaPagamento), 'http://tempuri.org/', 'FormaPagamento');
  RemClassRegistry.RegisterXSInfo(TypeInfo(StatusPagamento), 'http://tempuri.org/', 'StatusPagamento');
  RemClassRegistry.RegisterXSInfo(TypeInfo(TipoTac), 'http://tempuri.org/', 'TipoTac');
  RemClassRegistry.RegisterXSInfo(TypeInfo(StatusViagem), 'http://tempuri.org/', 'StatusViagem');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(StatusViagem), 'Cancelado2', 'Cancelado');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(StatusViagem), 'Pendente2', 'Pendente');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Origem), 'http://tempuri.org/', 'Origem');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(Origem), 'Todos2', 'Todos');
  RemClassRegistry.RegisterXSInfo(TypeInfo(TipoPagamento), 'http://tempuri.org/', 'TipoPagamento');
  RemClassRegistry.RegisterXSClass(Autenticacao, 'http://tempuri.org/', 'Autenticacao');
  RemClassRegistry.RegisterXSClass(ContratadoWs, 'http://tempuri.org/', 'ContratadoWs');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfVeiculoWs), 'http://tempuri.org/', 'ArrayOfVeiculoWs');
  RemClassRegistry.RegisterXSClass(FavorecidoWs, 'http://tempuri.org/', 'FavorecidoWs');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPagamentoWs), 'http://tempuri.org/', 'ArrayOfPagamentoWs');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfParadaWs), 'http://tempuri.org/', 'ArrayOfParadaWs');
  RemClassRegistry.RegisterXSClass(RotaWs, 'http://tempuri.org/', 'RotaWs');
  RemClassRegistry.RegisterXSClass(ParadaWs, 'http://tempuri.org/', 'ParadaWs');
  RemClassRegistry.RegisterXSClass(EnderecoWs, 'http://tempuri.org/', 'EnderecoWs');
  RemClassRegistry.RegisterXSClass(ConsignatarioWs, 'http://tempuri.org/', 'ConsignatarioWs');
  RemClassRegistry.RegisterXSClass(DestinatarioWs, 'http://tempuri.org/', 'DestinatarioWs');
  RemClassRegistry.RegisterXSClass(ViagemWs, 'http://tempuri.org/', 'ViagemWs');
  RemClassRegistry.RegisterXSClass(SubContratanteWs, 'http://tempuri.org/', 'SubContratanteWs');
  RemClassRegistry.RegisterXSClass(ContratanteWs, 'http://tempuri.org/', 'ContratanteWs');
  RemClassRegistry.RegisterXSClass(DeclararOperacaoTransporteIntegrada, 'http://tempuri.org/', 'DeclararOperacaoTransporteIntegrada');
  RemClassRegistry.RegisterXSClass(VeiculoWs, 'http://tempuri.org/', 'VeiculoWs');
  RemClassRegistry.RegisterXSClass(PagamentoWs, 'http://tempuri.org/', 'PagamentoWs');
  RemClassRegistry.RegisterXSClass(Excecao, 'http://tempuri.org/', 'Excecao');
  RemClassRegistry.RegisterXSClass(DeclararOperacaoTransporteRetorno, 'http://tempuri.org/', 'DeclararOperacaoTransporteRetorno');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRotaWs), 'http://tempuri.org/', 'ArrayOfRotaWs');
  RemClassRegistry.RegisterXSClass(EncerrarOperacaoTransporteRetorno, 'http://tempuri.org/', 'EncerrarOperacaoTransporteRetorno');
  RemClassRegistry.RegisterXSClass(RetificarOperacaoTransporteRetorno, 'http://tempuri.org/', 'RetificarOperacaoTransporteRetorno');
  RemClassRegistry.RegisterXSClass(CancelarOperacaoTransporteRetorno, 'http://tempuri.org/', 'CancelarOperacaoTransporteRetorno');
  RemClassRegistry.RegisterXSClass(ConsultarPagamentoWs, 'http://tempuri.org/', 'ConsultarPagamentoWs');
  RemClassRegistry.RegisterXSClass(Tac, 'http://tempuri.org/', 'Tac');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfVeiculo), 'http://tempuri.org/', 'ArrayOfVeiculo');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPagamento), 'http://tempuri.org/', 'ArrayOfPagamento');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfCidade), 'http://tempuri.org/', 'ArrayOfCidade');
  RemClassRegistry.RegisterXSClass(Estado, 'http://tempuri.org/', 'Estado');
  RemClassRegistry.RegisterXSClass(Cidade, 'http://tempuri.org/', 'Cidade');
  RemClassRegistry.RegisterXSClass(Endereco, 'http://tempuri.org/', 'Endereco');
  RemClassRegistry.RegisterXSClass(SubContratante, 'http://tempuri.org/', 'SubContratante');
  RemClassRegistry.RegisterXSClass(Contratante, 'http://tempuri.org/', 'Contratante');
  RemClassRegistry.RegisterXSClass(Veiculo, 'http://tempuri.org/', 'Veiculo');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRota), 'http://tempuri.org/', 'ArrayOfRota');
  RemClassRegistry.RegisterXSClass(Viagem, 'http://tempuri.org/', 'Viagem');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfParada), 'http://tempuri.org/', 'ArrayOfParada');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfResumoRota), 'http://tempuri.org/', 'ArrayOfResumoRota');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPedagio), 'http://tempuri.org/', 'ArrayOfPedagio');
  RemClassRegistry.RegisterXSClass(CustoRota, 'http://tempuri.org/', 'CustoRota');
  RemClassRegistry.RegisterXSClass(TipoRota, 'http://tempuri.org/', 'TipoRota');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfDetalheRota), 'http://tempuri.org/', 'ArrayOfDetalheRota');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfMenu), 'http://tempuri.org/', 'ArrayOfMenu');
  RemClassRegistry.RegisterXSClass(Contato, 'http://tempuri.org/', 'Contato');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfBanco), 'http://tempuri.org/', 'ArrayOfBanco');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfParceiro), 'http://tempuri.org/', 'ArrayOfParceiro');
  RemClassRegistry.RegisterXSClass(Transportadora, 'http://tempuri.org/', 'Transportadora');
  RemClassRegistry.RegisterXSClass(Alcada, 'http://tempuri.org/', 'Alcada');
  RemClassRegistry.RegisterXSClass(Parceiro, 'http://tempuri.org/', 'Parceiro');
  RemClassRegistry.RegisterXSClass(Banco, 'http://tempuri.org/', 'Banco');
  RemClassRegistry.RegisterXSClass(Favorecido, 'http://tempuri.org/', 'Favorecido');
  RemClassRegistry.RegisterXSClass(Ciot, 'http://tempuri.org/', 'Ciot');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPerfil), 'http://tempuri.org/', 'ArrayOfPerfil');
  RemClassRegistry.RegisterXSClass(Perfil, 'http://tempuri.org/', 'Perfil');
  RemClassRegistry.RegisterXSClass(Usuario, 'http://tempuri.org/', 'Usuario');
  RemClassRegistry.RegisterXSClass(Rota, 'http://tempuri.org/', 'Rota');
  RemClassRegistry.RegisterXSClass(Parada, 'http://tempuri.org/', 'Parada');
  RemClassRegistry.RegisterXSClass(Menu, 'http://tempuri.org/', 'Menu');
  RemClassRegistry.RegisterXSClass(ResumoRota, 'http://tempuri.org/', 'ResumoRota');
  RemClassRegistry.RegisterXSClass(Pedagio, 'http://tempuri.org/', 'Pedagio');
  RemClassRegistry.RegisterXSClass(DetalheRota, 'http://tempuri.org/', 'DetalheRota');
  RemClassRegistry.RegisterXSClass(Cartao2, 'http://tempuri.org/', 'Cartao2', 'Cartao');
  RemClassRegistry.RegisterXSClass(Pagamento, 'http://tempuri.org/', 'Pagamento');
  RemClassRegistry.RegisterXSClass(TransportadorWs, 'http://tempuri.org/', 'TransportadorWs');
  RemClassRegistry.RegisterXSInfo(TypeInfo(Ciot), 'http://tempuri.org/', 'Ciot');
end.
Samarone Costa

Samarone Costa

Responder

Posts

10/03/2014

Samarone Costa

Pessoal, anexei a imagem errada... Me desculpem, a correta segue abaixo:

[img:descricao=Erro ao consumir ws]http://arquivo.devmedia.com.br/forum/imagem/362519-20140310-111023.png[/img]
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar