| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/10/2009 09:48:26
|
seufagner
JavaEvangelist
![[Avatar]](/images/avatar/5fd0245f6c9ddbdf3eff0f505975b6a7.jpg)
Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline
|
Para contextualizar:
Estou integrando o CFX em uma aplicação já existente, que roda no JBoss 4.2.3, repleta de @EJBs que são @WebServices ao mesmo tempo.
Os @EJBs já possuem clientes fixos os utilizando, portanto não posso migrar para @WebService. Hoje em dia funciona porque estão utilizando a stack default do JBossWS (pois enquanto Container, identifica e injeta Beans mesmo que estes sejam, também, WebServices). Com CFX não funciona, não embbeded na aplicação.
A solução foi utilizar o JBossWs-CFX, configurando uma stack nativamente no JBoss.
Contudo estou utilizando como binding o Aegis, pois o JAXB, todos sabem, é um inferno de mapear o Beans de tipos complexos (Não encontrei referências de que isto havia mudado).
Ao tentar consumir um Web Service, ele está me indicando o seguinte erro:
javax.xml.ws.soap.SOAPFaultException: Server was unable to process request. ---> Object reference not set to an instance of an object.
No stacktrace não informa nem o 'faultcode'. Alguém sabe do que se trata? Segue o trace completo.
Obrigado!
This message was edited 1 time. Last update was at 29/10/2009 09:55:05
|
@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2009 10:00:07
|
donatinho
JavaBaby
![[Avatar]](/images/avatar/7a951116de2a4c23c74733d76046a5b4.jpg)
Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline
|
Opa SeuFagner, beleza brother?
Estou passando por um problema muito parecido com o seu.
No entanto, quando o jaxb com o CXF usa tipos complexos, ele coloca namespaces que nao deveriam existir.
Voce sabe como retirar esses namespaces?
Ja tentei de tudo e mais o capeta, mas nao consegui retirar.
Sera que é um bug ?
donatinho
|
donatinho |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2009 14:35:54
|
seufagner
JavaEvangelist
![[Avatar]](/images/avatar/5fd0245f6c9ddbdf3eff0f505975b6a7.jpg)
Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline
|
Fala Donatinho
Eu estou usando o Aegis como binding factory. É muito mais simples! Dá uma olhada.
Mas me fala uma coisa, você conseguiu receber tipos complexos no soap response? COMOOO ? O meu tá com SoapFault. rs
Eu acredito que deve ser problemas de JARs. Ambiente: JBoss 4.2.3 + JDK 6 .
Puts!
|
@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/10/2009 16:02:17
|
donatinho
JavaBaby
![[Avatar]](/images/avatar/7a951116de2a4c23c74733d76046a5b4.jpg)
Membro desde: 28/03/2006 15:39:17
Mensagens: 82
Localização: Belo Horizonte
Offline
|
Cara, nao entendi quando perguntou se consegui receber tipos complexos do soap response, o que quis dizer com isso?
Conseguimos resolver o problema aqui, para tal usamos CXF + JAXB + ECLIPSE + JBOSS 4.2.3 pegando os beans que o jaxb gera e juntamos com informacoes da pagina
[url]
http://old.nabble.com/Are-namespace-prefixes-normative-in-jaxb--td13203505.html#a13203505
[/url]
que forca o CXF a ignorar os namespace.
see ya
donatinho
|
donatinho |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2009 10:26:59
|
seufagner
JavaEvangelist
![[Avatar]](/images/avatar/5fd0245f6c9ddbdf3eff0f505975b6a7.jpg)
Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline
|
donatinho
A questão é que consigo comunicar com o Web Service, recebendo String. Quando o retorno do Web Service é um Objeto é diferente. Dá erro.
Eu abandonei o CFX para ver primeiro se resolvia da forma mais simples. O Bean do cliente já vem com as anotações do JAXB.
Porém, com tipos complexos, ele ainda lança a SOAP fault. Ou seja, se o serviço me retorna uma String, funciona. Porém, retornando um Bean, não funciona. Esta exceção é lançada:
Server was unable to process request. ---> Object reference not set to an instance of an object.
This message was edited 3 times. Last update was at 31/10/2009 11:11:13
|
@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2009 16:01:50
|
seufagner
JavaEvangelist
![[Avatar]](/images/avatar/5fd0245f6c9ddbdf3eff0f505975b6a7.jpg)
Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline
|
donatinho
Você está usando o Aegis do CFX como Binding?
|
@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/10/2009 23:32:15
|
seufagner
JavaEvangelist
![[Avatar]](/images/avatar/5fd0245f6c9ddbdf3eff0f505975b6a7.jpg)
Membro desde: 06/05/2005 16:33:09
Mensagens: 447
Localização: Rio de Janeiro - RJ
Offline
|
Só para encerrar esta thread que foi quase um monólogo. O problema era no Web Service que deveria, supostamente, estar funcionando. ts.. No soapUI a contece omesmo erro.
|
@seufagner
seufagner.com.br
"Simplicidade é a maior forma de sofisticação"
Leonardo Da vinci
|
|
|
 |
|
|