WCF -> Websphere Integration Developer и полиморфизм - PullRequest
0 голосов
/ 08 мая 2009

У меня есть служба .NET WCF, которая предоставляет объект, который использует полиморфизм.

Очевидно, что Websphere Integration Developer не может обработать это должным образом (я не разработчик Websphere), кроме как путем добавления всех полей всех возможных полиморфизмов и использования перечисления или тому подобного, чтобы сказать, что это объект такого-то типа. ,

Я не могу поверить, что IBM создала продукт, который не поддерживает полиморфизм! Итак ... Кто-нибудь может объяснить, как с этим справиться, или указать ресурсы, которые я могу передать?

Ответы [ 2 ]

1 голос
/ 08 мая 2009

Это может не быть проблемой, но вы должны знать, что веб-сервисы, как правило, не поддерживают виртуальные методы. Как таковые, они на самом деле не поддерживают полиморфизм.

На самом деле, веб-сервисы вообще не объектно-ориентированы. Они все о XML, который не является объектно-ориентированным. Любое сходство с классами с методами и свойствами является плодом воображения ваших инструментов - в частности, инструменты, которые создают прокси-классы, смотрят на (XML) описание веб-службы и создают классы, которые более или менее похожи на то, что описано.

Иногда больше, а иногда меньше.

0 голосов
/ 03 февраля 2010

Проблема в том, что ваш клиент знает о вашем сервисе только через контракт или wsdl.

wsdl просто определяет входные и выходные данные методов в вашем контракте (а также контракты данных, используемые этими методами) - он не предоставляет ни одного из базовых классов и т. Д. Класса обслуживания (или любого данные контракты) ваш клиент будет звонить.

Дело не в том, что WebSphere не может справиться с полиморфизмом, скорее, wsdl не может выразить его так, как вы могли бы ожидать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...