¿Por qué se utiliza en java.io.ObjectStreamException generador de código auxiliar WTK para enumeraciones?

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

Pregunta

Estoy usando un servicio web implementado en WCF que tiene enumeraciones definidas en la interfaz. Estoy tratando de llamar a esto desde un cliente Java BlackBerry. Estoy usando Eclipse para desarrollar la aplicación Java para BlackBerry. Estoy utilizando el Toolkit de Sun Java Wireless (WTK) 2.5.2 para generar código auxiliar desde el servicio web es bastante grande (ya en uso por un cliente de Windows Mobile).

Cuando intento generar código auxiliar mediante el WTK, consigo errores en Eclipse sobre las enumeraciones. En la siguiente función, que se queja de que java.io.ObjectStreamException no se puede resolver a un tipo.

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

Cuando se ejecuta el generador de código auxiliar, hay un interruptor, ya sea para CLDC 1.0 o CLDC 1.1. Generando con ambas opciones como resultado el mismo tema.

de esto en Sun sin respuesta. La persona en este post establece que: "Ahora java.io.ObjectStreamException no está en CLDC, pero está en su lugar CDC. ¿Hay una buena herramienta que hay para la creación de Columnas de Servicios Web para J2ME específicamente CLDC 1.0 / 1.1?" He verificado que no existe en CLDC 1.1 por mirar el [Documentación 3 ).

Hay dos soluciones rápidas disponibles en Eclipse para solucionar esta situación:. 1) Crear la clase 'ObjectStreamException' en el paquete 'java.io' o 2) la configuración del proyecto Fix (que está deseando que le agregue una referencia)

Actualización:

Esto es lo que la especificación JSR-172 dice ...

5.2.5 Enumeración El JAX-RPC subconjunto no proporciona soporte para las enumeraciones XML.

5.2.6 Tipos simples derivados por la restricción El JAX-RPC subconjunto no proporciona soporte para derivar tipos simples por la restricción.

El WSDL para la enumeración WCF genera una <xs:simpleType> con <xs:restriction> contiene <xs:enumeration>. Así que no me acaba de decir este campo es un entero en lugar y definir constantes?

Se trata sólo de un error en el WTK? En caso de que fuera, presenté un informe de error con Sun y a ver si responden. ¿Por qué no la bandera toolkit esto como un error?

Así que ahora tengo que cambiar la interfaz para que sea compatible con JSR-172. ¿Hay herramientas para leer WSDL y señalar problemas de conformidad?

¿Fue útil?

Solución

CLDC y el Wireless Toolkit tanto el uso de Java Micro Edition. JavaME se basa en la versión 2 del lenguaje Java, lo que significa que no hay genéricos y no hay enumeraciones.

El primer paso en la investigación de servicios web para su teléfono Blackberry sería leer las especificaciones JSR-172.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top