Использовать веб-сервис из библиотеки классов - PullRequest
3 голосов
/ 13 июня 2011

Я успешно создал веб-сайт ASP.net для совершения звонков в веб-службу Soap.

Теперь мне нужно превратить ее в библиотеку классов, которую я могу вызывать через Com из Classic ASP.

Это сообщение о Использование веб-службы в приложении asp.net из библиотеки классов говорит о том, что мне нужно добавить веб-службу, поскольку для добавления ссылка на веб-сервис.

Когда я пытаюсь это сделать, я получаю сообщение об ошибке:

Метаданные содержат ссылку, которая не может быть решен: «http://theURL.com:8008/asmx/publicServiceAddress.asmx?wsdl'.
При загрузке произошла ошибка «http://theURL.com:8008/asmx/publicServiceAddress.asmx?wsdl'.
невозможно подключиться к удаленному серверу Попытка подключения не удалась, потому что подключенная сторона не правильно ответить через некоторое время или не удалось установить соединение, потому что подключенный хост не смог ответить 77.95.80.35:8008 Метаданные содержат ссылку, которая не может быть разрешена: «http://theURL.com/asmx/publicServiceAddress.asmx'. Метаданные содержат ссылку, которая не может быть решен: «http://theURL.com/asmx/publicServiceAddress.asmx'.
Если услуга определена в текущее решение, попробуйте построить решение и добавление услуги ссылка снова.

... но когда я нажимаю на «Дополнительно», а затем добавляю «Добавить веб-ссылку», я могу добавить его отлично.

Вопросы:

1) Необходимо ли использовать «Добавить ссылку на службу» вместо «Добавить веб-ссылку»?
2) Почему, в чем разница?
3) Каковы потенциальные причины этой ошибки, и как я могу это выяснить, например, я не знаю, почему он собирается на порт 8080 для поиска WSDL http://theURL.com:8008/asmx/reguspublic.asmx?wsdl, когда он должен перейти к http://theURL.com/asmx/reguspublic.asmx?wsdl

Ответы [ 2 ]

5 голосов
/ 13 июня 2011

Ссылка на службу предназначена для служб Windows Communication Foundation (WCF) и служб данных WCF, где в качестве веб-ссылки используется при использовании устаревших веб-служб или asmx.

Так что для «asmx» вы должны использовать веб-ссылку, а не сервисную ссылку.

http://alexduggleby.com/2008/08/24/add-web-reference-instead-of-service-reference-in-visual-studio-2008/

По поводу ошибки:
Службы WCF предоставляют метаданные, которые позволяют им взаимодействовать с различными видами конечных точек и данных. Веб-сервисы .NET 2.0 asmx имеют только одну конечную точку @ SOAP. Таким образом, веб-сервисы «asmx» не предоставляют метаданных, из-за которых возникает ошибка.

1 голос
/ 13 июня 2011

нет, в этом нет необходимости, вам нужно скопировать конфигурацию веб-сервиса в конфигурацию приложения целевых исполняемых файлов, потому что когда вы помещаете веб-сервис в библиотеку, когда вызываете его из библиотеки, веб-сервис ищет конфигурацию из .exe.config, который не существует

Вы можете программно установить URL веб-сервиса, как я сделал

  AC.CCRS.WebService.MyWebServices c = new AC.CCRS.WebService.MyWebServices ();
            c.Url =... "the webservice host url
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...