Сервис WCF выставил, поскольку ASMX не примет параметры

Мне разработали сервер/клиентское приложение в Delphi 2006. Клиентом является Win32, и Сервер является веб-сервисом .net 1.1.

Мы находимся в процессе updateing этот проект, но он должен быть сделан в небольших шагах. Я запустил с сервера и создал проект WCF в VS2010 (C# .net 4.0). Первый шаг должен получить сервер, работающий в WCF, не изменяя клиент. Таким образом, я использовал шаблон фасада, создал подобный интерфейс к старому Веб-сервису Дельфи, добавила ссылка на старый .net 1.1 dll, и в моей реализации я просто назвал старый код .net 1.1.

Следующий шаг, обновляющий прокси-класс на клиенте. Это перестало работать. Средство импорта WSDL не поняло basicHttpBinding правильно, таким образом, прокси-класс, который был genereated, не мог заменить существующий прокси.

После небольшого количества исследования я нашел это сообщение в блоге.

http://kjellsj.blogspot.com/2006/12/how-to-expose-wcf-service-also-as-asmx.html

Это работало, WSDL ASMX не отличался, чем старый .net 1.1, таким образом, все появилось хорошо.

Но это не было. При тестировании нового сервиса я обнаружил, что все мои параметры были пробелом/пустым указателем на сервере. Я попробовал Скрипачом на клиенте, и параметры присутствует в XML, который отправляется на сервер.

Таким образом, я застреваю. Любые мысли о том, как решить это, очень ценились бы. Есть ли любой код, который мог межпокоиться для наблюдения затем сообщенный мне.

9
задан olve 1 July 2010 в 07:53
поделиться

1 ответ

Я столкнулся с аналогичной проблемой с asmx веб-службы ... некоторые данные теряли свои значения. Если вы используете иерархические данные, вам может потребоваться объявить внутренние или унаследованные объекты с помощью атрибута XmlInclude. Например, если у вас есть класс User, который используется в вашей службе, и подкласс Customer, вам может потребоваться объявить класс Customer для службы, если он не используется непосредственно в веб-методе. Вы бы сделали это следующим образом.

[XmlInclude(typeof(Customer))]
public class Service : WebService

Конечно, это может не иметь к этому никакого отношения, так что удачи, если это так. :)

1
ответ дан 5 December 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: