Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Bom tarde Senhores,

ontem baixei o código do eSocial do ACBr e estou implementando algumas coisas. Estou no momento com o evento valido, Lote Valido e Envelope Soap Valido (ver em Anexo). Porem ao fazer o envio estou recebendo código 415 Pelo que vi esse erro é " Unsupported Media Type".  e não estou localizando o problema.

Caso alguém tenha alguma ideia... Agradeceria muito.

-> Dados do xml são os mesmos do exemplos!

Obrigado.

Leivio

Lote_Envio_eSocial.xml

  • Consultores
Postado

Usou o demo cedido para efetuar os testes?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado (editado)

Pessoal, bom dia o Componente precisava gerar a assinatura do XML com SHA265 ele está gerando com SHA1

Alguem tem alguma ideia como melhorar isso?

Abraços

Editado por hnq_campos
Postado
Em 20/07/2017 at 15:35, Leivio Fontenele disse:

Pessoal, Deu certo! Após um tempo com problemas de certificado e depois de Env. SOAP  Inválido. Conseguir fazer o envio do evento S1000  e receber um retorno.

Agora vou implementar o método LerXML da Classe TRetProcLote.

Valeu.

 

Retorno.xml

Boa tarde, @Leivio Fontenele!

Você chegou a implementar nos componentes da acbr assinatura do XML com SHA265 e o método de envio?

Postado
Em 20/07/2017 at 16:35, Leivio Fontenele disse:

Pessoal, Deu certo! Após um tempo com problemas de certificado e depois de Env. SOAP  Inválido. Conseguir fazer o envio do evento S1000  e receber um retorno.

Agora vou implementar o método LerXML da Classe TRetProcLote.

Valeu.

 

Retorno.xml

 

Amigo você poderia disponibilizar também o xml que enviou já com o envelope?

Postado

Boa tarde,

O processo de assinatura do XML com SHA265  com ACBR da para ser feito de uma forma simples. Apenas utilizando as bibliotecas já existentes. Segue abaixo:

Como Assinar SHA256 com ACBR:

1. Configuração do tipo de lib.

 - AACBreSocial.Configuracoes.Geral.SSLLib := libOpenSSL;
 - AACBreSocial.Configuracoes.Geral.SSLHttpLib := httpWinHttp;

2. Modificação do corpo da Assinatura:

Na unit ACBrDFeUtil.pas no metodo SignatureElement definir uma paramentro para SHA1 Boolean. e Coloquei a texto necessária para o tipo de assinatura que desejo.

na unit ACBrDFeSSL no metodo AdicionarSignatureElement fiz uma pequena modificação para ficar sempre "False" e pegar o modelo de assinatura que eu quero.

Pronto agora seu XML estará assinado Sha-256.

Obs.: Devido a pressa não tive tempo para refatorar o código e o mesmo está bem amarrado para o e-Social. Quando já estiver tudo ok.... com as validações... vou refatorar para manter compatível com os outros componentes do ACBR.

Obs. Sei que muitos estão procurando uma solução e-Social aqui no ACBR, porem os fontes que existiam estavam incompletos tanto comunicação como assinatura além de defasados com relação ao layouts atual. e isso está demandando tempo para validação dos layouts.

obs.: Também gostaria de agradecer aos criadores do projeto pelos fontes já existentes...deu uma grande ajuda.

obs.: Tenho um Repo Local do ACBR especifico para o e-Social, então considere a opção de não misturar os fontes oficiais com esses de teste.

 

ACBrDFeUtil.pas

ACBrDFeSSL.pas

  • Curtir 1
Postado

Estou usando a própria implementação do ACBR... o mesmo já tem toda lógica de preenchimento, Implementação de SSL e tratamento de resposta.

Estude a classe TDFeWebService do AcBr... alias o projeto do ACBR para o e-Social já tem uma implementação"TeSocialWebService" que herda dela.

Estou reutilizando o máximo de código já feito...

Postado

Recebi esse retorno, alguém já viu?

 

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode><faultstring xml:lang="en-US">The message with Action 'http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/v1_1_0' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver.  Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).</faultstring></s:Fault></s:Body></s:Envelope>

Postado

Está parecendo problema de SOAPAction

Soap Action vc pode vê pelos arquivos de comunicação disponibilizados pelo Portal do eSocial ou pelo WSDL.

ACBRESOCIAL_NAMESPACE = ' http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/v1_1_0';

procedure TEnvioLote.DefinirServicoEAction;
begin
  FPServico := FPDFeOwner.GetNameSpaceURI + '/ServicoEnviarLoteEventos/EnviarLoteEventos';
  FPSoapAction := Trim(FPServico);
end;


espero que esteja no caminho.

Postado

Também pensei ser mas já conferir e ta ok

 

           URL := 'https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/enviarloteeventos/WsEnviarLoteEventos.svc?wsdl';

           SoapAction := 'http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/v1_1_0';

 

Postado

Sergio,

O ACBR tem tudo pronto pra vc usar.

Wsdl é tipo um descritivo de um contrato de comunicação. Para o ACBR vc precisar definir o envelope SOAP e definir a URL e Actions e nas configurações definir se o canal de comunicação tmb usa certificado ou não.

Definindo isso vc usa sem problemas.

Dica: veja os exemplos do DFe já implementados...tipo NF-e e NFS-e. Ajuda bastante entender o conceito e a relação das classes do ACBr.

  • Este tópico foi criado há 3082 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...