2009-06-01 1 views
2

Я использую веб-сервис, реализованный в WCF, который имеет перечисления, определенные в интерфейсе. Я пытаюсь назвать это с помощью клиента Java BlackBerry. Я использую Eclipse для разработки приложения Java для BlackBerry. Я использую Sun Java Wireless Toolkit (WTK) 2.5.2 для генерации кода заглушки, поскольку веб-служба довольно большая (уже используется клиентом Windows Mobile).Почему java.io.ObjectStreamException используется в генераторе-заглушке WTK для перечислений?

Когда я пытаюсь создать код заглушки с помощью WTK, я получаю ошибки в Eclipse об перечислениях. В следующей функции он жалуется, что java.io.ObjectStreamException не может быть разрешен для типа.

private Object readResolve() 
    throws java.io.ObjectStreamException { 
    return fromValue(getValue()); 
} 

При запуске генератора-заглушки имеется переключатель для CLDC 1.0 или CLDC 1.1. При генерации с обоими параметрами возникает одна и та же проблема.

Я нашел forum post об этом на солнце без ответа. Человек в этом сообщении утверждает, что «теперь java.io.ObjectStreamException не находится в CLDC, а находится в CDC. Есть ли хороший инструмент для создания Stub для веб-служб для J2ME, в частности CLDC 1.0/1.1?» Я подтвердил, что он не существует в CLDC 1.1, посмотрев на [документация 3).

В Eclipse есть две быстрых исправления: 1) Создать класс «ObjectStreamException» в пакете «java.io» или 2) Исправить настройку проекта (который хочет, чтобы я добавил ссылку).

Update:

Вот что говорит спецификация JSR-172 ...

5.2.5 Перечень JAX-RPC Subset не обеспечивает поддержку XML перечислений.

5.2.6 Простые типы, полученные из-за ограничений Подмножество JAX-RPC не обеспечивает поддержку для получения простых типов путем ограничения.

WSDL для перечисления WCF генерирует <xs:simpleType> с <xs:restriction>, содержащим <xs:enumeration>. Так я просто говорю, что это поле вместо int и определяет константы?

Это просто ошибка в WTK? В случае, если бы это было так, я подал отчет об ошибке с Sun и увижу, отвечают ли они. Почему этот инструментарий не укажет на ошибку как ошибку?

Теперь мне нужно изменить интерфейс так, чтобы он соответствовал JSR-172. Есть ли инструменты для чтения WSDL и указания на проблемы совместимости?

ответ

2

CLDC и Wireless Toolkit используют Java Micro Edition. JavaME основан на версии 2 Java-языка, что означает отсутствие дженериков и переписей.

Первым шагом в исследовании веб-сервисов для вашего телефона Blackberry будет ознакомление с спецификациями JSR-172.

+0

Вот что спецификация JSR-172 говорит ... 5.2.5 Перечисление Подмножество JAX-RPC не обеспечивает поддержку перечислений XML. 5.2.6 Простые типы, полученные из-за ограничений Подмножество JAX-RPC не обеспечивает поддержку для получения простых типов путем ограничения. WSDL для перечисления WCF генерирует с , содержащий . Хммм ...не похоже, что это сработает. – chrish

 Смежные вопросы

  • Нет связанных вопросов^_^