Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • 3 semanas depois ...
Postado
Em ‎25‎/‎04‎/‎2017 at 16:29, arce disse:

Boa tarde

A prefeitura está alterando o ws deles de php para C# (Entra em produção dia 02/05). Este é novo link de homologação (http://desenvolvimento.bauru.sp.gov.br/teste5/Default.asmx?wsdl). Contudo as estruturas dos objetos de envio e retorno foram alteradas.

Ao utilizar o wsdl importer no Delphi7 a estrutura mudou mto pouco, mas ao enviar ocorre um erro de Objeto, pois o mesmo não era construído no processo de envio da NFSe.

Fiz um teste utilizando o wsdl importer no Delphi XE Berlin, e a estrutura ficou totalmente diferente.

Exemplo no Delphi7:


procedure GerarNota(const DescricaoRps: tcDescricaoRps; out GerarNotaResult: tcRetornoNota; out DescricaoErros: ArrayOfTcEstruturaDescricaoErros); stdcall;

Exemplo no Delphi XE Berlin


function  GerarNota(const parameters: GerarNota): GerarNotaResponse; stdcall;

Então, passei a unit criada pelo XE para o projeto do Delphi 7, fiz as alterações dos uses para compilar e parou de ocorrer o problema do objeto não criado. Entretanto o objeto de retorno GerarNotaResponse está retornando vazio.

Gostaria de saber se vcs estão passando pelo mesmo problema que eu.

OBS: Fiz testes com o programa SoapUI que envia e recebe diretamente o XML e funcionou.

 

 

Olá boa tarde, também estou com o mesmo problema, porém minha Unit foi gerada no xe7 e a chamada do GerarNota ficou um pouco diferente com o Output apenas  GerarNotaResult.

Postado

Para quem está tendo problema com o Delphi 7 na hora de consumir os métodos do Web Service da prefeitura de Bauru basta adicionar a linha abaixo em initialization:

InvRegistry.RegisterInvokeOptions(TypeInfo(ConcentradorSoap), ioDocument);

 

Aqui comigo estava dando o mesmo problema mas agora está tudo OK.

  • Curtir 1
Postado

Bom dia , 

Eu tentei atualizar a unit para essas novas funcoes

  procedure GerarNota(const DescricaoRps: tcDescricaoRps; out GerarNotaResult: tcRetornoNota; out DescricaoErros: ArrayOfTcEstruturaDescricaoErros); stdcall;
    procedure CancelarNota(const DadosCancelaNota: tcDadosCancelaNota; out CancelarNotaResult: tcRetornoNota; out DescricaoErros: ArrayOfTcEstruturaDescricaoErros); stdcall;
    procedure ConsultarNotaValida(const DadosConsultaNota: tcDadosConsultaNota; out ConsultarNotaValidaResult: tcRetornoNota; out DescricaoErros: ArrayOfTcEstruturaDescricaoErros); stdcall;
    procedure ConsultarNotaPrestador(const DadosPrestador: tcDadosPrestador; const Nota: Integer; out ConsultarNotaPrestadorResult: tcDadosNota; out DescricaoErros: ArrayOfTcEstruturaDescricaoErros); stdcall;
 

initialization
  InvRegistry.RegisterInvokeOptions(TypeInfo(WebServiceSoap), ioDocument);
  InvRegistry.RegisterInterface(TypeInfo(WebServiceSoap), 'urn:', 'ISO-8859-1', '', 'WebServiceSoap');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(WebServiceSoap), 'urn:#%operationName%');
  RemClassRegistry.RegisterXSClass(tcDescricaoRps, '', 'tcDescricaoRps');
  RemClassRegistry.RegisterXSClass(tcRetornoNota, '', 'tcRetornoNota');
  RemClassRegistry.RegisterXSClass(tcEstruturaDescricaoErros, '', 'tcEstruturaDescricaoErros');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfTcEstruturaDescricaoErros), '', 'ArrayOfTcEstruturaDescricaoErros');
  RemClassRegistry.RegisterXSClass(tcDadosPrestador, '', 'tcDadosPrestador');
  RemClassRegistry.RegisterXSClass(tcDadosCancelaNota, '', 'tcDadosCancelaNota');
  RemClassRegistry.RegisterXSClass(tcDadosNota, '', 'tcDadosNota');
  RemClassRegistry.RegisterXSClass(tcDadosConsultaNota, '', 'tcDadosConsultaNota');

Quando tento enviar  a nota recebo a seguinte mensagem 
 

Erro Comunicação: System.Web.Services.Protocols.SoapException: O servidor não pôde processar a solicitação. ---> System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
   em webservice_nfe.WebService.GerarNota(tcDescricaoRps DescricaoRps, List`1& DescricaoErros)
   --- Fim do rastreamento de pilha de exceções internas ---

Alguem tem idéia de onde passo alterar, sendo que funciona perfeitamente no ultimo endereço da prefeitura.

  • Este tópico foi criado há 2731 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.