Прозрачный переход с веб-сервиса asmx на сервис wcf - PullRequest
1 голос
/ 09 декабря 2010

Я работаю над проектом, в котором заменяю веб-сервис asmx сервисом wcf.Однако в переходный период я ​​бы хотел, чтобы оба работали на наших клиентов.

Итак, я немного достиг этого, однако наткнулся на стену во время некоторых испытаний.Я получаю следующее сообщение:

Метод тестирования IntegrationTests.StrictMatchTests.StrictProviderPass сгенерировал исключение: System.Web.Services.Protocols.SoapHeaderException: сообщение с действием 'https://secure.mydomain.net/core/myMethod' не может быть обработано вполучатель из-за несоответствия ContractFilter в EndpointDispatcher.Это может быть связано либо с несоответствием контракта (несоответствующие действия между отправителем и получателем), либо с несоответствием привязки / безопасности между отправителем и получателем.Убедитесь, что отправитель и получатель имеют одинаковый контракт и одну и ту же привязку (включая требования безопасности, например, Message, Transport, None).

У меня есть файл asmx, и я могу использовать его кактрадиционный веб-сервис.Тем не менее, они не совместимы со старым сервисом.Если я использую новый сервис, он работает просто отлично.Но я хотел бы, чтобы этот начальный переход был прозрачным для конечного пользователя, и постепенно он использовал сервис wcf со временем.

Кто-нибудь занимался чем-то подобным раньше?Если да, не могли бы вы указать мне правильное направление?

Заранее спасибо!

1 Ответ

1 голос
/ 15 декабря 2010

Мне удалось решить эту проблему.Я обнаружил, что между этими двумя контрактами есть разница.Одно из свойств в контракте данных имело различие в регистре.Исправлено это решило проблему.Я понял это, получив копию сгенерированной ссылки на сервис для старого сервиса и нового сервиса.Я сравнил две ссылки рядом и заметил разницу в регистре.

Джон - спасибо за ваши предложения выше.

...