![]() |
Модераторы: gambit, Kefir, Partizan |
![]() ![]() ![]() |
|
RuBoris |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.12.2008 Репутация: нет Всего: нет |
Всем добрый день!
Получаю ошибки при использоваии Web service из Silverlight. Даже самый просто код, создаю вэб службу по умолчанию с таким методом
А в моем Silverlight проекте добавляю ссылку на эту службу и при клике на одну кнопку делаю так:
Ошибку получаю в коде, который создается автоматически (файл Reference.cs):
Код ошибки такой: An error occurred while trying to make a request to URI 'http://localhost:1563/SimpleWebService/Service.asmx'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. Please see the inner exception for more details. Пожалуйста, поделитесь у кого есть какие соображения. Спасибо. ЗЫ: Вэб служба сама по себе работает нормально, проверял из консольного приложения. Это сообщение отредактировал(а) RuBoris - 20.1.2009, 12:26 |
||||||
|
|||||||
Gelis |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 26.10.2006 Где: Брест Репутация: нет Всего: 4 |
В свойствах проекта для веб сервиса поставь порт как статический и перебилдь проект. Должно помочь.
Если не поможет, то: http://silverlightuk.blogspot.com/2008/02/...oss-domain.html |
|||
|
||||
RuBoris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.12.2008 Репутация: нет Всего: нет |
переход на статический порт не помог.
а вот с настройками cross-domain-policy я что-то не понял...как их использовать. Создаю в корневом каталоге вэб сервиса файл crossdomain.xml с таким содержимым <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*" /> </cross-domain-policy> этого должно быть достаточно?...на стороне silverlight что-нибудь надо делать? сейчас ошибка та же самая, что я делаю не так? |
|||
|
||||
Gelis |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 26.10.2006 Где: Брест Репутация: нет Всего: 4 |
Мне в свое время с такой же ошибкой помогла установка порта статическим :(
|
|||
|
||||
RuBoris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.12.2008 Репутация: нет Всего: нет |
Хэлп ми плиз!!!! Нужно настроить позарез cross-domain-policy.
Всего один файл нужно настроить небольшой как я понимаю, а ничего не работает! |
|||
|
||||
likegift |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 14.10.2008 Репутация: 2 Всего: 3 |
была такая проблема, 2 дня ковырялся.
если все еще не работает, то могу в архивах покапаться |
|||
|
||||
RuBoris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.12.2008 Репутация: нет Всего: нет |
Нет, проблему я так и не решил. Но покопавшись в настройках IIS сейчас хотя бы изменилось то, что можно обращаться из SL к вэбслужбе, но только если SL проект запущен в VS, а если запустить отдельно тестовую страницу для SL объекта, то ошибка по-прежнему такая:
------------------------ System.ServiceModel.CommunicationException: An error occurred while trying to make a request to URI 'http://192.168.0.1/MyService/MyService.asmx'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. Please see the inner exception for more details. ---> System.Security.SecurityException ---> System.Security.SecurityException: Security error. at System.Net.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) at System.Net.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState) at System.Net.AsyncHelper.<>c__DisplayClass2.<BeginOnUI>b__0(Object sendState) --- End of inner exception stack trace --- at System.Net.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state) at System.Net.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result) --- End of inner exception stack trace --- at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result) at System.ServiceModel.ClientBase`1.ChannelBase`1.EndInvoke(String methodName, Object[] args, IAsyncResult result) at MyComp.MyService.MyServiceSoapClient.MyServiceSoapClientChannel.EndGetDynamicParams(IAsyncResult result) at MyComp.MyService.MyServiceSoapClient.MyComp.MyService.MyServiceSoap.EndGetDynamicParams(IAsyncResult result) at MyComp.MyService.MyServiceSoapClient.OnEndGetDynamicParams(IAsyncResult result) at System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result) ------------------------ Что могу делать не так, или делаю что не надо? |
|||
|
||||
likegift |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 14.10.2008 Репутация: 2 Всего: 3 |
попробуй обращаться к сервису из кода сильвера вот таким образом:
а то ты когда деплоишь проект, у тебя теряется путь до сервиса, поэтому ИИС начинает гнать про кроссдомен. и это.. используй wcf - сервис вместо web - сервиса. |
||||
|
|||||
RuBoris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.12.2008 Репутация: нет Всего: нет |
объясните пожалуйста, что такое "BasicHttpBinding_Service1" (параметр endpointConfigurationName)
в мсдн немногосложно (((((: The name of the endpoint in the application configuration file. а также: Use this constructor (ClientBase(string endpointConfigurationName,string remoteAddress)) to determine the target endpoint information from the name of the endpoint in an application configuration file (The target value is located by finding the name attribute of the client <endpoint> element) and the specified address. Это сообщение отредактировал(а) RuBoris - 11.2.2009, 15:12 |
|||
|
||||
likegift |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 14.10.2008 Репутация: 2 Всего: 3 |
ну давай по шагам. исходники примера кинул сюда
![]() открываем 8ую студию. создаем новый проект TestSilver. ![]() удаляем лишние файлы, а тестовую страницу переменовываем в TestPage. ![]() добавляем в TestSilverWeb наш новый сервис. ![]() обзываем его Service1. на всякий случай компилириуем ![]() и добавляем в сирвилат. ![]() здесь жмем кнопку Discover, система находит наш единственный сервис. мы жмем на него, обзываем, к примеру, ServiceReference и кликаем на кнопку ОК. ![]() далее, открываешь файл ServiceReferences.ClientConfig и правишь ссылку. красным я подчеркнул имя, которым мы назовем нашу папку на веб сервере при публикации. ребилдим наш солюшн и публикуем ![]() публикуем наш проект на веб сервер и пробуем запустить отдельно наш Сервис. пока не запустится -дальшу лезть бесполезно, потому проверяем включена ли анонимная авторизация на сервере для нашего веб-приложения MyServiceTest, а так же проверяем работает ли наш пул. ![]() если все хорошо, то появляется примерно вот такое окно, после запуска сервиса ![]() дальше самое приятное. если все хорошо, то запускаем нашу тестовую страницу и жмем кнопку. Это сообщение отредактировал(а) likegift - 11.2.2009, 21:20 |
|||
|
||||
RuBoris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.12.2008 Репутация: нет Всего: нет |
спасибо
|
|||
|
||||
likegift |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 14.10.2008 Репутация: 2 Всего: 3 |
заработало? |
|||
|
||||
RuBoris |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.12.2008 Репутация: нет Всего: нет |
да
больше я не запускаю тестовую локальную html страницу, а запрашиваю SL объект с web-сервера) Это сообщение отредактировал(а) RuBoris - 17.2.2009, 18:20 |
|||
|
||||
astikk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 21.2.2010 Репутация: нет Всего: нет |
Привет! всем, сразу прошу прощения если немножко ошибся топиком, для размещения темы
есть вопрос такого характера: я использую связку Silverlight + .RIA есть бд на серверной стороне. для неё делаю DomainEntityModel. выбираю базу. таблицы. все как надо далее создаю DomainEntityClass под мою модель данных. проблема заключается в том что: после сборки приложения в сгеренированном классе на стороне клиента =( у меня отсутствуют методы для работы с моделью =( что я не так сделал? ![]() |
|||
|
||||
Tishka88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 11.4.2010 Репутация: нет Всего: нет |
Всем доброго дня!!!...та же самая проблема, что у ТС...как можно ее решить, если использовать все таки web service, а не WCF Service???...
![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |