Não é possível acessar um webservice a partir de um dispositivo móvel

StackOverflow https://stackoverflow.com/questions/31297

  •  09-06-2019
  •  | 
  •  

Pergunta

Desenvolvi um programa em um dispositivo móvel (Pocket PC 2003) para acessar um serviço web, o serviço web está instalado em um PC com Windows XP SP2 com IIS, o PC possui o IP 192.168.5.2.

O dispositivo obtém da rede wireless o IP 192.168.5.118 e o programa funciona bem, chama o método do web service e executa a ação necessária.Este programa será utilizado em vários edifícios.

Agora estou com esse problema, acontece que quando tento testá-lo em outro prédio (distâncias geralmente em torno de 100 mts.ou 200 mts.) conectado na rede, o programa não consegue se conectar ao webservice, neste momento o dispositivo obtém de um Ponto de Acesso o IP 192.168.10.25, e acessa a mesma máquina XP que afirmei anteriormente (192.168.5.2).Fiz uma página mobile aspx para verificar se consigo acessar o servidor web pela rede e ele carrega no dispositivo, até fiz um winform que acessa o mesmo webservice em um PC daquele prédio e também funciona lá então não não entendo o que está acontecendo.Também tentei fazer ping naquele PC 192.168.5.2 e ele respondeu ativo.

Depois dessa falha voltei ao local original onde testei o programa antes e acontece que ele funciona normalmente.

A única coisa que pareço diferente aqui é que o terceiro número no IP é 10 em vez de 5, outra observação é que não consigo fazer ping para o dispositivo móvel.Sinto-me confuso, não sei o que acontece aqui?Qual poderia ser o problema?

É assim que chamo o serviço web;

//Connect to webservice
svc = new TheWebService(); 
svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
svc.AllowAutoRedirect = false;
svc.UserAgent = Settings.UserAgent;
svc.PreAuthenticate = true;
svc.Url = Settings.Url;
svc.Timeout = System.Threading.Timeout.Infinite;

//Send information to webservice
svc.ExecuteMethod(info);

o conteúdo do app.config no dispositivo móvel é;

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="UserName" value="administrator" />
    <add key="Password" value="************" />
    <add key="UserAgent" value="My User Agent" />
    <add key="Url" value="http://192.168.5.2/WebServices/TWUD.asmx" />
  </appSettings>
</configuration>

Alguém tem uma ideia do que está acontecendo?

Foi útil?

Solução

Isso parece um problema de rede, a menos que haja um bug estranho no .Net CF que não permite que você atravesse sub-redes em determinadas situações (não consigo encontrar nenhuma evidência de tal coisa pesquisando no Google).

Você pode obter algum suporte da equipe de rede/TI?Além disso, você tentou em uma sub-rede diferente?Ou sejanão é o mesmo que a máquina XP (192.168.5.x) e não é o mesmo que não funcionou até agora (192.168.10.).

@Shaun Austin - isso não explicaria por que eles podem acessar uma página da web normal na máquina XP a partir de uma sub-rede diferente.

Outras dicas

Foi um problema de rede, configuramos um servidor proxy e esse era o problema, preciso aprender mais sobre rede.

Não sou um especialista nesse assunto, mas parece que as três primeiras partes do endereço estão sendo mascaradas.É possível que o dispositivo móvel esteja recebendo uma máscara de rede de:

255.255.255.0

Para ir além do alcance das 3 primeiras partes, você precisa que a máscara seja:

255.255.0.0

Isso pode ser uma simplificação exagerada ou completamente errado, mas essa foi minha resposta instintiva à pergunta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top