Pergunta

Eu estou usando um serviço web implementado no WCF que tem enums definidos na interface. Eu estou tentando chamar isso de um cliente Java BlackBerry. Estou usando o Eclipse para desenvolver o aplicativo Java para BlackBerry. Eu estou usando o Sun Java Wireless Toolkit (WTK) 2.5.2 para gerar código de stub desde que o serviço web é bastante grande (já em uso por um cliente Windows mobile).

Quando tento gerar o código de stub usando a WTK, eu recebo erros no Eclipse sobre os enums. No seguinte função, ele reclama que java.io.ObjectStreamException não pode ser resolvido para um tipo.

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

Ao executar o Gerador de Stub, há um interruptor para qualquer CLDC 1.0 ou CLDC 1.1. Gerando com ambas as opções resultar na mesma edição.

Eu encontrei um fórum pós sobre isso em Sun sem resposta. A pessoa neste post afirma que, "Agora java.io.ObjectStreamException não está na CLDC mas está em CDC em seu lugar. Existe uma ferramenta boa lá fora, para a criação de Stubs para Web Services for J2ME especificamente CLDC 1.0 / 1.1?" I verificado que não existe no CLDC 1.1, olhando para a [documentação 3 ).

Há duas soluções rápidas disponíveis em Eclipse para corrigir esta situação:. 1) Criar classe 'ObjectStreamException' em pacote 'java.io' ou 2) a configuração do projeto Fix (que está me querendo adicionar uma referência)

Update:

Aqui está o que a especificação JSR-172 diz ...

5.2.5 enumeração Será que o JAX-RPC subconjunto não fornece suporte para enumerações XML.

5.2.6 Tipos Simples derivados por restrição Será que o JAX-RPC subconjunto não fornece suporte para derivar tipos simples por restrição.

O WSDL para a enumeração WCF gera um <xs:simpleType> com <xs:restriction> contendo <xs:enumeration>. Então posso apenas dizer neste campo é um int em vez e definir constantes?

Este é apenas um bug no WTK? No caso que fosse, eu entrou com um relatório de bug com Sun e vai ver se eles respondem. Por que não a bandeira kit de ferramentas isso como um erro?

Então, agora eu preciso mudar a interface para que ele seja JSR-172 compatível. Existem ferramentas para ler WSDL e apontar problemas de conformidade?

Foi útil?

Solução

CLDC e o Wireless Toolkit tanto para uso Java Micro Edition. JavaME é baseado na versão 2 da linguagem java, o que significa que não há genéricos e não enums.

O primeiro passo na investigação de Web Services para o seu aparelho Blackberry seria ler as especificações JSR-172.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top