Знатокам дотнетов и мыла (SOAP)

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
Ranger
Маньяк
Сообщения: 1199
Зарегистрирован: 22 окт 2003, 18:28
Откуда: 2:5025 -> Burnaby

Знатокам дотнетов и мыла (SOAP)

Сообщение Ranger »

Наткнулся сегодня на странную фичу.

Есть вебсервис, написанный на Java (Tomcat/XFire), я пробую его позвать из C#. Всё чудесно, кроме одного единственного случая: у сервиса есть метод echo, который принимает и возвращает тип Object. При попытке вызвать этот метод, передав, скажем, строку, сервер ругается на отсутствие у параметра аттрибута xsi:type. Посмотрев анализатором запрос SOAP убеждаемся, что это действительно так:

<in0>A string</in0>

Складывается впечатление, что для параметров, описанных в WSDL как anyType, .NET почему-то опускает аттрибут xsi:type - вместо того, чтобы указать фактический тип передаваемого параметра. Серверу, понятно, это не нравится. Сам сервер результаты типа Object (в WSDL - anyType) этот аттрибут выставляет как надо. Например, так:

<out xsi:type="xsd:string">Forty-Two</out>

:?: Вопрос: это так и надо (т.е. в морг) или в консерватории (ServiceProxy, whatever) можно что-нибудь подправить?
Аватара пользователя
Ranger
Маньяк
Сообщения: 1199
Зарегистрирован: 22 окт 2003, 18:28
Откуда: 2:5025 -> Burnaby

Сообщение Ranger »

Нашел - это бага в VS 2002 :maniac:

В новой версии VS (2005) всё путём :up:
Аватара пользователя
Проф. Преображенский
Графоман
Сообщения: 20276
Зарегистрирован: 08 ноя 2006, 11:10

Сообщение Проф. Преображенский »

Ranger писал(а):Нашел - это бага в VS 2002 :maniac:

В новой версии VS (2005) всё путём :up:
Там другие баги... :roll:
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

филосовский подход :)
Ответить