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!
Caused by: org.apache.cxf.binding.soap.SoapFault: Server was unable to process request. ---> Object reference not set to an instance of an object.
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:75)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69)
at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:664)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2160)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2040)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1965)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:478)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:308)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:260)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
... 23 more