При попытке вызвать метод веб-службы .NET я получаю исключение Java Socket «Тайм-аут операции». Я использовал множество примеров в Интернете, чтобы заставить мой андроид вызывать веб-сервис .net.
Я запускаю веб-сервис, используя VS2010 в режиме отладки. Веб-метод, который я вызываю, очень прост -> "string GetVersion ()"
Я прочитал некоторые сообщения о том, что eclipse необходимо настроить для доступа к Интернету, изменив настройки прокси-сервера «Preferences -> General -> Network Connections» из пункта меню Window. Я не смог точно определить, что мне нужно настроить в Прокси, чтобы заставить вещи работать, если в этом проблема.
Я также попытался получить доступ к корневой странице веб-службы .net (service.asmx) с моего Android, но безуспешно. Я могу получить доступ к странице asmx без проблем, используя IE на локальной машине. Я выключил брандмауэр, и это тоже ничего не решило. Это первый раз, когда я пытался получить доступ к веб-службе с удаленного компьютера, когда он работал с использованием VS2010 в режиме отладки.
Я не знаю, есть ли у меня проблемы с конфигурацией на стороне затмения или на стороне VS2010.
Я также использую Windows 7 Home Premium.
Есть идеи?
Ниже приведен фрагмент кода ...
private static final String SOAP_ACTION = "http://192.168.1.151/MyWebService/GetVersion";
private static final String METHOD_NAME = "GetVersion";
private static final String NAMESPACE = "http://192.168.1.151/MyWebService";
private static final String URL = "http://192.168.1.151/MyService.asmx";
private void Connect()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
System.out.println("DEBUG >> HttpTransport.call()");
try
{
androidHttpTransport.call(SOAP_ACTION, envelope);
}
catch(IOException iexc)
{
System.out.println("EXCEPTION >> " + iexc.toString());
}
catch(XmlPullParserException xexc)
{
System.out.println("EXCEPTION >> " + xexc.toString());
}
try
{
Object result = (Object)envelope.getResponse();
tv.setText(result.toString());
}
catch (SoapFault sp)
{
System.out.println("EXCEPTION >> " + sp.toString());
}
}