Ir para conteúdo
  • Cadastre-se

dev botao

Nfse Bauru - Sigcorp


fppp09
  • Este tópico foi criado há 2520 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Também no aguardo.

Hoje estará liberado para começar os testes.

 

Estava vendo que a Sigcorp (SIGISS) está em mais 4 cidades que devem ser o mesmo layout:

- Marilia

- Botucatu

- Londrina

- Cerqueira Cesar

 

Abraços

Editado por menezesbr
Link para o comentário
Compartilhar em outros sites

Prezados,

 

  Complemento essas informações, uma vez que entramos em contato com a empresa fornecedora da solução (SIGCORP) e foi dito que para a prefeitura de Bauru/SP somente a integração poderá ser feita via webservices, não havendo outra forma (TXT por exemplo).

  Porém, percebe-se que o padrão de XML e de webservices oferecido pela empresa não corresponde ao padrão ABRASF, o que inviabiliza atualmente a utilização do ABCRNFSe.

  Qual seria nossa alternativa? Começar um novo padrão partindo do zero? 

  E os prazos a serem cumpridos?

 

  Quaisquer informações adicionais ficarei grato.

Att.

Michel.

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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;

(...)

 

 

Link para o comentário
Compartilhar em outros sites

entendi,

 

entao... desenvolvo em C# . net e ja uso o monitor, tava pensando em adaptar o monitor pra fazer NFSe, mas ai nem vai virar ne?

 

 

Comecei a desenvolver em C# mas tenho uma duvida;

todos os exemplos que eu achei na net dao um endereco http para soapAction e tbm xmlns

porem la no site que demonstra os metodos fala que eh pra usar um tal de urn:sigiss_ws

e nos metodos urn:sigiss_ws#METODO  o que seria esse urn ??? é só colocar isso no lugar http://etcetcetc ??

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

ali onde tem:

 

 WS.GerarNota(DadosPrestador,DescricaoRPS,FRetornoNota,FErros);

 

o DadosPrestador é um XML, correto?

tem como vc me passar um exemplo de estrutura final do XML soh pra eu entender melhor como fica?

 

o que eu tava falando da urn vc pode ver aqui:

https://saogoncalo.sigiss.com.br/saogoncalo/ws/sigiss_ws.php#

 

clica em cima de algum metodo e veja que esta escrito: 

 

SoapAction: urn:sigiss_ws#GerarNota

Link para o comentário
Compartilhar em outros sites

é 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

Editado por Codorna
Link para o comentário
Compartilhar em outros sites

 

 

Aqui uma pergunta no stack overflow perguntando como consumir WS no C#.

 

http://stackoverflow.com/questions/1302525/how-to-use-a-wsdl

 

Entao o grande problema é o

"and then right-click on the project and pick "Add Service Reference" from the context menu."

 

Eu ja tentei fazer isso para importar td automatico (igual o wsdl no delphi) MAS, nao funciona... fala que na url nao foi encontrado nenhum metodo de webservice... =(

Link para o comentário
Compartilhar em outros sites

@sossytem

 

Passei pelo mesmo problema. Se você usa windows 7, o problema é o protocolo de segurança, que por padrão ele utiliza o TLS ao invés do SSL. Faça isso:

 

Para Windows Vista, Windows 7 e Server 2008:
                Iniciar>Executar
                Regedit
                HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SecurityProviders/Schannel/Protocols
 
                Clique com o Direito em Protocols -> Novo -> Chave
                Nome: TLS 1.0
               
                Clique com o direito agora nessa chave criada -> Novo -> Chave
                Nome: Client
               
                Selecione a pasta criada (Client), clique com o direito Novo -> Valor DWORD
                Nome: Enabled

 

Ai é só adicionar a referência no seu projeto. E para evitar que dê esse problema no seu cliente, force a utilização do SSL antes de instanciar o webservice:

 

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3;

 

Boa sorte, abraço.

 

Fontes: 

https://groups.google.com/forum/#!msg/sped-nfe/MrYBkEI3kS4/ptRx8vPsM_UJ

http://www.vbweb.com.br/forum_resp.asp?Codigo=234146

Link para o comentário
Compartilhar em outros sites

@sossytem

 

Passei pelo mesmo problema. Se você usa windows 7, o problema é o protocolo de segurança, que por padrão ele utiliza o TLS ao invés do SSL. Faça isso:

 

Para Windows Vista, Windows 7 e Server 2008:
                Iniciar>Executar
                Regedit
                HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SecurityProviders/Schannel/Protocols
 
                Clique com o Direito em Protocols -> Novo -> Chave
                Nome: TLS 1.0
               
                Clique com o direito agora nessa chave criada -> Novo -> Chave
                Nome: Client
               
                Selecione a pasta criada (Client), clique com o direito Novo -> Valor DWORD
                Nome: Enabled

 

Ai é só adicionar a referência no seu projeto. E para evitar que dê esse problema no seu cliente, force a utilização do SSL antes de instanciar o webservice:

 

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3;

 

Boa sorte, abraço.

 

Fontes: 

https://groups.google.com/forum/#!msg/sped-nfe/MrYBkEI3kS4/ptRx8vPsM_UJ

http://www.vbweb.com.br/forum_resp.asp?Codigo=234146

Funcionou direitinho!!!!!

Vlw cara, mas pq q no servidor de Londrina eu nao precisava fazer isso?

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2520 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...