jonass Postado Agosto 17, 2012 Denunciar Share Postado Agosto 17, 2012 Oi galera,Sou iniciante no ASP e de cara já tenho que trabalhar com webservide :wacko: Mas vale o desafio...Bem, o webservice está funcionando. O problema é fazer a consumir ele no ASP.Até agora, cheguei no código abaixo:<% Response.ContentType = "text/xml" 'requisita_dados.asp 'Página que faz a requisição passando um XML strXml = "" strXml = strXml & "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:wss='http://www.meusite.com.br/WSCliente/'>" strXml = strXml & " <soapenv:Header>" strXml = strXml & "<wss:AutenticacaoWebService>" strXml = strXml & " <wss:Usuario>user</wss:Usuario>" strXml = strXml & " <wss:Senha>1234</wss:Senha>" strXml = strXml & " </wss:AutenticacaoWebService>" strXml = strXml & " </soapenv:Header>" strXml = strXml & " <soapenv:Body>" strXml = strXml & " <wss:ConsultarPessoa>" strXml = strXml & " <wss:cpf>12312312387</wss:cpf>" strXml = strXml & " </wss:ConsultarPessoa>" strXml = strXml & " </soapenv:Body>" strXml = strXml & " </soapenv:Envelope>" sUrl = "http://homologacao.meusite.com.br:8044/WSCliente/cadastro.asmx" Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0") Set xmlResult = Server.CreateObject("MSXML2.DomDocument.3.0") xmlResult.async = False xmlhttp.Open "POST", sUrl, False xmlhttp.Send strXml 'Envia o XML xmlhttp.waitForResponse 200 xmlResult.loadXML(xmlhttp.ResponseText) xmlResult.save(Server.MapPath("Teste.xml")) response.write "Retorno XML inicio <BR><hr>" if xmlResult.parseError.errorCode <> 0 then response.write "Cod ERRO: " & xmlResult.parseError.errorCode response.write "<br>" response.write "Desc. ERRO: " & xmlResult.parseError.reason else Response.write xmlhttp.ResponseText End if response.write "<BR><hr>Retorno XML FIM<br>" %> XML recebido com sucesso.Isto está me retornando um XML vazio e o seguinte erro:Cod ERRO: -1072896680Desc. ERRO: O documento XML deve ter um elemento de nível superior. valeu !!! Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Agosto 17, 2012 Denunciar Share Postado Agosto 17, 2012 na verdade o erro é auto descritivo os xmls em questão tem de estar corretos... <xml> <cod> ....... </cod> <cod> ....... </cod> <cod> ....... </cod> </xml>você pode pegar a saida do xmlhttp como texto, adicionar as correções e depois dar load nele como xml Link para o comentário Compartilhar em outros sites More sharing options...
0 jonass Postado Agosto 18, 2012 Autor Denunciar Share Postado Agosto 18, 2012 CONSEGUI !!!!!!!O erro que estava dando era porque estava retornando um XML vazio.Isto porque eu estava enviando o xml errado.Eu estava enviando o xml em string, mas deveria estar enviando como xml mesmo.Alterei o trecho abaixo:Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0") Set xmlEnvio = Server.CreateObject("MSXML2.DomDocument.3.0") Set xmlResult = Server.CreateObject("MSXML2.DomDocument.3.0") xmlResult.async = False xmlEnvio.async = False xmlEnvio.loadXML(strXml) if xmlEnvio.parseError.errorCode <> 0 then response.write "Cod ERRO1: " & xmlEnvio.parseError.errorCode response.write "<br>" response.write "Desc. ERRO1: " & xmlEnvio.parseError.reason else Response.write "carregou xml envio com sucesso<br>" End if xmlhttp.Open "POST", sUrl, False 'xmlhttp.Send strXml 'Envia o XML xmlhttp.Send xmlEnvio 'Envia o XMLvaleu bareta, não resolveu diretamente o meu problema mas clareou o meu caminho.... Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jonass
Oi galera,
Sou iniciante no ASP e de cara já tenho que trabalhar com webservide :wacko:
Mas vale o desafio...
Bem, o webservice está funcionando. O problema é fazer a consumir ele no ASP.
Até agora, cheguei no código abaixo:
Isto está me retornando um XML vazio e o seguinte erro:
Cod ERRO: -1072896680
Desc. ERRO: O documento XML deve ter um elemento de nível superior.
valeu !!!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados