AUTENTICANDO NO WEBSERVICE

JMANGAS 01/02/2014 14:40:28
#434052
Pessoal,

Estou tentando me comunicar com um WEB Service para acessar seus métodos:

Consigo acessar o método [Ô]Login[Ô] e receber a mensagem que está autenticado [Ô]OK[Ô], porém, não consigo manter a sessão para acessar os outros métodos ele retorna que usuário não está autenticado para acessar os demais métodos.

Para testar a comunicação criei o seguinte código:

WebService.ProdutoSoapClient webServiceSoapProduto = new WebService.ProdutoSoapClient();

private void button1_Click(object sender, EventArgs e)
{
string mLogin = [Ô]Teste[Ô];
string mSenha = [Ô]123[Ô];

webServiceSoapProduto.Login(mLogin, mSenha);

// Se eu colocar no textBox e acessar um elemento do método ele retorna que usuário está autenticado.

textBox3.Text = webServiceSoapProduto.Login(mLogin, mSenha).mensagem;


// E quando tento acessar outro método ele diz que não estou autenticado, como exemplo quando acesso um elemento do método ListarProdutoPorPeriodo ( Onde os parâmetros são os seguintes: ListarProdutoPorPeriodo(String plogin, String Data Inicial, String Data Final, Long Quantidade de Produtos)

mDescricao = webServiceSoapProduto.ListarProdutoPorPeriodo([Ô]Teste[Ô], [Ô]01/01/2013[Ô], [Ô]31/01/2014[Ô],10).produto.Descricao;


Como faço para manter conectado e acessar os outros métodos?

Grato.

NILSONTRES 01/02/2014 15:16:38
#434053
Pois é, eu também não consigo, consigo até criar uma sessão do tipo session([Ô]ID[Ô])=[Ô]1111[Ô], mas não consigo aumentar o time out.
fica no maximo 35 segundos.
Não sei se é isso que vc esta tentando fazer também.
KERPLUNK 03/02/2014 09:26:04
#434107
Perguntas:
- O que retorna o método Login?
- O que é o parâmetro plogin no método ListarProdutoPorPeriodo?

Estou achando que o método login retorna um valor que deve ser passado no método [Ô]listar[Ô] e em todos os demais...
JMANGAS 03/02/2014 10:25:11
#434111
KERPLUNK,

Valeu pelo seu apoio, mal estou entrando nessa peguei essa banana para descascar... Não fui eu que construi o modelo apenas tenho que acessar....

- O que retorna o método Login?
IndSucesso - onde é um boolean
Mensagem - string

Executando o método Login consigo o seguinte retorno:

IndSucesso: TRUE
Mensagem: [Ô]Usuário Autenticado[Ô]


- O que é o parâmetro plogin no método ListarProdutoPorPeriodo?

- Pelo que entendi é o login do usuário, porém, o que foi passado é :

Tenho que utilizar o método login , manter a sessão para que o serviço identifique que você está autenticado e só então acessar os demais métodos.


Tentei usar [Ô]ClientCredentials[Ô], mas, não consegui montar entre o login e ListarProdutoPorPeriodo...

Grato.




KERPLUNK 03/02/2014 13:59:46
#434135
Verifique se você não está reinstanciando o serviço à cada chamada e que está passando o nome do usuário corretamente em cada método ao invés de [Ô]teste[Ô]
OCELOT 03/02/2014 14:58:22
#434138
Se não foi você que fez o WebService você deveria ver com quem fez ele como deve ser usado corretamente.

Uma coisa que pode estar acontecendo é que se este WebService usa Cookies você pode ter que habilitar elas no seu programa.

Como você aparentemente usa o WCF para acessar o WebService você pode olhar no seu App.config que provavelmente você vai ter algo do tipo

<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name=[Ô]ProdutoSoap[Ô]/>
</basicHttpBinding>
</bindings>

O que precisa mudar ali é adicionar um allowCookies=[Ô]true[Ô] no binding, ficando

<binding name=[Ô]ProdutoSoap[Ô] allowCookies=[Ô]true[Ô] />
JMANGAS 03/02/2014 15:43:10
#434141
Prezado KERPLUNK,

Não estou .....
JMANGAS 03/02/2014 15:54:07
#434143
Prezado OCELOT,

Está do jeito que vc falou, coloquei o que vc informou.... Só que eu nunca trabalhei com isso....

Após executar o método Login(mLogin,mSenha)
eu consigo guardar esse retorno parta acessar os outros métodos?

O que me passaram foi que após a execução do login, eu preciso manter a sessão para que o webservice identifique que você está autenticado e só então acessar os demais métodos.

Grato.
OCELOT 03/02/2014 16:20:32
#434145
Se já está com o allowCookies=[Ô]true[Ô] e você está usando sempre a mesma instancia do ProdutoSoapClient então só quem fez o WebService para te dizer o que está errado.
JMANGAS 03/02/2014 16:50:07
#434148

Mas eu tenho que [Ô]tratar[Ô] esses cookies? Para uma identificação não seria necessário guardar em algum container ou algo parecido.




OCELOT 03/02/2014 17:17:46
#434151
Com o WCF acredito que seja só marcar o allowCookies no App.config que ele cuida sozinho disso
Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas