Como consumir web service delphi 7 Enterprise
Bao tarde!
Nunca trabalhei com web services.
Estou tentando consumir um web services usando o componente HTTPRIO, como eu faço para passar
um parametro e receber de volta as solicitações?
Pode me ajudar...
No meu disco virtual coloquei a unit com as informações sobre o web service.
Por exemplo gostaria de colocar as informações de retorno, em determidos campos no formulario,
como eu faço para isso...
estou tentando dessa forma:
procedure TFrmPAcesso.SpeedButton9Click(Sender: TObject);
var
Y1, Y2, Y3 : integer;
B: STRING;
x1: MacMensageria;
begin {FcodigoAssessoriaCyber: Integer;
FcontaCorrente: Integer;
FcodigoIdentificacaoOperador: string;
FtipoPessoa: string;
FcpfCnpj: Integer;} Y1:=1;
Y2:=191;
B:='F'; X1:=(HTTPRIO1 as MacMensageria);
memoBusca.Text:=(HTTPRIO1 as MacMensageria).consultarInformacoesCobranca(consultarinformacoescobrancarequest2(1,1,' ',B,191));
// consularinformacoesCobrancarequest2. parametros... // (HTTPRIO1 as MacMensageria).consultarInformacoesCobranca(Y1,Y1,B,B,Y2);
// memoBusca.Text:=(HTTPRIO1 as MacMensageria).consultarAcordo(1,'',' ',99999999999);
// memoBusca.Text:=x1.consultarInformacoesCobranca.
//.consultarInformacoesCobranca('1','1','0','F',191); end;
Obrigado! Henrique 11 6725-3401
var
Y1, Y2, Y3 : integer;
B: STRING;
x1: MacMensageria;
begin {FcodigoAssessoriaCyber: Integer;
FcontaCorrente: Integer;
FcodigoIdentificacaoOperador: string;
FtipoPessoa: string;
FcpfCnpj: Integer;} Y1:=1;
Y2:=191;
B:='F'; X1:=(HTTPRIO1 as MacMensageria);
memoBusca.Text:=(HTTPRIO1 as MacMensageria).consultarInformacoesCobranca(consultarinformacoescobrancarequest2(1,1,' ',B,191));
// consularinformacoesCobrancarequest2. parametros... // (HTTPRIO1 as MacMensageria).consultarInformacoesCobranca(Y1,Y1,B,B,Y2);
// memoBusca.Text:=(HTTPRIO1 as MacMensageria).consultarAcordo(1,'',' ',99999999999);
// memoBusca.Text:=x1.consultarInformacoesCobranca.
//.consultarInformacoesCobranca('1','1','0','F',191); end;
Obrigado! Henrique 11 6725-3401
Henrique Rocha
Curtidas 0
Respostas
Rodrigo Mourão
29/09/2009
Olá Henrique,
Você importou o WSDL utilizando o WSDL importer. Se sim pode me enviar o endereco do WSDL para que ue possa improtar o ver como e gerado. Se não me informe para que eu possa mostra-lo como faz. Não há necessidade de usar o HTTPRIO isso fica encapsulado na classe que ele gerar.
No aguardo !!
Abs!!
Você importou o WSDL utilizando o WSDL importer. Se sim pode me enviar o endereco do WSDL para que ue possa improtar o ver como e gerado. Se não me informe para que eu possa mostra-lo como faz. Não há necessidade de usar o HTTPRIO isso fica encapsulado na classe que ele gerar.
No aguardo !!
Abs!!
GOSTEI 0
Henrique Rocha
29/09/2009
Sim importei o WSDL utilizando o WSDL importer via dos, pois pelo delphi não consegui.
o arquivo resultado *.pas esta no meu disco virtual, você tem acesso ao disco,
ou qual email posso mandar para você.
GOSTEI 0
Rodrigo Mourão
29/09/2009
Me mande o link para o disco virtual.
Mais informações aqui: https://www.devmedia.com.br/imagens/videos/4/Video%20disco%20virtual.htm
Abs!
Mais informações aqui: https://www.devmedia.com.br/imagens/videos/4/Video%20disco%20virtual.htm
Abs!
GOSTEI 0
Henrique Rocha
29/09/2009
Boa!
segue o link http://video.devmedia.com.br/discovirtual/18998/Unit%20webservices.zip
Desculpe, ainda estou aprendendo a usar a ferramenta.
Obrigado.
segue o link http://video.devmedia.com.br/discovirtual/18998/Unit%20webservices.zip
Desculpe, ainda estou aprendendo a usar a ferramenta.
Obrigado.
GOSTEI 0
Rodrigo Mourão
29/09/2009
Olá Amigo,
Eu peguei como exemplo o metodo atualiza cliente, como nao sei qual valor passar o codigo abaixo e ficticio. O que vc precisa saber e que os metodos pedem como parametros objetos. Por exemplo o metodo atualiza cliente pede um parametro do tipo atualizarClienteRequest2 e me retorna um atualizarClienteResponse2
Então eu crieu uma variavel AtlzCliente do tipo atualizarClienteRequest2 e uma variavel Resp do tipo atualizarClienteResponse2,
Antes de passar o parametro AtlzCliente para a funcao eu tenho que colocar os valores. Eu passei so alguns como exemplo, voce tera que passar todos os que são obrigatórios.
Depois chamei a funcao atualizarCliente desta maneira: GetMacMensageria().atualizarCliente(AtlzCliente); veja que eu passo o objeto AtlzCliente que acabei de configurar.
Isso me retorna um atualizarClienteResponse2 que eu coloquei na veriavel resp.
Depois peguei a propriedade Mensagem e coloquei no memo.
Veja o codigo.
var
AtlzCliente: atualizarClienteRequest2;
Resp: atualizarClienteResponse2;
begin
AtlzCliente.codigoAssessoriaCyber := 0;
AtlzCliente.contaCorrente := '00000';
AtlzCliente.codigoIdentificacaoOperador := '0000';
AtlzCliente.tipoPessoa := 'X';
AtlzCliente.endereco.nomeLogradouro := 'endereco';
AtlzCliente.endereco.nomeBairro := 'bairro';
Resp := GetMacMensageria().atualizarCliente(AtlzCliente);
Memo1.Lines.Add(Resp.mensagemRetorno.mensagem);
end;
Novamente, eu passei valores ficticios, vc tera que colcoar valores reais ai.
Espero ter ajudado.
abs!!
Eu peguei como exemplo o metodo atualiza cliente, como nao sei qual valor passar o codigo abaixo e ficticio. O que vc precisa saber e que os metodos pedem como parametros objetos. Por exemplo o metodo atualiza cliente pede um parametro do tipo atualizarClienteRequest2 e me retorna um atualizarClienteResponse2
Então eu crieu uma variavel AtlzCliente do tipo atualizarClienteRequest2 e uma variavel Resp do tipo atualizarClienteResponse2,
Antes de passar o parametro AtlzCliente para a funcao eu tenho que colocar os valores. Eu passei so alguns como exemplo, voce tera que passar todos os que são obrigatórios.
Depois chamei a funcao atualizarCliente desta maneira: GetMacMensageria().atualizarCliente(AtlzCliente); veja que eu passo o objeto AtlzCliente que acabei de configurar.
Isso me retorna um atualizarClienteResponse2 que eu coloquei na veriavel resp.
Depois peguei a propriedade Mensagem e coloquei no memo.
Veja o codigo.
var
AtlzCliente: atualizarClienteRequest2;
Resp: atualizarClienteResponse2;
begin
AtlzCliente.codigoAssessoriaCyber := 0;
AtlzCliente.contaCorrente := '00000';
AtlzCliente.codigoIdentificacaoOperador := '0000';
AtlzCliente.tipoPessoa := 'X';
AtlzCliente.endereco.nomeLogradouro := 'endereco';
AtlzCliente.endereco.nomeBairro := 'bairro';
Resp := GetMacMensageria().atualizarCliente(AtlzCliente);
Memo1.Lines.Add(Resp.mensagemRetorno.mensagem);
end;
Novamente, eu passei valores ficticios, vc tera que colcoar valores reais ai.
Espero ter ajudado.
abs!!
GOSTEI 0
Henrique Rocha
29/09/2009
Boa tarde!
Rodrigo,
Consegui acessar as variaveis, porém quando tento consumir o web service esta dando uma mensagem de
erro no retorno das informações, como segue:
abaixo procedimento OK...
procedure TFrmPAcesso.SpeedButton9Click(Sender: TObject);
var
ConsulDadosCobranca: consultarInformacoesCobrancaRequest2;
RespDC:consultarInformacoesCobrancaResponse2;
begin
{ property codigoAssessoriaCyber: Integer Index (IS_UNQL) read FcodigoAssessoriaCyber write FcodigoAssessoriaCyber;
property contaCorrente: Integer Index (IS_UNQL) read FcontaCorrente write FcontaCorrente;
property codigoIdentificacaoOperador: string Index (IS_UNQL) read FcodigoIdentificacaoOperador write FcodigoIdentificacaoOperador;
property tipoPessoa: string Index (IS_UNQL) read FtipoPessoa write FtipoPessoa;
property cpfCnpj: Integer Index (IS_UNQL) read FcpfCnpj write FcpfCnpj; }
ConsulDadosCobranca.codigoAssessoriaCyber:=1;
ConsulDadosCobranca.contaCorrente:=1;
ConsulDadosCobranca.codigoIdentificacaoOperador:=' ';
ConsulDadosCobranca.tipoPessoa:='F';
ConsulDadosCobranca.cpfCnpj:=191;
RespDC := GetMacMensageria().consultarInformacoesCobranca(ConsulDadosCobranca);
memoBusca.Lines.Add(RespDC.mensagemRetorno.mensagem);
end;
mensagem de erro quando ele passa pela função abaixo
function GetMacMensageria(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): MacMensageria;
const
{ Original para ser usado em produção
defWSDL = 'HSBCMacMensageria.wsdl';
defURL = 'http://www.hsbc.com.br/MacMensageria';
defSvc = 'HSBCMacMensageria';
defPrt = 'MacMensageriaSOAP'; }
// Dados para usar em desenvolvimento
defWSDL = 'HSBCMacMensageria.wsdl';
defURL = 'http://localhost:8088/mockMacMensageriaSOAP';
defSvc = 'HSBCMacMensageria';
defPrt = 'MacMensageriaSOAP';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
Result := (RIO as MacMensageria);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;
ERRO: Debugger Exception Notification
Project x.exe raised exception class ESOAPDomConvertError with message
'Conversion from class TSpeedButton to SOAP is not supported - SOAP classes
must derive from TRemotable'. Process stopped. Use Step or Rum to continue.
Pode me ajudar?
Obrigado.
Henrique
11 6725-3401
Rodrigo,
Consegui acessar as variaveis, porém quando tento consumir o web service esta dando uma mensagem de
erro no retorno das informações, como segue:
abaixo procedimento OK...
procedure TFrmPAcesso.SpeedButton9Click(Sender: TObject);
var
ConsulDadosCobranca: consultarInformacoesCobrancaRequest2;
RespDC:consultarInformacoesCobrancaResponse2;
begin
{ property codigoAssessoriaCyber: Integer Index (IS_UNQL) read FcodigoAssessoriaCyber write FcodigoAssessoriaCyber;
property contaCorrente: Integer Index (IS_UNQL) read FcontaCorrente write FcontaCorrente;
property codigoIdentificacaoOperador: string Index (IS_UNQL) read FcodigoIdentificacaoOperador write FcodigoIdentificacaoOperador;
property tipoPessoa: string Index (IS_UNQL) read FtipoPessoa write FtipoPessoa;
property cpfCnpj: Integer Index (IS_UNQL) read FcpfCnpj write FcpfCnpj; }
ConsulDadosCobranca.codigoAssessoriaCyber:=1;
ConsulDadosCobranca.contaCorrente:=1;
ConsulDadosCobranca.codigoIdentificacaoOperador:=' ';
ConsulDadosCobranca.tipoPessoa:='F';
ConsulDadosCobranca.cpfCnpj:=191;
RespDC := GetMacMensageria().consultarInformacoesCobranca(ConsulDadosCobranca);
memoBusca.Lines.Add(RespDC.mensagemRetorno.mensagem);
end;
mensagem de erro quando ele passa pela função abaixo
function GetMacMensageria(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): MacMensageria;
const
{ Original para ser usado em produção
defWSDL = 'HSBCMacMensageria.wsdl';
defURL = 'http://www.hsbc.com.br/MacMensageria';
defSvc = 'HSBCMacMensageria';
defPrt = 'MacMensageriaSOAP'; }
// Dados para usar em desenvolvimento
defWSDL = 'HSBCMacMensageria.wsdl';
defURL = 'http://localhost:8088/mockMacMensageriaSOAP';
defSvc = 'HSBCMacMensageria';
defPrt = 'MacMensageriaSOAP';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
RIO := THTTPRIO.Create(nil)
else
RIO := HTTPRIO;
try
Result := (RIO as MacMensageria);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;
ERRO: Debugger Exception Notification
Project x.exe raised exception class ESOAPDomConvertError with message
'Conversion from class TSpeedButton to SOAP is not supported - SOAP classes
must derive from TRemotable'. Process stopped. Use Step or Rum to continue.
Pode me ajudar?
Obrigado.
Henrique
11 6725-3401
GOSTEI 0
Rodrigo Mourão
29/09/2009
Olá Henrique,
Pela mensagem de errro e como se vc estivesse tentando enviar para o WS um Objeto do Tipo TSpeedButton. O problema é que no código que vc enviou não vejo isso. Muito Estranho.
Verifique se nao tem um speedbutton com um nome que possa estar em conflito com o nome das classes do WS.
Abs!!
Pela mensagem de errro e como se vc estivesse tentando enviar para o WS um Objeto do Tipo TSpeedButton. O problema é que no código que vc enviou não vejo isso. Muito Estranho.
Verifique se nao tem um speedbutton com um nome que possa estar em conflito com o nome das classes do WS.
Abs!!
GOSTEI 0
Henrique Rocha
29/09/2009
Boa tarde!
Rodrigo,
Pesquisei na internet e esse erro e achei isso:
https://forums.codegear.com/thread.jspa?threadID=2231
mas não sei como resolver.
Peço sua ajuda.
Obrigado.
Henrique
Rodrigo,
Pesquisei na internet e esse erro e achei isso:
https://forums.codegear.com/thread.jspa?threadID=2231
mas não sei como resolver.
Peço sua ajuda.
Obrigado.
Henrique
GOSTEI 0
Rodrigo Mourão
29/09/2009
Bem Henrique,
Tente o seguinte:
procedure TFrmPAcesso.SpeedButton9Click(Sender: TObject);
var
ConsulDadosCobranca: consultarInformacoesCobrancaRequest2;
RespDC:consultarInformacoesCobrancaResponse2;
begin
ConsulDadosCobranca := consultarInformacoesCobrancaRequest2.create;
RespDC := consultarInformacoesCobrancaResponse2.create;
ConsulDadosCobranca.codigoAssessoriaCyber:=1;
ConsulDadosCobranca.contaCorrente:=1;
ConsulDadosCobranca.codigoIdentificacaoOperador:=' ';
ConsulDadosCobranca.tipoPessoa:='F';
ConsulDadosCobranca.cpfCnpj:=191;
RespDC := GetMacMensageria().consultarInformacoesCobranca(ConsulDadosCobranca);
memoBusca.Lines.Add(RespDC.mensagemRetorno.mensagem);
ConsulDadosCobranca.FREE;
RespDC.FREE;
end;
ABS
Tente o seguinte:
procedure TFrmPAcesso.SpeedButton9Click(Sender: TObject);
var
ConsulDadosCobranca: consultarInformacoesCobrancaRequest2;
RespDC:consultarInformacoesCobrancaResponse2;
begin
ConsulDadosCobranca := consultarInformacoesCobrancaRequest2.create;
RespDC := consultarInformacoesCobrancaResponse2.create;
ConsulDadosCobranca.codigoAssessoriaCyber:=1;
ConsulDadosCobranca.contaCorrente:=1;
ConsulDadosCobranca.codigoIdentificacaoOperador:=' ';
ConsulDadosCobranca.tipoPessoa:='F';
ConsulDadosCobranca.cpfCnpj:=191;
RespDC := GetMacMensageria().consultarInformacoesCobranca(ConsulDadosCobranca);
memoBusca.Lines.Add(RespDC.mensagemRetorno.mensagem);
ConsulDadosCobranca.FREE;
RespDC.FREE;
end;
ABS
GOSTEI 0
Henrique Rocha
29/09/2009
Rodrigo,
Tentei com esse novo codigo e agora esta dando outro erro, conforme seque:
o codigo:
Project X.exe raised exception class EDOMParseError with
message 'End tag 'p' does not match the start tag 'body'.
Line: 1
<html><body><p>There are currently 1 run'. Process stopped. etc...
Outra coisa, esse web service retorna varias informações como os XML abaixo, na verdade
eu quero pegar as informações individuais para montar um tela onde o usuario possa
ler de forma mais clara, por exemplo:
no arquivo Response.XML
<indicadorFuncionarioHSBC>?</indicadorFuncionarioHSBC>
<indicadorBloqueioJudicial>?</indicadorBloqueioJudicial>
<indicadorGrupoEconomico>?</indicadorGrupoEconomico>
<indicadorGradVencimento>?</indicadorGradVencimento>
Tela:
Indicador de Funcionario: S
Bloqueio Judicial: S
como eu acesso esses dados?
Rodrigo, desculpa se estou fazendo mais perguntas eu não sei até onde
posso perguntar dentro deste chamado, se não estiver neste escopo
eu faço outro chamdado, OK.
Mais um vez obrigado.
segue o XML:
Request.XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hsb="http://www.hsbc.com.br/HSBCMacMensageria/">
<soapenv:Header/>
<soapenv:Body>
<hsb:consultarInformacoesCobrancaRequest>
<codigoAssessoriaCyber>?</codigoAssessoriaCyber>
<contaCorrente>?</contaCorrente>
<codigoIdentificacaoOperador>?</codigoIdentificacaoOperador>
<tipoPessoa>?</tipoPessoa>
<cpfCnpj>?</cpfCnpj>
</hsb:consultarInformacoesCobrancaRequest>
</soapenv:Body>
</soapenv:Envelope>
Response.XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hsb="http://www.hsbc.com.br/HSBCMacMensageria/">
<soapenv:Header/>
<soapenv:Body>
<hsb:consultarInformacoesCobrancaResponse>
<!--Zero or more repetitions:-->
<dadosCliente>
<indicadorFuncionarioHSBC>?</indicadorFuncionarioHSBC>
<indicadorBloqueioJudicial>?</indicadorBloqueioJudicial>
<indicadorGrupoEconomico>?</indicadorGrupoEconomico>
<indicadorGradVencimento>?</indicadorGradVencimento>
</dadosCliente>
<!--Zero or more repetitions:-->
<dadosContrato>
<nrPagina>?</nrPagina>
<indicadorUltimaPagina>?</indicadorUltimaPagina>
<!--1 or more repetitions:-->
<contratos>
<siglaAplicativo>?</siglaAplicativo>
<nrContrato>?</nrContrato>
<qtdeDiasAtraso>?</qtdeDiasAtraso>
<bduUnidadeOperadora>?</bduUnidadeOperadora>
<dataVencimento>?</dataVencimento>
<codigoProduto>?</codigoProduto>
<sitCobranca>?</sitCobranca>
<saldoAtualizado>?</saldoAtualizado>
<valorLimiteCredito>?</valorLimiteCredito>
<dataVencimentoLimiteCredito>?</dataVencimentoLimiteCredito>
<qtdeParcelasEmAtraso>?</qtdeParcelasEmAtraso>
<qtdeParcelasPagas>?</qtdeParcelasPagas>
<qtdeParcelasAVencer>?</qtdeParcelasAVencer>
<nomeAssessoriaCyber>?</nomeAssessoriaCyber>
<dddAssessoriaCyber>?</dddAssessoriaCyber>
<telAssessoriaCyber>?</telAssessoriaCyber>
<nomeCredenciadoJsg>?</nomeCredenciadoJsg>
<dddCredenciadoJsg>?</dddCredenciadoJsg>
<telCredenciadoJsg>?</telCredenciadoJsg>
<indicadorElegibilidadeMAC>?</indicadorElegibilidadeMAC>
<indicadorAcordoAndamento>?</indicadorAcordoAndamento>
<!--1 or more repetitions:-->
<parcelas>
<nossoNumero>?</nossoNumero>
<dataVencimento>?</dataVencimento>
<valorOrigem>?</valorOrigem>
<valorAtualizado>?</valorAtualizado>
</parcelas>
</contratos>
</dadosContrato>
<!--Zero or more repetitions:-->
<historicoAcordo>
<numeroAcordo>?</numeroAcordo>
<dataNegociacao>?</dataNegociacao>
<tipoOperacao>?</tipoOperacao>
<situacaoOperacao>?</situacaoOperacao>
<codigoDecisao>?</codigoDecisao>
<dataSituacao>?</dataSituacao>
<valorAcordo>?</valorAcordo>
<qtdeParcelas>?</qtdeParcelas>
<valorParcelas>?</valorParcelas>
<codigoOrigemAcordo>?</codigoOrigemAcordo>
<!--1 or more repetitions:-->
<acordosContrato>
<siglaAplicacao>?</siglaAplicacao>
<numeroContrato>?</numeroContrato>
<valorAcordo>?</valorAcordo>
</acordosContrato>
</historicoAcordo>
<mensagemRetorno>
<returnCode>?</returnCode>
<reasonCode>?</reasonCode>
<mensagem>?</mensagem>
</mensagemRetorno>
</hsb:consultarInformacoesCobrancaResponse>
</soapenv:Body>
</soapenv:Envelope>
Tentei com esse novo codigo e agora esta dando outro erro, conforme seque:
o codigo:
Project X.exe raised exception class EDOMParseError with
message 'End tag 'p' does not match the start tag 'body'.
Line: 1
<html><body><p>There are currently 1 run'. Process stopped. etc...
Outra coisa, esse web service retorna varias informações como os XML abaixo, na verdade
eu quero pegar as informações individuais para montar um tela onde o usuario possa
ler de forma mais clara, por exemplo:
no arquivo Response.XML
<indicadorFuncionarioHSBC>?</indicadorFuncionarioHSBC>
<indicadorBloqueioJudicial>?</indicadorBloqueioJudicial>
<indicadorGrupoEconomico>?</indicadorGrupoEconomico>
<indicadorGradVencimento>?</indicadorGradVencimento>
Tela:
Indicador de Funcionario: S
Bloqueio Judicial: S
como eu acesso esses dados?
Rodrigo, desculpa se estou fazendo mais perguntas eu não sei até onde
posso perguntar dentro deste chamado, se não estiver neste escopo
eu faço outro chamdado, OK.
Mais um vez obrigado.
segue o XML:
Request.XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hsb="http://www.hsbc.com.br/HSBCMacMensageria/">
<soapenv:Header/>
<soapenv:Body>
<hsb:consultarInformacoesCobrancaRequest>
<codigoAssessoriaCyber>?</codigoAssessoriaCyber>
<contaCorrente>?</contaCorrente>
<codigoIdentificacaoOperador>?</codigoIdentificacaoOperador>
<tipoPessoa>?</tipoPessoa>
<cpfCnpj>?</cpfCnpj>
</hsb:consultarInformacoesCobrancaRequest>
</soapenv:Body>
</soapenv:Envelope>
Response.XML
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hsb="http://www.hsbc.com.br/HSBCMacMensageria/">
<soapenv:Header/>
<soapenv:Body>
<hsb:consultarInformacoesCobrancaResponse>
<!--Zero or more repetitions:-->
<dadosCliente>
<indicadorFuncionarioHSBC>?</indicadorFuncionarioHSBC>
<indicadorBloqueioJudicial>?</indicadorBloqueioJudicial>
<indicadorGrupoEconomico>?</indicadorGrupoEconomico>
<indicadorGradVencimento>?</indicadorGradVencimento>
</dadosCliente>
<!--Zero or more repetitions:-->
<dadosContrato>
<nrPagina>?</nrPagina>
<indicadorUltimaPagina>?</indicadorUltimaPagina>
<!--1 or more repetitions:-->
<contratos>
<siglaAplicativo>?</siglaAplicativo>
<nrContrato>?</nrContrato>
<qtdeDiasAtraso>?</qtdeDiasAtraso>
<bduUnidadeOperadora>?</bduUnidadeOperadora>
<dataVencimento>?</dataVencimento>
<codigoProduto>?</codigoProduto>
<sitCobranca>?</sitCobranca>
<saldoAtualizado>?</saldoAtualizado>
<valorLimiteCredito>?</valorLimiteCredito>
<dataVencimentoLimiteCredito>?</dataVencimentoLimiteCredito>
<qtdeParcelasEmAtraso>?</qtdeParcelasEmAtraso>
<qtdeParcelasPagas>?</qtdeParcelasPagas>
<qtdeParcelasAVencer>?</qtdeParcelasAVencer>
<nomeAssessoriaCyber>?</nomeAssessoriaCyber>
<dddAssessoriaCyber>?</dddAssessoriaCyber>
<telAssessoriaCyber>?</telAssessoriaCyber>
<nomeCredenciadoJsg>?</nomeCredenciadoJsg>
<dddCredenciadoJsg>?</dddCredenciadoJsg>
<telCredenciadoJsg>?</telCredenciadoJsg>
<indicadorElegibilidadeMAC>?</indicadorElegibilidadeMAC>
<indicadorAcordoAndamento>?</indicadorAcordoAndamento>
<!--1 or more repetitions:-->
<parcelas>
<nossoNumero>?</nossoNumero>
<dataVencimento>?</dataVencimento>
<valorOrigem>?</valorOrigem>
<valorAtualizado>?</valorAtualizado>
</parcelas>
</contratos>
</dadosContrato>
<!--Zero or more repetitions:-->
<historicoAcordo>
<numeroAcordo>?</numeroAcordo>
<dataNegociacao>?</dataNegociacao>
<tipoOperacao>?</tipoOperacao>
<situacaoOperacao>?</situacaoOperacao>
<codigoDecisao>?</codigoDecisao>
<dataSituacao>?</dataSituacao>
<valorAcordo>?</valorAcordo>
<qtdeParcelas>?</qtdeParcelas>
<valorParcelas>?</valorParcelas>
<codigoOrigemAcordo>?</codigoOrigemAcordo>
<!--1 or more repetitions:-->
<acordosContrato>
<siglaAplicacao>?</siglaAplicacao>
<numeroContrato>?</numeroContrato>
<valorAcordo>?</valorAcordo>
</acordosContrato>
</historicoAcordo>
<mensagemRetorno>
<returnCode>?</returnCode>
<reasonCode>?</reasonCode>
<mensagem>?</mensagem>
</mensagemRetorno>
</hsb:consultarInformacoesCobrancaResponse>
</soapenv:Body>
</soapenv:Envelope>
GOSTEI 0
Rodrigo Mourão
29/09/2009
Enrique o primeiro erro e problema com o XML, todo XML para cada tag de abertura tem que ter uma tag de fechamento. O erro de DOMParser indica que o XML esta com problema.
Se e o XML que veio de retorno do Web Service entao quem tem que alterar e quem fez o WS.
Quanto a pegar os valores peço que abra outro chamado pois cada duvida tem que ser sanada em um chamado exclusivo.
Abs!!
Se e o XML que veio de retorno do Web Service entao quem tem que alterar e quem fez o WS.
Quanto a pegar os valores peço que abra outro chamado pois cada duvida tem que ser sanada em um chamado exclusivo.
Abs!!
GOSTEI 0