Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
freaklori

Enviar Credenciais Automaticamente

Recommended Posts

freaklori

Boas,

Estou aqui com uma dificuldade em enviar as credenciais para um Webservice (EXTERIOR)

Ou seja, cada vez que tento aceder ao WebService exterior não me estar sempre a surgir o uma dialog box onde tenho que introduzir o nome de utilizador e palavra passe.

Ah uma ligeira nota estou a usar a framework 2.0 VB , dado que ja vi por ai umas soluções recorrendo a SilverLight e framework 3.5, algo que estou expressamente proibido de utilizar (maldido cliente lol)

O Codigo que tenho é o que se segue mas que nao está a fazer nada...

Public Shared Sub EnviarCredenciais(ByVal Site As String)
        
        Dim C As NetworkCredential

        C = New NetworkCredential("username", "password", "http://webservice_exterior.com")
        Dim Cache As CredentialCache = New CredentialCache()
        Cache.Add(New Uri("http://webservice_exterior.com"), "teste", C)

End Sub
        

Cumps


FAÇO TUDO COM DUAS LINHAS DE CÓDIGO;

Share this post


Link to post
Share on other sites
Hellblazer

Dim myCred As New NetworkCredential(SecurelyStoredUserName,SecurelyStoredPassword,SecurelyStoredDomain )

Dim myCache As New CredentialCache()

myCache.Add(New Uri("www.contoso.com"), "Basic", myCred)
myCache.Add(New Uri("app.contoso.com"), "Basic", myCred)

Dim wr As WebRequest = WebRequest.Create("www.contoso.com")
wr.Credentials = myCache

é o exemplo que está no site da Microsoft  :)

portanto acho que te está a faltar ai qualquer coisa :(


There are two ways to write error-free programs; only the third one works.

Share this post


Link to post
Share on other sites
inginheiiro
System.Net.CredentialCache myCredentials = new System.Net.CredentialCache();
System.Net.NetworkCredential netCred = new System.Net.NetworkCredential("LOGIN","PWD");
                                               
MyWebService.ws w = new MyWebService.ws())                
myCredentials.Add(new Uri(w.Url), "Ntlm", netCred);
w.Credentials = myCredentials;


I used to have a life ... but i bought a programmable machine in 1982 ...

Share this post


Link to post
Share on other sites
freaklori

Bom dia,

Vou testar e já comunico

Quanto ao codigo postado pelo inginheiiro eu penso que nao se adequa ao meu caso dado que estou a instaciar um webservice local, coisa que eu nao tenho dado que é um webservice exterior.

Cumps, e ate já


FAÇO TUDO COM DUAS LINHAS DE CÓDIGO;

Share this post


Link to post
Share on other sites
freaklori

  Public Shared Sub EnviarCredenciais(ByVal Site As String)
        Dim C As NetworkCredential
        C = New NetworkCredential("utilizador", "password", "http://webservice_exterior.com")
        Dim Cache As CredentialCache = New CredentialCache()
        Dim URL As New Uri("http://webservice_exterior.com")
        Cache.Add(URL, "Basic", C)
        Dim WebReq As WebRequest = WebRequest.Create("http://webservice_exterior.com")
        WebReq.Credentials = Cache
    End Sub

O codigo que tenho neste momento é este e continua me a surgir a maldida dialog para efectuar o login... :S


FAÇO TUDO COM DUAS LINHAS DE CÓDIGO;

Share this post


Link to post
Share on other sites
inginheiiro

Bom dia,

Vou testar e já comunico

Quanto ao codigo postado pelo inginheiiro eu penso que nao se adequa ao meu caso dado que estou a instaciar um webservice local, coisa que eu nao tenho dado que é um webservice exterior.

Cumps, e ate já

O código que "postei" não faz diferenciação sobre a localização do webService.

O codigo que "postei", assume que o Url está protegido pelo IIS por autenticação NTLM

cumps


I used to have a life ... but i bought a programmable machine in 1982 ...

Share this post


Link to post
Share on other sites
freaklori

inginheiiro

Entao podes me explicar, ajudar na configurar na adiçao de um windows service ao meu projecto e ele chamar o windows service

exterior

algo assim nao :

WindowService que adicionei ao projecto


Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols

<WebService(Namespace:="http://windows_service_exterior.com")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class WebService
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function HelloWorld() As String
        Return "Hello World"
    End Function


End Class


FAÇO TUDO COM DUAS LINHAS DE CÓDIGO;

Share this post


Link to post
Share on other sites
inginheiiro

nota: WindowsService e WebService são 2 coisas bem distintas.

segundo o teu codigo, é algo do genero:

System.Net.CredentialCache myCredentials = new System.Net.CredentialCache();
System.Net.NetworkCredential netCred = new System.Net.NetworkCredential("LOGIN","PWD");
                                               
WebService w = new WebService()
myCredentials.Add(new Uri(w.Url), "Ntlm", netCred);
w.Credentials = myCredentials;

Console.Writeln(w.HelloWorld());

Supondo que no IIS o acesso ao teu WebService está activada a opção Integrated Windows Authentication


I used to have a life ... but i bought a programmable machine in 1982 ...

Share this post


Link to post
Share on other sites
freaklori

w.Credentials = myCredentials;

Da me um erro nesta linha, julgo que algo nao está bem no webservice.

Não foi localizado o membro público 'Credentials' no tipo 'WebServiceTeste'.


FAÇO TUDO COM DUAS LINHAS DE CÓDIGO;

Share this post


Link to post
Share on other sites
inginheiiro

w.Credentials = myCredentials;

Da me um erro nesta linha, julgo que algo nao está bem no webservice.

Não foi localizado o membro público 'Credentials' no tipo 'WebServiceTeste'.

http://support.microsoft.com/kb/811318

tem que funcionar. Se estás a fazer bem o teu WebService.


I used to have a life ... but i bought a programmable machine in 1982 ...

Share this post


Link to post
Share on other sites
freaklori

Esta na mesma.

Simplesmente adicionei um webservice alterar o local no webservice e nada :S

até tive que definir uma variavel publica com a localizacao do webservice para obter isto new Uri(w.Url)

:S


FAÇO TUDO COM DUAS LINHAS DE CÓDIGO;

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.