Estou tentando dar um import de um wsdl para tradução em código java, só que ao executar o comando:
wsimport -p meupacote -keep http://meu.wsdl
vem a seguinte mensagem de erro:
[ERROR] undefined simple or complex type ‘soapenc:Array’
alguém sabe onde pode estar o problema?!!
não acredito que seja problema de descrição do wsdl, porque este hoje é consumido por um programa em vb net sem problemas.
Acho que pode ser que no seu WSDL não tenha todos os tipos definidos, por exemplo:
Coloca o seu WSDL pra dar uma olhada.
No seu WSDL tenha o cliente e ele tenha uma lista de endereços, então no WSDL deve ter os tipos cliente, lista de endereços e endereços (algo parecido). Segue abaixo um exemplo.
Infelizmente eu não posso postar o wsdl, porque este é um produto que a empresa contratante do projeto está disponibilizando para utilizarmos e não nos autorizou a postar na internet seu produto. Só poderei postar partes dele.
respondendo a pergunta:
Eu ainda não consegui gerar os arquivos java apartir do wsdl, estou tentando gerar tais arquivos com o wsimport no java. O erro dado é na hora da criação dos arquivos javas.
Uma coisa curiosa é que quando eu crio um cliente para este web service pelo eclipse, ele gera o cliente com quase todos os métodos menos este em que da o problema de reconhecimento do tipo array.
isto estaria me dizendo que é um serviço rpc-style.
No meu caso essa solução não se aplicaria, não posso reescrever meu wsdl.
Outros fóruns me dizem que uma tecnologia que suportaria o rpc/encode seria eu importar o JAX-RPC, que é um projeto implementado pelo glassfish.
Outra que chegou a ser citado com tendo suporte a JAX-RPC é o jbossws: http://www.jboss.org/jbossws.
Tentei também:
wsconsume -k -o meupacote meuwsdl
e assim como o wsimport do java:
[ERROR] undefined simple or complex type ‘soapenc:Array’
alguém sabe como eu faço para habilitar a codificação rpc no jbossws?!!
Aparentemente o problema não têm solução. É dito que a WS-I BP desabilitou o uso do rpc/enc, minha conclusão é que o melhor a se fazer seria mudar a descrição do wsdl para rpc/literal.