none
WebService - Consumindo RRS feed

  • Pergunta

  • Olá pessoal,

    estou com o seguinte problema, elaborei um webservice em c#.Net e não estou conseguindo consumi-lo, webservice não é difícil muito pelo contrário pelo simples fato de que minha aplicação funciona perfeitamente localmente, este webservice funciona da seguinte maneira. Através do código da aplicação que vai consumir o webservice é setado usuário e senha, os mesmos dados no webservice é usado para verificar se bate com o usuário e senha do banco de dados(firebird) do cliente, se sim dae ele instância minha classe de integração e altera a conexão do banco de dados para a do cliente, e então faz a consulta especificada referente ao método :), como disse localmente é uma beleza o problema é o seguinte hospedei este webservice em um servidor especifico, e dentro do webservice ele faz esta consulta para se o usuário e senha do cliente bate com os dados informado em outro servidor, ou seja, o servidor tenta se comunicar com o outro servidor, porém quando isso acontece ele retorna o seguinte erro:

    Ocorreu o seguinte erro no método GetCliente, System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto. em WebService_CtrlShop2._0.Dados.DAL.RetornaDataSet(FbCommand oDBCommand, FbConnection oDBConnection) em WebService_CtrlShop2._0.Dados.DAL.RetornaDataSet(String sql, FbConnection oDBConnection) em WebService_CtrlShop2._0.Dados.DaoCliente.GetCliente(String sCodigoCliente) em WebService_CtrlShop2._0.Negocio.IntegrarCliente.GetCliente(String sCodigoCliente) em WebService_CtrlShop2._0.WS.Clientes.GetCliente(String sCodigoCliente)

    To achando que é alguma configuração no servidor de hospedagem como bloqueio de porta, firewall bloqueando esta solicitação,

    porém é que não entendo muito da parte de Infra se alguém poder me ajudar fico agradecido,

    pois pesquisei isso em vários lugares porém nada parecido com o meu problema em relação o webservice estar

    tentando se comunicar com outro servidor...

    quinta-feira, 17 de janeiro de 2013 16:49

Todas as Respostas

  • A String de conexão você alterou, preencheu corretamente, antes de publicar em produção (AMBIENTE) ???

    Ta parecendo ser problema de acesso a fonte de dados, você acessa  FireBird por alguma porta, essa porta tá liberada no Firewall ???


    Leonardo Lourenço Silva

    quinta-feira, 17 de janeiro de 2013 21:56
  • String de conexão está OK, quando acesso um método do meu webservice usando uma aplicação para consumir o mesmo, devo informar usuário e senha este usuário e senha retorna a conexão do cliente alterando a string de conexão, como disse está localmente tudo ok, pois minhas strings de conexão são em ambiente de produção, ou seja, tenho banco de dados disponível em nosso servidor contratado, mas quando coloquei meu webservice no servidor de produção deu este erro pois uso 2 servidores diferentes um onde está hospedado o webservice e outro que está as bases dos clientes, logo estou achando que éa comunicação entre estes 2 servidores.

    Referente a segunda pergunta sim está usando a porta 3050 na conexão com o servidor para verificar se o cliente tem algum banco de dados referente a senha, porém uso a mesma conexão em teste local e funciona, ou seja, minha aplicação local consegue se conectar com o banco que está em produção, logo deu a entender que é a comunicação onde foi hospedado meu webservice com o servidor que contém as bases dos clientes. Agora lhes pergunto pode ser alguma coisa no firewall no servidor de hospedagem que barra isso, alguma configuração e se alguém ja passou por este problema como resolveu...

    sexta-feira, 18 de janeiro de 2013 10:33
  • O erro está dizendo que vc está tentando utilizar um objeto não instanciado dentro do método: RetornaDataSet(FbCommand oDBCommand, FbConnection oDBConnection)

    Eu acho que o erro não é beeem na conexão... Senão daria uma NetworkException ou algo parecido...

    Tenta validar se os objetos utilizados são != null...

    Abs,

    Jefferson S. Balivo

    sexta-feira, 18 de janeiro de 2013 16:01