powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Проблема с наследованным типом.
5 сообщений из 5, страница 1 из 1
Проблема с наследованным типом.
    #38803751
WorkerAwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.

Мне нужно написать сервис по существующей WSDL.

Обнаружилась весьма неприятная организация - после того, как обрабатываю WSDL через ScvUtil, создаются, вроде бы, нормальные контракты.

НО, когда я строю на этих контрактах свой сервис, а затем пытаюсь написать тестового клиента (да и вообще, просто подключаюсь через WcfTestClient) - не подцепляется информация о типе.

Важно примечание - не подцепляется информация о наследовании.

Вот код,к оторый сгенерил ScvUtil, и на котором я запускаю службу

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
[System.Diagnostics.DebuggerStepThroughAttribute()]
[MessageContract(IsWrapped = true, WrapperName = "GetMyInfo",
                   WrapperNamespace = "http://MyInfo.ru/goods")]
public partial class GetMyInfo : MessageRoot {
}


[System.Diagnostics.DebuggerStepThroughAttribute()]
[MessageContract(IsWrapped = true, WrapperName = "MessageRoot",
                   WrapperNamespace = "http://MyInfo.ru/goods")]
public partial class MessageRoot {



А вот код, который создает тестовый клиент, при импортировании службы:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ServiceModel.MessageContractAttribute(WrapperName="GetMyInfo", 
						  WrapperNamespace="http://MyInfo.ru/goods", 
						  IsWrapped=true)]
    public partial class GetMyInfo {
        
        public GetMyInfo () {
        }
    }



нету никакой ссылки на тип MessageRoot !! А по сути, в нем все поля и хранятся.

Подскажите пожалуйста в чем может быть дело.
...
Рейтинг: 0 / 0
Проблема с наследованным типом.
    #38803763
RomanH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблема с наследованным типом.
    #38803782
WorkerAwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сделал

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
[System.Diagnostics.DebuggerStepThroughAttribute()]
[MessageContract(IsWrapped = true, WrapperName = "GetMyInfo",
                   WrapperNamespace = "http://MyInfo.ru/goods")]
[KnownType(typeof(MessageRoot))]
public partial class GetMyInfo : MessageRoot {
}


[System.Diagnostics.DebuggerStepThroughAttribute()]
[MessageContract(IsWrapped = true, WrapperName = "MessageRoot",
                   WrapperNamespace = "http://MyInfo.ru/goods")]
public partial class MessageRoot {



Но не помогло, к сожалению.
Как я понимаю этот атрибут нужно накладывать на класс-наследник (т.е. на GetMyInfo в моем случае ) ?
...
Рейтинг: 0 / 0
Проблема с наследованным типом.
    #38803798
WorkerAwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UPD.

Добавил атрибут KnownType, к классу
а также добавил атрибут ServiceKnownType на интерфейс службы:

Код: c#
1.
2.
3.
4.
[ServiceKnownType(typeof(GetMyInfoInfoResponse))]
[ServiceKnownType(typeof(GetMyInfo))]
[ServiceKnownType(typeof(MessageRoot))]
public interface IMyServiceBinding {




не помогло. При добавлении ссылке на службу - не сохраняется инфрмация о родительском типе... Только об GetMyInfo - а он вообще, по сути, пустой.
...
Рейтинг: 0 / 0
Проблема с наследованным типом.
    #38803846
WorkerAwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно еще то, что Scvutil сам не создает эти KnowType. Т.е. он импортнул типы, создал ИЕРАРХИЮ наследования (разобрался же) - но атрибуты поставить не удосужился.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Проблема с наследованным типом.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]