Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

allan.web

consumir webservice XML com login e senha

Recommended Posts

Bom dia pessoal.

 

Estou com problemas para consumir um webservice que retorna os dados via XML, e para ser acessado deve ser enviado o Login e Senha para acesso.

 

Alguém já fez esse procedimento?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

Crie um arquivo cls_webservices.asp

 

<code>

<%

Option Explicit

 

 

'****************************************************

' Classe para WebService

'****************************************************

 

Class WebService

Public Url

Public Method

Public Response

Public Parameters

 

' Funcao para Invokar o WebService

Public Function Invoke()

Dim xmlhttp

Set xmlhttp = Server.CreateObject("MSXML2.XMLHTTP")

xmlhttp.open "POST", Url & "/" & Method, false

xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

xmlhttp.Send Parameters.toString

response = xmlhttp.responseText

set xmlhttp = nothing

End Function

 

 

Private Sub Class_Initialize()

Set Parameters = New wsParameters

End Sub

 

Private Sub Class_Terminate()

Set Parameters = Nothing

End Sub

 

End class

 

'****************************************************

' Classe para wsParameters

'****************************************************

Class wsParameters

Public mCol

Public Function toString()

Dim nItem

Dim buffer

buffer = ""

For nItem = 1 to Count

buffer = buffer & Item(nItem).toString & "&"

Next

If right(buffer,1)="&" then

buffer = left(buffer,len(buffer)-1)

End if

toString = buffer

End Function

 

Public Sub Clear

set mcol = nothing

Set mCol = Server.CreateObject("Scripting.Dictionary")

End Sub

 

Public Sub Add(pKey,pValue)

Dim NewParameter

 

Set NewParameter = New wsParameter

NewParameter.Key = pKey

NewParameter.Value = pValue

mCol.Add mCol.count+1, NewParameter

 

Set NewParameter = Nothing

End Sub

 

Public Function Item(nKey)

Set Item=mCol.Item(nKey)

End Function

 

Public Function ExistsXKey(pKey)

Dim nItem

 

For nItem = 1 to mcol.count

If mCol.Item(nItem).key = pKey Then

ExistsXKeyword = True

Exit For

End if

Next

End Function

 

Public Sub Remove(nKey)

mCol.Remove(nKey)

End sub

 

Public Function Count()

Count=mCol.count

End Function

 

Private Sub Class_Initialize()

Set mCol = Server.CreateObject("Scripting.Dictionary")

End Sub

 

Private Sub Class_Terminate()

Set mCol = Nothing

End Sub

 

End class

 

'****************************************************

' Classe para wsParameter

'****************************************************

Class wsParameter

Public Key

Public Value

Public Function toString()

toString = Key & "=" & Value

End Function

End Class>

 

</code>

 

Criar um arquivo onde voce vai fazer sua consulta, o exemplo abaixo realiza uma consulta de exemplo no www.consultacpf.com

<code>

<!--#include file="cls_webservice.asp"-->

<%

dim ws

 

set ws = new webservice

ws.url = "http://www.consultacpf.com/webservices/consultacpf.asmx"

' Podendo ser: ConsultaSaldoCliente, ConsultaSinteseCadastralSERASA, ConsultaSimplesSERASASandBox, ConsultaSimplesSERASA, ConsultaDetalhadaSERASA

' Maiores Informações: http://www.consultacpf.com/webservices/consultacpf.asmx

ws.method = "ConsultaDetalhadaSERASA"

 

ws.parameters.Add "Email","seuemailaqui"

ws.parameters.Add "Senha","suasenhaaqui"

ws.parameters.Add "Documento","cpf/cnpj a ser consultado"

 

ws.Invoke

response.Write ws.response

 

set ws = nothing

>

</code>

Este exemplo mostra como é facil chamar um webservice e receber um XML de retorno. Claro que você pode adaptar este código para fazer consultas em outro webservice qualquer.


Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Já havia tentado com esse exemplo, porem para acessar os dados, preciso enviar alguns parametros que contem login e senha, e essa parte que não consegui adaptar nesse código.

 

Os parametros enviados devem ser da seguinte maneira:

 

<requisicao in_schema="F">
<loginws cd_loginws="LOGIN" cd_senhaws="xxxxxxxxxxx" />
<pessoa acao="con" cd_pessoa="00000" />
</requisicao>
Alguma dica de como enviar esses parametros adaptando o código passado acima?
Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.