Как получить доступ к службе рабочего процесса в Silverlight? - PullRequest
1 голос
/ 25 августа 2011

У меня есть одна служба worflow с именем GetDataWorkflowService.xamlx, которую я хочу использовать в Silverlight.

Когда я добавляю ссылку на службу в свое приложение, она выдает сообщение «Эта операция не поддерживается для относительного URI».«.Однако он по-прежнему добавляет ссылку.

Когда я использую ссылку:

Servicelient proxy=new ServiceClient();
proxy.GetDataCompleted += (o, a) => Debug.WriteLine("Result is " + a.Result);
proxy.GetDataAsync(123);

Я получаю следующую ошибку:

Произошла ошибка при попыткесделать запрос к URI 'http://localhost:1234/GetDataWorkflowService.xamlx'. Это может быть связано с попыткой доступа к службе междоменным способом без надлежащей междоменной политики или с политикой, которая не подходит для служб SOAP.Вам может потребоваться связаться с владельцем сервиса, чтобы опубликовать файл междоменной политики и убедиться, что он позволяет отправлять HTTP-заголовки, связанные с SOAP.Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute.Пожалуйста, смотрите внутреннее исключение для более подробной информации.

Я не понимаю, что происходит.

Ответы [ 2 ]

0 голосов
/ 26 августа 2011

Проверьте ваш проект запуска, чтобы убедиться, что вы запускаете веб-проект, а не проект Silverlight.Подробнее см. Устранение неполадок служб Workflow / Silverlight в моем блоге

0 голосов
/ 25 августа 2011

Несколько вещей:

  • Что произойдет, если вы используете тестовый клиент WCF для вызова GetData ()?Вы получаете сообщение об ошибке или это работает нормально?Если вы получаете здесь ошибку, сконцентрируйтесь на серверных частях.
  • Что произойдет, если вы установите ссылку на службу из консольного приложения и вызовете службу рабочего процесса.Та же ошибка или это работает?
  • Служба рабочего процесса размещена на том же веб-сайте, что и клиент Silverlight?Если нет, у вас правильно настроены файлы междоменной политики.
  • Предполагается, что тестовый клиент WCF работает.Откройте fiddler и сравните запрос от вашего клиента Silverlight с запросом от тестового клиента WCF.Чем отличается?
  • Включите трассировку на сервере, чтобы увидеть, есть ли какие-либо исключения или предупреждения, которые могут дать более полное представление о том, что не так.
...