Web Service TRemotable - enviando arquivo xml e recebendo outro arquivo xml

Delphi

04/07/2013

Olá Pessoal,

Seguinte preciso enviar um xml para um webservice e efetuar um parser no xml de retorno, já fiz isso no webservice dos correios para calculo do frete usando php, porem em delphi nunca fiz, segue abaixo um trecho do código que estava fazendo e a inteface que importei usando o delphi xe.



uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Soap.InvokeRegistry,
Soap.Rio, Soap.SOAPHTTPClient;

type
TForm1 = class(TForm)
Button1: TButton;
HTTPRIO1: THTTPRIO;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses SicaseServico1;


{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var testews:SicaseServico;
begin
testews.emitirGuia(entrada.xml); // o parametro tem que ser do tipo emitirGuiaRequest


end;

end.




-----

// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL : https://www.tjpe.jus.br/sicase/SicaseServico/SicaseServico?WSDL
// >Import : https://www.tjpe.jus.br/sicase/SicaseServico/SicaseServico?WSDL>0
// >Import : https://www.tjpe.jus.br:443/sicase/SicaseServico/SicaseServico?xsd=1
// >Import : https://www.tjpe.jus.br:443/sicase/SicaseServico/SicaseServico?xsd=4
// >Import : https://www.tjpe.jus.br:443/sicase/SicaseServico/SicaseServico?xsd=2
// >Import : https://www.tjpe.jus.br:443/sicase/SicaseServico/SicaseServico?xsd=3
// Encoding : UTF-8
// Version : 1.0
// (04/07/2013 09:55:17 - - $Rev: 45757 $)
// ************************************************************************ //

unit SicaseServico1;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

const
IS_OPTN = $0001;
IS_UNBD = $0002;
IS_UNQL = $0008;


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 Embarcadero types; however, they could also
// indicate incorrect WSDL documents that failed to declare or import a schema type.
// ************************************************************************ //
// !:decimal - "http://www.w3.org/2001/XMLSchema"[Gbl]
// !:int - "http://www.w3.org/2001/XMLSchema"[Gbl]
// !:string - "http://www.w3.org/2001/XMLSchema"[Gbl]
// !:dateTime - "http://www.w3.org/2001/XMLSchema"[Gbl]

tcEmitirGuiaResponse = class; { "http://sicase.tjpe.jus.br/v01/tiposMensagens"[Lit][GblCplx] }
emitirGuiaResponse = class; { "http://sicase.tjpe.jus.br/v01/SicaseServico"[Lit][GblElm] }
tcEmitirGuiaRequest = class; { "http://sicase.tjpe.jus.br/v01/tiposMensagens"[Lit][GblCplx] }
emitirGuiaRequest = class; { "http://sicase.tjpe.jus.br/v01/SicaseServico"[Lit][GblElm] }
tcGuia = class; { "http://sicase.tjpe.jus.br/v01/tiposComplexos"[GblCplx] }
tcErro = class; { "http://sicase.tjpe.jus.br/v01/tiposComplexos"[GblCplx] }
tcParametros = class; { "http://sicase.tjpe.jus.br/v01/tiposComplexos"[GblCplx] }
tcFichaCompensacao = class; { "http://sicase.tjpe.jus.br/v01/tiposComplexos"[GblCplx] }

{$SCOPEDENUMS ON}
{ "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsTipoErro = (ErroSistema, ErroNegocio, ErroNaoCategorizado);

{$SCOPEDENUMS OFF}



// ************************************************************************ //
// XML : tcEmitirGuiaResponse, global, <complexType>
// Namespace : http://sicase.tjpe.jus.br/v01/tiposMensagens
// Serializtn: [xoLiteralParam]
// Info : Wrapper
// ************************************************************************ //
tcEmitirGuiaResponse = class(TRemotable)
private
FfichaCompensacao: tcFichaCompensacao;
public
constructor Create; override;
destructor Destroy; override;
published
property fichaCompensacao: tcFichaCompensacao Index (IS_UNQL) read FfichaCompensacao write FfichaCompensacao;
end;



// ************************************************************************ //
// XML : emitirGuiaResponse, global, <element>
// Namespace : http://sicase.tjpe.jus.br/v01/SicaseServico
// Info : Wrapper
// ************************************************************************ //
emitirGuiaResponse = class(tcEmitirGuiaResponse)
private
published
end;



// ************************************************************************ //
// XML : tcEmitirGuiaRequest, global, <complexType>
// Namespace : http://sicase.tjpe.jus.br/v01/tiposMensagens
// Serializtn: [xoLiteralParam]
// Info : Wrapper
// ************************************************************************ //
tcEmitirGuiaRequest = class(TRemotable)
private
Fguia: tcGuia;
public
constructor Create; override;
destructor Destroy; override;
published
property guia: tcGuia Index (IS_UNQL) read Fguia write Fguia;
end;



// ************************************************************************ //
// XML : emitirGuiaRequest, global, <element>
// Namespace : http://sicase.tjpe.jus.br/v01/SicaseServico
// Info : Wrapper
// ************************************************************************ //
emitirGuiaRequest = class(tcEmitirGuiaRequest)
private
published
end;

tcServiceFault = array of tcErro; { "http://sicase.tjpe.jus.br/v01/tiposComplexos"[GblCplx] }
ServiceFault = type tcServiceFault; { "http://sicase.tjpe.jus.br/v01/SicaseServico"[Flt][GblElm] }
tsCodigoBaseLegal = type Integer; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsCodigoAto = type Integer; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsQuantidadeAto = type Integer; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsQuantidadeUnidade = type Integer; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }


// ************************************************************************ //
// XML : tcGuia, global, <complexType>
// Namespace : http://sicase.tjpe.jus.br/v01/tiposComplexos
// ************************************************************************ //
tcGuia = class(TRemotable)
private
FcodigoAto: tsCodigoAto;
Fparametros: tcParametros;
public
destructor Destroy; override;
published
property codigoAto: tsCodigoAto Index (IS_UNQL) read FcodigoAto write FcodigoAto;
property parametros: tcParametros Index (IS_UNQL) read Fparametros write Fparametros;
end;

tsCarteira = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsCedente = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }


// ************************************************************************ //
// XML : tcErro, global, <complexType>
// Namespace : http://sicase.tjpe.jus.br/v01/tiposComplexos
// ************************************************************************ //
tcErro = class(TRemotable)
private
FtipoErro: tsTipoErro;
Fmensagem: string;
published
property tipoErro: tsTipoErro Index (IS_UNQL) read FtipoErro write FtipoErro;
property mensagem: string Index (IS_UNQL) read Fmensagem write Fmensagem;
end;

tsNumeroRetorno = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsNumeroDocumento = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsSacado = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsSolicitante = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsAgenciaConta = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsBanco = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsAceite = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsInstrucoes = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsEspecieDocumento = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsMoeda = class(TXSDecimal) end; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }


// ************************************************************************ //
// XML : tcParametros, global, <complexType>
// Namespace : http://sicase.tjpe.jus.br/v01/tiposComplexos
// ************************************************************************ //
tcParametros = class(TRemotable)
private
FquantidadeUnidade: tsQuantidadeUnidade;
FquantidadeUnidade_Specified: boolean;
FquantidadeAtos: tsQuantidadeAto;
FquantidadeAtos_Specified: boolean;
Fsolicitante: tsSolicitante;
Fsolicitante_Specified: boolean;
FvalorFiscal: tsMoeda;
FvalorFiscal_Specified: boolean;
FvalorDeclarado: tsMoeda;
FvalorDeclarado_Specified: boolean;
FcodigoBaseLegal: tsCodigoBaseLegal;
FcodigoBaseLegal_Specified: boolean;
procedure SetquantidadeUnidade(Index: Integer; const AtsQuantidadeUnidade: tsQuantidadeUnidade);
function quantidadeUnidade_Specified(Index: Integer): boolean;
procedure SetquantidadeAtos(Index: Integer; const AtsQuantidadeAto: tsQuantidadeAto);
function quantidadeAtos_Specified(Index: Integer): boolean;
procedure Setsolicitante(Index: Integer; const AtsSolicitante: tsSolicitante);
function solicitante_Specified(Index: Integer): boolean;
procedure SetvalorFiscal(Index: Integer; const AtsMoeda: tsMoeda);
function valorFiscal_Specified(Index: Integer): boolean;
procedure SetvalorDeclarado(Index: Integer; const AtsMoeda: tsMoeda);
function valorDeclarado_Specified(Index: Integer): boolean;
procedure SetcodigoBaseLegal(Index: Integer; const AtsCodigoBaseLegal: tsCodigoBaseLegal);
function codigoBaseLegal_Specified(Index: Integer): boolean;
public
destructor Destroy; override;
published
property quantidadeUnidade: tsQuantidadeUnidade Index (IS_OPTN or IS_UNQL) read FquantidadeUnidade write SetquantidadeUnidade stored quantidadeUnidade_Specified;
property quantidadeAtos: tsQuantidadeAto Index (IS_OPTN or IS_UNQL) read FquantidadeAtos write SetquantidadeAtos stored quantidadeAtos_Specified;
property solicitante: tsSolicitante Index (IS_OPTN or IS_UNQL) read Fsolicitante write Setsolicitante stored solicitante_Specified;
property valorFiscal: tsMoeda Index (IS_OPTN or IS_UNQL) read FvalorFiscal write SetvalorFiscal stored valorFiscal_Specified;
property valorDeclarado: tsMoeda Index (IS_OPTN or IS_UNQL) read FvalorDeclarado write SetvalorDeclarado stored valorDeclarado_Specified;
property codigoBaseLegal: tsCodigoBaseLegal Index (IS_OPTN or IS_UNQL) read FcodigoBaseLegal write SetcodigoBaseLegal stored codigoBaseLegal_Specified;
end;

tsLocalPagamento = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsEspecie = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsCodigoDeBarras = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsDescricaoAto = type string; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }
tsData = class(TXSDateTime) end; { "http://sicase.tjpe.jus.br/v01/tiposSimples"[GblSmpl] }


// ************************************************************************ //
// XML : tcFichaCompensacao, global, <complexType>
// Namespace : http://sicase.tjpe.jus.br/v01/tiposComplexos
// ************************************************************************ //
tcFichaCompensacao = class(TRemotable)
private
Fbanco: tsBanco;
FcodigoDeBarras: tsCodigoDeBarras;
FlocalPagamento: tsLocalPagamento;
FdataVencimento: tsData;
Fcedente: tsCedente;
FagenciaContaCedente: tsAgenciaConta;
FdataDocumento: tsData;
FnumeroDocumento: tsNumeroDocumento;
FespecieDocumento: tsEspecieDocumento;
Faceite: tsAceite;
FdataProcessamento: tsData;
FnumeroRetorno: tsNumeroRetorno;
Fcarteira: tsCarteira;
Fespecie: tsEspecie;
FvalorDocumento: tsMoeda;
Finstrucoes: tsInstrucoes;
FquantidadeAto: tsQuantidadeAto;
FdescricaoAto: tsDescricaoAto;
Femolumento: tsMoeda;
Ftsnr: tsMoeda;
Fferc: tsMoeda;
FtotalAto: tsMoeda;
FtotalEmolumento: tsMoeda;
FtotalTsnr: tsMoeda;
FtotalFerc: tsMoeda;
Ftotal: tsMoeda;
FtarifaBanco: tsMoeda;
FvalorCobrado: tsMoeda;
Fsacado: tsSacado;
public
destructor Destroy; override;
published
property banco: tsBanco Index (IS_UNQL) read Fbanco write Fbanco;
property codigoDeBarras: tsCodigoDeBarras Index (IS_UNQL) read FcodigoDeBarras write FcodigoDeBarras;
property localPagamento: tsLocalPagamento Index (IS_UNQL) read FlocalPagamento write FlocalPagamento;
property dataVencimento: tsData Index (IS_UNQL) read FdataVencimento write FdataVencimento;
property cedente: tsCedente Index (IS_UNQL) read Fcedente write Fcedente;
property agenciaContaCedente: tsAgenciaConta Index (IS_UNQL) read FagenciaContaCedente write FagenciaContaCedente;
property dataDocumento: tsData Index (IS_UNQL) read FdataDocumento write FdataDocumento;
property numeroDocumento: tsNumeroDocumento Index (IS_UNQL) read FnumeroDocumento write FnumeroDocumento;
property especieDocumento: tsEspecieDocumento Index (IS_UNQL) read FespecieDocumento write FespecieDocumento;
property aceite: tsAceite Index (IS_UNQL) read Faceite write Faceite;
property dataProcessamento: tsData Index (IS_UNQL) read FdataProcessamento write FdataProcessamento;
property numeroRetorno: tsNumeroRetorno Index (IS_UNQL) read FnumeroRetorno write FnumeroRetorno;
property carteira: tsCarteira Index (IS_UNQL) read Fcarteira write Fcarteira;
property especie: tsEspecie Index (IS_UNQL) read Fespecie write Fespecie;
property valorDocumento: tsMoeda Index (IS_UNQL) read FvalorDocumento write FvalorDocumento;
property instrucoes: tsInstrucoes Index (IS_UNQL) read Finstrucoes write Finstrucoes;
property quantidadeAto: tsQuantidadeAto Index (IS_UNQL) read FquantidadeAto write FquantidadeAto;
property descricaoAto: tsDescricaoAto Index (IS_UNQL) read FdescricaoAto write FdescricaoAto;
property emolumento: tsMoeda Index (IS_UNQL) read Femolumento write Femolumento;
property tsnr: tsMoeda Index (IS_UNQL) read Ftsnr write Ftsnr;
property ferc: tsMoeda Index (IS_UNQL) read Fferc write Fferc;
property totalAto: tsMoeda Index (IS_UNQL) read FtotalAto write FtotalAto;
property totalEmolumento: tsMoeda Index (IS_UNQL) read FtotalEmolumento write FtotalEmolumento;
property totalTsnr: tsMoeda Index (IS_UNQL) read FtotalTsnr write FtotalTsnr;
property totalFerc: tsMoeda Index (IS_UNQL) read FtotalFerc write FtotalFerc;
property total: tsMoeda Index (IS_UNQL) read Ftotal write Ftotal;
property tarifaBanco: tsMoeda Index (IS_UNQL) read FtarifaBanco write FtarifaBanco;
property valorCobrado: tsMoeda Index (IS_UNQL) read FvalorCobrado write FvalorCobrado;
property sacado: tsSacado Index (IS_UNQL) read Fsacado write Fsacado;
end;


