NFS-e Servidor WSDL
Boa tarde.
Estou importando os dados de um servidor WSDL para NFS-e com Delphi
Consigo importar, utilizar as funções mas sempre retorna da função erro 405
Method Not Allowed (405) - 'http://nfsehomol.caxias.rs.gov.br/portal/Servicos'
link para "buscar" as informações wsdl
https://nfsehomol.caxias.rs.gov.br/portal/Servicos?wsdl
montei um exemplo bem simples mas não consigo utilizar as funções desse servidor, segue abaixo fonte
procedure TfrmPrincipal.Button1Click(Sender: TObject);
var
bd : string;
begin
try
bd := 'bd';
Memo2.Lines.Clear;
Memo2.Lines.Add((HTTPRIO1 as Servicos).ping(bd));
Except
on E: Exception do
Memo2.Lines.Add(E.Message);
end;
end;
aguardo... desde já obrigado....
Estou importando os dados de um servidor WSDL para NFS-e com Delphi
Consigo importar, utilizar as funções mas sempre retorna da função erro 405
Method Not Allowed (405) - 'http://nfsehomol.caxias.rs.gov.br/portal/Servicos'
link para "buscar" as informações wsdl
https://nfsehomol.caxias.rs.gov.br/portal/Servicos?wsdl
montei um exemplo bem simples mas não consigo utilizar as funções desse servidor, segue abaixo fonte
procedure TfrmPrincipal.Button1Click(Sender: TObject);
var
bd : string;
begin
try
bd := 'bd';
Memo2.Lines.Clear;
Memo2.Lines.Add((HTTPRIO1 as Servicos).ping(bd));
Except
on E: Exception do
Memo2.Lines.Add(E.Message);
end;
end;
aguardo... desde já obrigado....
Cristiano Fochesatto
Curtidas 0
Melhor post
Dorivan Sousa
02/07/2015
consegui rodar aqui...
na function GetServicos(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): Servicos; da unit gerada pelo wsdl importer eu observei que
essa variavel aqui nao é utilizada pois passamos false na chamada da funcao, mas ela tem https no url
defWSDL = 'https://nfsehomol.caxias.rs.gov.br/portal/Servicos?wsdl';
essa aqui é a que usamos mas nao tem https
defURL = 'http://nfsehomol.caxias.rs.gov.br/portal/Servicos';
eu mudei para
defURL = 'https://nfsehomol.caxias.rs.gov.br/portal/Servicos';
e o retorno foi
100: |02/07/2015 16:13:13.84| [OK]
na function GetServicos(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): Servicos; da unit gerada pelo wsdl importer eu observei que
essa variavel aqui nao é utilizada pois passamos false na chamada da funcao, mas ela tem https no url
defWSDL = 'https://nfsehomol.caxias.rs.gov.br/portal/Servicos?wsdl';
essa aqui é a que usamos mas nao tem https
defURL = 'http://nfsehomol.caxias.rs.gov.br/portal/Servicos';
eu mudei para
defURL = 'https://nfsehomol.caxias.rs.gov.br/portal/Servicos';
e o retorno foi
100: |02/07/2015 16:13:13.84| [OK]
GOSTEI 2
Mais Respostas
Dorivan Sousa
01/07/2015
qual versao do delphi?
GOSTEI 0
Cristiano Fochesatto
01/07/2015
Delphi 2010....
GOSTEI 0
Dorivan Sousa
01/07/2015
eu perguntei a versao do delphi pq a maioria ainda usa delphi7 e tem q fazer a atualizacao do soap pra funcionar..
entao eu fiz diferente
agora eu tambem recebi o retorno o mesmo retorno...
entao eu fiz diferente
procedure TForm1.Button1Click(Sender: TObject);
var
ser: Servicos;
begin
ser:=GetServicos(false,''); //aqui se vc tiver um objeto httprio onde tem q informar algo nas propriedade dele vc pode informar nos parametros ficaria ser:=GetServicos(false,'',HTTPrio1);
memo1.lines.Add(ser.consultarNotaFiscal('aqui coloca o xml'));
end;
agora eu tambem recebi o retorno o mesmo retorno...
GOSTEI 0
Cristiano Fochesatto
01/07/2015
Dorivan, havia colocado desta maneira, mas mesmo utilizando assim ele me retorna o erro
Method Not Allowed (405) - 'http://nfsehomol.caxias.rs.gov.br/portal/Servicos'
Não se pode ser algo na importação do WSDL que eu esteja marcando de forma equivocada. Mas mesmo como você passou ele me retorna o erro.
Eu estou colocando com o HTTPRIO, tentei sem também...
Method Not Allowed (405) - 'http://nfsehomol.caxias.rs.gov.br/portal/Servicos'
Não se pode ser algo na importação do WSDL que eu esteja marcando de forma equivocada. Mas mesmo como você passou ele me retorna o erro.
Eu estou colocando com o HTTPRIO, tentei sem também...
GOSTEI 0
Dorivan Sousa
01/07/2015
nao existe um cadastro com usuario e senha pra acessar esses serviços?
GOSTEI 0
Cristiano Fochesatto
01/07/2015
Não, tentei fazer com o C# e também retorna o mesmo erro.
entrei em contato com o pessoal da Infisc e me passaram que não há usuário e senha para o ambiente de homologação. O pessoal da Infisc me passou um demo em Java e o mesmo realiza as funções sem erros...
Baixei o programa soapUI 3.6.1 que testa arquivos WSDL/Soap e todas as funções funcionam normalmente, sem usuário ou senha.
É muito estranho, o que me parece é como se ele não encontra-se o comando dentro da estrutura.
Eu acho que seja algo quando importo o o WSDL para dentro do Delphi, mas o pessoal da Infisc não sabe me dizer o motivo desse erro, pois segundo eles ajudariam se fosse em java o desenvolvimento hehehehe
Não achei nada relevante ou que não tenha tentando sobre isso em fóruns....
OBS: Você rodando esse comando funcionou? faz com o comando ping('bd'), o servidor é Case sensitive
entrei em contato com o pessoal da Infisc e me passaram que não há usuário e senha para o ambiente de homologação. O pessoal da Infisc me passou um demo em Java e o mesmo realiza as funções sem erros...
Baixei o programa soapUI 3.6.1 que testa arquivos WSDL/Soap e todas as funções funcionam normalmente, sem usuário ou senha.
É muito estranho, o que me parece é como se ele não encontra-se o comando dentro da estrutura.
Eu acho que seja algo quando importo o o WSDL para dentro do Delphi, mas o pessoal da Infisc não sabe me dizer o motivo desse erro, pois segundo eles ajudariam se fosse em java o desenvolvimento hehehehe
Não achei nada relevante ou que não tenha tentando sobre isso em fóruns....
OBS: Você rodando esse comando funcionou? faz com o comando ping('bd'), o servidor é Case sensitive
GOSTEI 0
Cristiano Fochesatto
01/07/2015
Puts, era só isso então :$:$:$:$, bá que erro meu. Muito obrigado pela ajuda e pelo tempo disposto para me responder.
Obrigado!
Obrigado!
GOSTEI 0