Я работаю над «проектом Smart Device» с использованием .Net Framework 3.5. Я пытаюсь подключиться к некоторым Java SOAP-сервисам на удаленном сервере.
Чтобы сделать это, я добавил «Веб-ссылки» в свой проект.«Соединение не может быть сделано, потому что целевая машина активно отказалась от этого»
Когда я пытаюсь позвонить в свою веб-службу, я получаю WebException «Невозможно подключиться к удаленному серверу», причем внутреннее исключение «Нет соединения, которое может быть сделано, потому что целевая машина активно отказалась от него».
Я много искал в Интернете и в StackOverflow и нашел много настроек конфигурации ASP и «Unavaliable port», но поскольку у меня есть другое приложение, использующее ту же самую Службу успешно, я не могу понять, почему новый не получает через (это было иногда в моих тестах, так что я полагаю, моя реализация клиента не так уж плохо)
Я попытался посмотреть, есть ли какой-то вопрос подключения к порту с помощью некоторых TcpClient:
System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient();
try
{
client.Connect("myServerName", 8087);
MessageBox.Show("Success");
} catch (Exception ex)
{
MessageBox.Show("Failure");
}
finally
{
client.Close();
}
Это соединение выполнено успешно.
Вот пример того, как я называю мой WebService:
WSServiceExtended srv = new WSServiceExtended();
srv.Proxy = new System.Net.WebProxy();
ServeurWSI wsi = new ServeurWSI();
srv.Url = "http://myServerName:8087/myServerApp/services/myService";
wsr = srv.login(wsi);
Услуга называется «Extended», потому что я перекрытая автоматически сгенерированные один для того, чтобы добавить Cookie Managment, так как я использую Compact Framework , После пробы в этой теме: https://social.msdn.microsoft.com/Forums/en-US/34d88228-0b68-4fda-a8cd-58efe6b47958/no-cookies-sessionstate-in-compact-framework?forum=vssmartdevicesvbcs
EDIT:
Я сделал несколько новых тестов с веб-ссылки и получил его на работу.
Когда я добавляю веб-ссылку, я должен поместить некоторый URL-адрес в веб-службу. Когда я устанавливаю его с фактическим именем хоста вместо «localhost», все в порядке. Но, так как я установил его вручную реальный адрес непосредственно перед вызовом, это должно не важно
srv.Url = "http://myServerName:8087/myServerApp/services/myService";
EDIT2:
я мог забыть некоторые особенности о моей Environnement.
Веб-службы отображаются на моем компьютере на каком-то сервере Tomcat.
Приложение, над которым я работаю, также разработано на этом компьютере (вот почему я могу добавить ссылки на веб-сайты, поставив «localhost» в адрес)
Затем приложение развернуто на удаленном устройстве (Windows CE), которое будет выполнять вызовы Веб-сервисы через WIFI (там, localhost не будет работать тогда)
Я попытался успешно использовать веб-службы с других компьютеров.
Я начинаю думать, что может быть некоторый дифференциал между вызываемым Url и тем, который установлен, иначе как бы у меня была разница в поведении, такая как описанная в первом редактировании?
EDIT3:
Well..Seems, как это не проблема сети, но .Net Compact Framework (использование?) Вопрос ...
Свойство Url реализации веб-службы просто игнорируется, и один в Reference.cs используется на месте.
Если у кого-то была идея о том, как я мог это сделать, я был бы очень признателен.
Если возникла проблема с портом, не будет ли у меня такая же ошибка с TcpClient? И мое другое приложение? Эти последние две работы отлично подходят – Maniz
Оба работают с одной машины? –
Два приложения находятся на разных машинах, но пример кода «TcpClient», который я показал, находится прямо перед вызовом моей веб-службы в том же приложении. – Maniz