Domanda

Sto utilizzando un servizio Web implementato in WCF che ha enumerazioni definite nell'interfaccia.Sto provando a chiamarlo da un client BlackBerry Java.Sto utilizzando Eclipse per sviluppare l'applicazione Java per BlackBerry.Sto usando il Kit di strumenti wireless Sun Java (WTK) 2.5.2 per generare codice stub poiché il servizio web è piuttosto grande (già utilizzato da un client Windows Mobile).

Quando provo a generare codice stub utilizzando WTK, ricevo errori in Eclipse relativi alle enumerazioni.Nella funzione seguente, si lamenta che java.io.ObjectStreamException non può essere risolto in un tipo.

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

Quando si esegue lo Stub Generator, è presente un interruttore per CLDC 1.0 o CLDC 1.1.La generazione con entrambe le opzioni comporta lo stesso problema.

Ho trovato un messaggio del forum su questo al Sun senza risposta.La persona in questo post afferma che "Ora java.io.ObjectStreamException non è in CLDC ma è invece in CDC.Esiste un buon strumento là fuori per creare Stub per servizi Web per J2ME in particolare CLDC 1.0/1.1?" Ho verificato che non esiste in CLDC 1.1 esaminando la [documentazione 3).

Sono disponibili due soluzioni rapide in Eclipse per risolvere questa situazione:1) Crea la classe "ObjectStreamException" nel pacchetto "java.io" o 2) Correggi la configurazione del progetto (che mi chiede di aggiungere un riferimento).

Aggiornamento:

Ecco cosa dice la specifica JSR-172...

5.2.5 ENUMERAZIONE Il sottoinsieme JAX-RPC non fornisce supporto per le enumerazioni XML.

5.2.6 Tipi semplici derivati ​​dalla restrizione Il sottoinsieme JAX-RPC non fornisce supporto per derivare tipi semplici per restrizione.

Il WSDL per l'enumerazione WCF genera un file <xs:simpleType> con <xs:restriction> contenente <xs:enumeration>.Quindi dico semplicemente che questo campo è un int e definisco costanti?

È solo un bug nel WTK?Nel caso lo fosse, ho inviato una segnalazione di bug a Sun e vedrò se rispondono.Perché il toolkit non lo segnala come errore?

Quindi ora devo cambiare l'interfaccia in modo che sia compatibile con JSR-172.Esistono strumenti per leggere WSDL e segnalare problemi di conformità?

È stato utile?

Soluzione

CLDC e Wireless Toolkit utilizzano entrambi Java Micro Edition.JavaME si basa sulla versione 2 del linguaggio Java, il che significa che non esistono generici né enumerazioni.

Il primo passo per indagare sui servizi Web per il tuo telefono Blackberry sarebbe leggere le specifiche JSR-172.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top