// ************************************************************************ //
// Namespace : http://sicase.tjpe.jus.br/v01/SicaseServico
// transport : http://schemas.xmlsoap.org/soap/http
// style : document
// use : literal
// binding : SicaseServicoSOAPBinding
// service : SicaseServico
// port : SicaseServicoPort
// URL : https://www.tjpe.jus.br:443/sicase/SicaseServico/SicaseServico
// ************************************************************************ //
SicaseServico = interface(IInvokable)
['{88F37988-6342-F1ED-D8F1-119C25D0B4C2}']

// Cannot unwrap:
// - Input element wrapper name does not match operation's name
function emitirGuia(const parameters: emitirGuiaRequest): emitirGuiaResponse; stdcall;
end;

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


implementation
uses SysUtils;

function GetSicaseServico(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): SicaseServico;
const
defWSDL = 'https://www.tjpe.jus.br/sicase/SicaseServico/SicaseServico?WSDL';
defURL = 'https://www.tjpe.jus.br:443/sicase/SicaseServico/SicaseServico';
defSvc = 'SicaseServico';
defPrt = 'SicaseServicoPort';
var
RIO: THTTPRIO;
begin
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 SicaseServico);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;


constructor tcEmitirGuiaResponse.Create;
begin
inherited Create;
FSerializationOptions := [xoLiteralParam];
end;

destructor tcEmitirGuiaResponse.Destroy;
begin
SysUtils.FreeAndNil(FfichaCompensacao);
inherited Destroy;
end;

constructor tcEmitirGuiaRequest.Create;
begin
inherited Create;
FSerializationOptions := [xoLiteralParam];
end;

destructor tcEmitirGuiaRequest.Destroy;
begin
SysUtils.FreeAndNil(Fguia);
inherited Destroy;
end;

destructor tcGuia.Destroy;
begin
SysUtils.FreeAndNil(Fparametros);
inherited Destroy;
end;

destructor tcParametros.Destroy;
begin
SysUtils.FreeAndNil(FvalorFiscal);
SysUtils.FreeAndNil(FvalorDeclarado);
inherited Destroy;
end;

procedure tcParametros.SetquantidadeUnidade(Index: Integer; const AtsQuantidadeUnidade: tsQuantidadeUnidade);
begin
FquantidadeUnidade := AtsQuantidadeUnidade;
FquantidadeUnidade_Specified := True;
end;

function tcParametros.quantidadeUnidade_Specified(Index: Integer): boolean;
begin
Result := FquantidadeUnidade_Specified;
end;

procedure tcParametros.SetquantidadeAtos(Index: Integer; const AtsQuantidadeAto: tsQuantidadeAto);
begin
FquantidadeAtos := AtsQuantidadeAto;
FquantidadeAtos_Specified := True;
end;

