![]() |
|
Модераторы: gambit |
![]()
|
|
| csprogrammer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
У меня стоит ASP.NET AJAX 1.0 RC. Как из аякс-приложения вызвать веб-сервис с другого веб-сервера? Я создаю ASP.NET AJAX-Enabled Web Site. Далее если я добавляю веб-сервис прямо в проект, всё прокатывает, а стоит мне только поменять ссылку (в теге <asp:ServiceReference Path="http://localhost/ajax_site2/WebService.asmx" />) на такойже вебсервис, но по другому адресу, ничего не работает. Выдаётся ошибка javascript: WebService - определение отсутствует (WebService разумеется это название класса веб-сервиса).
Это сообщение отредактировал(а) csprogrammer - 25.12.2006, 17:27 |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
csprogrammer, тебе нужно пересоздавать прокси класс, а не только менять ссылку в WDSL
-------------------- |
|||
|
||||
| 6atoh |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 15.9.2006 Где: Minsk Репутация: 1 Всего: 4 |
Лучше сразу переколбасить конструктор прокси-класса чтобы он принимал url в качестве параметра.
|
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 2 Всего: 5 |
Если нужно показать результат вызова WebService с другого сайта, то я бы делал все-таки AJAX вызов на "родной" сервер, где и вызывал бы WebService с другого сайта...
ЗЫ. Может быть не совсем оригинально, но несколько моих проектов благополучно работают по такой схеме. |
|||
|
||||
| csprogrammer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Pankon, спасибо, у меня была такая мысль, но хотелось бы всё-таки избежать избыточного кода.
Mymik, 6atoh, имеется в виду прокси на C# или на javascript? Если имеется в виду прокси на javascript, то где взять его текст, он же вроде генерируется на лету? А если имеется в виду прокси на C# то при чём здесь он? В данном случае в моём проекте даже экземпляр класса прокси нигде не создаётся. |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
кхм... а как ты тогда вообще обращаешься к сервису ??? O_o Образение к сервису возможны только с помощью прокси класса... При запуске проекта asp.net скорее всего проверяет полную работоспособность и компилируемость всех файлов cs, на которые идет ссылки, типа Web Refferent, и просто код из App_Code... И возможно именно по этой причине проект вообще не стартует... Добавлено @ 20:16 csprogrammer, попробуй пересоздать прокси класс для своего веб сервиса, и потом опять запустить свой проект... Если он отлично запуститься, тогда гоу искать различия в прокси классах и тогда в записке по установки сайта напишешь что нужно будет изменить. Если же не в этом проблема... значит... значит ищи ошибки в своем коде. -------------------- |
|||
|
||||
| csprogrammer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Я чувствую что у меня каша в голове. Давайте попробуем начать сначала. Возьмём пример Exception-а:
пример Hello World Где у него там на C# создаётся объект класса веб-сервиса? Ни где! Т.к. веб сервис вызывается не из C#, а из javascript: // Мы вызываем наш Web-сервис, передавая ему // функцию, которая вызывается по получении ответа AtlasTest.WebService.HelloWorld(onRequestComplete); Вот и у меня также сделано. И вот здесь то и возникает ошибка. Если веб-сервис находится на другом веб-сервере, то браузер говорит, что не знаю что такое AtlasTest (или WebService, если namespace не использовать). А тот же самый веб-сервис, если находится в папке с asp-приложением работает без проблем. |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 2 Всего: 15 |
Я только начинаю на ASP.NET писать. Но могу предположить. Насколько я понимаю, если файлы в одной папке, это то же самое что для невеб
-------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| csprogrammer |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
Я тоже недавно пишу на ASP.NET, но могу предположить что вы, дорогой Naum, заблуждаетесь
|
|||
|
||||
| Zakonnic |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 25.4.2006 Репутация: 3 Всего: 6 |
Эээ... Не уверен, что это еще кому-нибудь нужно, но...
В указанном коде AtlasTest - это локальный namespace, Мне каааааажется (
Короче, точно не скажу, но если ты юзаешь в локальном java метод класса, то видимо, этот java-класс создается автоматически из кода на C# (вообще, дело темное). Отсюда вывод - не известно, откуда этот класс берет путь к сервису. Мой совет - добавить Web Refference на этот сервис по нужному адресу и прописать ссылку на него не руками, а через дизайнер или что-то подобное (через средства VS короче). Почему-то мне кажется, что такая возможность должна быть. ЗЫ: Просьба громко не кричать. Все вышесказанное - чистые домыслы и не проверено практикой. --------------------
...и никогда не пишите в комментариях правду |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |