Я пытаюсь вызвать сторонний веб-сервис, написанный на java, из компонента, созданного на C # и работающего с .net framework 4.0.WSDL находится здесь .
Проблема, с которой я сталкиваюсь, заключается в том, что мой прокси-класс C # не будет десериализовать ответ от метода GetProjects должным образом, поскольку он генерирует класс для Project, ноответ не содержит сопоставление элемента Project, а скорее элемент "item" с Project, указанным в атрибуте xsi: type.
Из моего исследования проблемы выясняется, что десериализация не удалась, посколькуузел Project возвращается как <item xsi:type="ns1:Project" xmlns="" xmlns:ns1="http://v3.soap.api.indextools.com">
, но прокси-сервер ожидает <Project>
.
Поскольку прокси-сервер генерируется автоматически при добавлении ссылки на службу и потому, что у меня нет возможности изменить веб-службу,Мне любопытно, как можно обойти эту проблему, чтобы мой прокси-класс правильно десериализовал ответ.Эта проблема не изолирована исключительно для метода GetProjects.Я ожидаю, что у меня будут те же проблемы с другими методами в сервисе, поэтому мы будем признательны за решение этой проблемы в глобальном масштабе.