function tcParametros.quantidadeAtos_Specified(Index: Integer): boolean;
begin
Result := FquantidadeAtos_Specified;
end;

procedure tcParametros.Setsolicitante(Index: Integer; const AtsSolicitante: tsSolicitante);
begin
Fsolicitante := AtsSolicitante;
Fsolicitante_Specified := True;
end;

function tcParametros.solicitante_Specified(Index: Integer): boolean;
begin
Result := Fsolicitante_Specified;
end;

procedure tcParametros.SetvalorFiscal(Index: Integer; const AtsMoeda: tsMoeda);
begin
FvalorFiscal := AtsMoeda;
FvalorFiscal_Specified := True;
end;

function tcParametros.valorFiscal_Specified(Index: Integer): boolean;
begin
Result := FvalorFiscal_Specified;
end;

procedure tcParametros.SetvalorDeclarado(Index: Integer; const AtsMoeda: tsMoeda);
begin
FvalorDeclarado := AtsMoeda;
FvalorDeclarado_Specified := True;
end;

function tcParametros.valorDeclarado_Specified(Index: Integer): boolean;
begin
Result := FvalorDeclarado_Specified;
end;

procedure tcParametros.SetcodigoBaseLegal(Index: Integer; const AtsCodigoBaseLegal: tsCodigoBaseLegal);
begin
FcodigoBaseLegal := AtsCodigoBaseLegal;
FcodigoBaseLegal_Specified := True;
end;

function tcParametros.codigoBaseLegal_Specified(Index: Integer): boolean;
begin
Result := FcodigoBaseLegal_Specified;
end;

destructor tcFichaCompensacao.Destroy;
begin
SysUtils.FreeAndNil(FdataVencimento);
SysUtils.FreeAndNil(FdataDocumento);
SysUtils.FreeAndNil(FdataProcessamento);
SysUtils.FreeAndNil(FvalorDocumento);
SysUtils.FreeAndNil(Femolumento);
SysUtils.FreeAndNil(Ftsnr);
SysUtils.FreeAndNil(Fferc);
SysUtils.FreeAndNil(FtotalAto);
SysUtils.FreeAndNil(FtotalEmolumento);
SysUtils.FreeAndNil(FtotalTsnr);
SysUtils.FreeAndNil(FtotalFerc);
SysUtils.FreeAndNil(Ftotal);
SysUtils.FreeAndNil(FtarifaBanco);
SysUtils.FreeAndNil(FvalorCobrado);
inherited Destroy;
end;

