Pourquoi est-java.io.ObjectStreamException utilisé dans le générateur de stub WTK pour énumérations?

StackOverflow https://stackoverflow.com/questions/933530

Question

J'utilise un service web mis en œuvre dans WCF qui a énumérations définies dans l'interface. Je suis en train d'appeler cela d'un client Java BlackBerry. J'utilise Eclipse pour développer l'application Java pour BlackBerry. J'utilise le Sun Java Toolkit sans fil (WTK) pour générer 2.5.2 code stub depuis le service web est assez grand (déjà utilisé par un client Windows mobile).

Lorsque je tente de générer du code stub en utilisant le WTK, je reçois des erreurs dans Eclipse sur les énumérations. Dans la fonction suivante, il se plaint que java.io.ObjectStreamException ne peut être résolu à un type.

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

Lors de l'exécution du générateur Stub, il y a un interrupteur soit pour CLDC 1.0 ou CLDC 1.1. Génération avec les deux options résultat dans le même numéro.

J'ai trouvé un message à ce sujet à Sun sans réponse. La personne dans ce pays post qui, « Maintenant java.io.ObjectStreamException est pas CLDC mais dans CDC à la place. Y at-il un bon outil là-bas pour créer Stubs pour les services Web pour J2ME spécifiquement CLDC 1.0 / 1.1? » Je vérifiais qu'il n'existe pas dans CLDC 1.1 en regardant la documentation [ 3 ).

Il y a deux solutions rapides disponibles dans Eclipse pour remédier à cette situation. 1) Créer une classe « ObjectStreamException » dans package « java.io » ou 2) Fixer la configuration du projet (qui me envie d'ajouter une référence)

Mise à jour:

Voici ce que la spécification JSR-172 dit ...

5.2.5 Enumeration Le JAX-RPC ne fournit pas Subset support pour XML énumérations.

5.2.6 Types simples dérivés par restriction Le JAX-RPC ne fournit pas Subset support pour dériver des types simples par restriction.

Le WSDL pour le dénombrement WCF génère un <xs:simpleType> avec <xs:restriction> contenant <xs:enumeration>. Alors, dis-je simplement ce champ est un entier au lieu et définir des constantes?

Est-ce juste un bug dans le WTK? Dans le cas où il était, j'ai déposé un rapport de bogue avec Sun et nous verrons si elles répondent. Pourquoi ne pas le drapeau de boîte à outils comme une erreur?

Alors maintenant, je dois changer l'interface de sorte qu'il est JSR-172 conforme. Y at-il des outils pour lire et WSDL Soulignez problèmes de conformité?

Était-ce utile?

La solution

CLDC et la boîte à outils sans fil à la fois d'utiliser Java Micro Edition. JavaME est basé sur la version 2 du langage Java, ce qui signifie qu'aucun générique et pas énumérations.

La première étape dans les enquêtes sur les services Web pour votre téléphone Blackberry serait de lire les JSR-172 spécifications.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top