CFX no JBossWs  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
seufagner
JavaEvangelist
[Avatar]

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
[Email] [WWW]
donatinho
JavaBaby
[Avatar]

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
[Email] [MSN]
seufagner
JavaEvangelist
[Avatar]

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
[Email] [WWW]
donatinho
JavaBaby
[Avatar]

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
[Email] [MSN]
seufagner
JavaEvangelist
[Avatar]

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
[Email] [WWW]
seufagner
JavaEvangelist
[Avatar]

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
[Email] [WWW]
seufagner
JavaEvangelist
[Avatar]

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
[Email] [WWW]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team