initialization
{ SicaseServico }
InvRegistry.RegisterInterface(TypeInfo(SicaseServico), 'http://sicase.tjpe.jus.br/v01/SicaseServico', 'UTF-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(SicaseServico), '');
InvRegistry.RegisterInvokeOptions(TypeInfo(SicaseServico), ioDocument);
InvRegistry.RegisterInvokeOptions(TypeInfo(SicaseServico), ioLiteral);
RemClassRegistry.RegisterXSInfo(TypeInfo(tsTipoErro), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsTipoErro');
RemClassRegistry.RegisterXSClass(tcEmitirGuiaResponse, 'http://sicase.tjpe.jus.br/v01/tiposMensagens', 'tcEmitirGuiaResponse');
RemClassRegistry.RegisterSerializeOptions(tcEmitirGuiaResponse, [xoLiteralParam]);
RemClassRegistry.RegisterXSClass(emitirGuiaResponse, 'http://sicase.tjpe.jus.br/v01/SicaseServico', 'emitirGuiaResponse');
RemClassRegistry.RegisterXSClass(tcEmitirGuiaRequest, 'http://sicase.tjpe.jus.br/v01/tiposMensagens', 'tcEmitirGuiaRequest');
RemClassRegistry.RegisterSerializeOptions(tcEmitirGuiaRequest, [xoLiteralParam]);
RemClassRegistry.RegisterXSClass(emitirGuiaRequest, 'http://sicase.tjpe.jus.br/v01/SicaseServico', 'emitirGuiaRequest');
RemClassRegistry.RegisterXSInfo(TypeInfo(tcServiceFault), 'http://sicase.tjpe.jus.br/v01/tiposComplexos', 'tcServiceFault');
RemClassRegistry.RegisterXSInfo(TypeInfo(ServiceFault), 'http://sicase.tjpe.jus.br/v01/SicaseServico', 'ServiceFault');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsCodigoBaseLegal), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsCodigoBaseLegal');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsCodigoAto), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsCodigoAto');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsQuantidadeAto), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsQuantidadeAto');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsQuantidadeUnidade), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsQuantidadeUnidade');
RemClassRegistry.RegisterXSClass(tcGuia, 'http://sicase.tjpe.jus.br/v01/tiposComplexos', 'tcGuia');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsCarteira), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsCarteira');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsCedente), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsCedente');
RemClassRegistry.RegisterXSClass(tcErro, 'http://sicase.tjpe.jus.br/v01/tiposComplexos', 'tcErro');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsNumeroRetorno), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsNumeroRetorno');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsNumeroDocumento), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsNumeroDocumento');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsSacado), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsSacado');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsSolicitante), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsSolicitante');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsAgenciaConta), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsAgenciaConta');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsBanco), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsBanco');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsAceite), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsAceite');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsInstrucoes), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsInstrucoes');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsEspecieDocumento), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsEspecieDocumento');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsMoeda), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsMoeda');
RemClassRegistry.RegisterXSClass(tcParametros, 'http://sicase.tjpe.jus.br/v01/tiposComplexos', 'tcParametros');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsLocalPagamento), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsLocalPagamento');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsEspecie), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsEspecie');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsCodigoDeBarras), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsCodigoDeBarras');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsDescricaoAto), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsDescricaoAto');
RemClassRegistry.RegisterXSInfo(TypeInfo(tsData), 'http://sicase.tjpe.jus.br/v01/tiposSimples', 'tsData');
RemClassRegistry.RegisterXSClass(tcFichaCompensacao, 'http://sicase.tjpe.jus.br/v01/tiposComplexos', 'tcFichaCompensacao');

end.
Clovis Holanda

Clovis Holanda

Curtidas 0

Respostas

Marcos Souza

Marcos Souza

04/07/2013

Boa tarde Clovis,

Voce teria a documentação completa do webservice do SICASE? Estou tentando obter com o TJPE mas o pessoal esta enrolado, so estao me passando a especificação do webservices apenas com alguns detalhes dos tipos de dados.

Se for possivel por me enviar o material por email, pra msfilho@gmail.com ?

Obrigado
GOSTEI 0
Marckvaldo Andrade

Marckvaldo Andrade

04/07/2013

Boa Tarde Marcos de Souza!

Você teria a documentação completa do SICASE se for possível enviar por email marckvaldo@hotmail.com?

desde já eu agradeço.
GOSTEI 0
Neocart Tecnologia

Neocart Tecnologia

04/07/2013

Bom dia,

Alguem conseguiu resolver esse problema de enviar um xml transformando em um tipo emitirGuiaRequest?
GOSTEI 0
Rafael Valverde

Rafael Valverde

04/07/2013

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Soap.InvokeRegistry,
Soap.Rio, Soap.SOAPHTTPClient, SicaseServico1;

type
TForm1 = class(TForm)
Button1: TButton;
HTTPRIO1: THTTPRIO;
mmRequest: TMemo;
mmResponse: TMemo;
procedure Button1Click(Sender: TObject);
procedure HTTPRIO1AfterExecute(const MethodName: string;
SOAPResponse: TStream);
procedure HTTPRIO1BeforeExecute(const MethodName: string;
SOAPRequest: TStream);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
testews: SicaseServico;
emitirGuia: tcEmitirGuiaRequest ;
begin
emitirGuia := tcEmitirGuiaRequest.Create;
testews := GetSicaseServico( false, EmptyStr, HTTPRIO1 );

//Passar parâmetros aqui antes de enviar emitirGuia

testews.emitirGuia( emitirGuia ); // o parametro tem que ser do tipo emitirGuiaRequest
end;

procedure TForm1.HTTPRIO1AfterExecute(const MethodName: string;
SOAPResponse: TStream);
begin
SOAPResponse.Position := 0;
mmResponse.Lines.LoadFromStream( SOAPResponse );
SOAPResponse.Position := 0;
end;

procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: string;
SOAPRequest: TStream);
begin
SOAPRequest.Position := 0;
mmRequest.Lines.LoadFromStream( SOAPRequest );
SOAPRequest.Position := 0;
end;

end.
GOSTEI 0
POSTAR