Codorna
-
Total de ítens
31 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Codorna
-
-
Nunca mechi em C#, mas a conexão eu faço assim
xsUrlSoap := copy(Config.URL,0, length(Config.URL) - 4);
xsUrlSoap := xsUrlSoap + 'soap';
FHTTPRIO := THTTPRIO.Create(nil);
FHTTPRIO.URL := xsUrlSoap;
FHTTPRIO.WSDLLocation := Config.URL;
FHTTPRIO.Service := 'WebService SigISS';
FHTTPRIO.Port := 'WebService SigISSPort';
if not (Config.Proxy = '') then
begin
FHTTPRIO.HTTPWebNode.Proxy := Config.Proxy+':'+Config.Port;
FHTTPRIO.HTTPWebNode.UserName := Config.UserName;
FHTTPRIO.HTTPWebNode.Password := Config.Password;
end;
sendo config.url = https://saogoncalo.sigiss.com.br/saogoncalo/ws/sigiss_ws.php?wsdl
-
no ACBR eu só adicionei essas propriedades, fica em pnfsNFSe.pas
Não da p/ te passar tudo pq eu mechi muito nele , eu uso certificados em banco de dados aqui , mais algumas outras dependencias.
TIdentificacaoPrestador = class(TPersistent)
private
FCnpj: string;
FInscricaoMunicipal: string;
FInscricaoEstadual : String;
FSenha: string;
FCcm : Integer;
FFraseSecreta: string;
FcUF: integer;
FAliquotaSimplesNacional : String;
published
property Cnpj: string read FCnpj write FCnpj;
property InscricaoMunicipal: string read FInscricaoMunicipal write FInscricaoMunicipal;
property InscricaoEstadual : string read FInscricaoEstadual write FInscricaoEstadual; //usado por SIGSIS
property Ccm : Integer read FCCm write FCcm; //usado por SIGSIS
property AliquotaSimplesNacional : String read FAliquotaSimplesNacional write FAliquotaSimplesNacional; //usado por SIGSIS
property Senha: string read FSenha write FSenha; //usado por SIGSIS
// As propriedades abaixo são Utilizadas pelo provedor ISSDigital
property FraseSecreta: string read FFraseSecreta write FFraseSecreta;
property cUF: integer read FcUF write FcUF;
end;
mas p/ integração mesmo é bem simples, é só preencher e enviar, nada de gerar xml nem nada
(...)
WS := (Self.FHTTPRIO) as WebService_SigISSPortType;
CoInitialize(nil);
try
WS.GerarNota(DadosPrestador,DescricaoRPS,FRetornoNota,FErros);
finally
CoUninitialize;
end;
Result := (FRetornoNota.Resultado = 1);
if not Result then
begin
msgErro := RetornaErros;
if Length(msgErro) > 0 then
Raise Exception.Create(msgErro);
end;
(...)
-
Sim, primeiro implementei geração, ae eu gerava aqui e cancelava pelo sistema deles , dpois implementei cancelamento.
no ACBr eu só adicionei as novas propriedades (ccm, senha, etc.) e usei uma classe separada para as funções da SIGSIS p/ não bagunçar
-
usei o webservice de produção com os dados do cliente , no sistema deles https://saogoncalo.sigiss.com.br/saogoncalo/contribuinte/login.php você pode ver o histórico de gerações / cancelamentos, etc.
-
Creio que integrar o modelo sigcorp no componente seria uma péssima idéia, o funcionamento não tem absolutamente nada a ver com o funcionamento do modelo asbraf com XMLs, ficaria um punhado de ifs que só atrapalharia o entendimento.
De qualquer forma a implementação dele é extremamente simples, criei umas classes próprias usando o componente apenas para ler os dados e em apenas 1 dia estava funcionando tudo certo
Nfse Bauru - Sigcorp
em ACBrNFSe
Postado · Editado por Codorna
é uma classe deles, no delphi esse endereço é importado pelo wsdl importer, que cria uma unit com as interfaces
// ************************************************************************ //
// 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.
// ************************************************************************ //
// !:int - "http://www.w3.org/2001/XMLSchema"
// !:string - "http://www.w3.org/2001/XMLSchema"
tcDescricaoRps = class; { "urn:sigiss_ws" }
tcRetornoNota = class; { "urn:sigiss_ws" }
tcEstruturaDescricaoErros = class; { "urn:sigiss_ws" }
tcDadosPrestador = class; { "urn:sigiss_ws" }
tcDescricaoCancelaNota = class; { "urn:sigiss_ws" }
tcDadosNota = class; { "urn:sigiss_ws" }
tcDadosConsultaNota = class; { "urn:sigiss_ws" }
// ************************************************************************ //
// Namespace : urn:sigiss_ws
// ************************************************************************ //
tcDadosPrestador = class(TRemotable)
private
Fccm: Integer;
Fcnpj: WideString;
Fsenha: WideString;
Fcrc: Integer;
Fcrc_estado: WideString;
Faliquota_simples: WideString;
published
property ccm: Integer read Fccm write Fccm;
property cnpj: WideString read Fcnpj write Fcnpj;
property senha: WideString read Fsenha write Fsenha;
property crc: Integer read Fcrc write Fcrc;
property crc_estado: WideString read Fcrc_estado write Fcrc_estado;
property aliquota_simples: WideString read Faliquota_simples write Faliquota_simples;
end;
Aqui uma pergunta no stack overflow perguntando como consumir WS no C#.
http://stackoverflow.com/questions/1302525/how-to-use-a-wsdl