I've created a JIRA for this:
https://issues.apache.org/jira/browse/CXF-896
Has anyone gotten Aegis + @WebFault to work together?
Zarar Siddiqi wrote:
>
> Hi,
>
> I'm getting an UnsupportedOperationException using Aegis binding and
> JAX-WS frontend. Here's my setup starting with the Spring beans:
>
> <bean id="aegisBean"
> class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
>
> <jaxws:endpoint
> id="sportsServiceEndpoint"
> implementor="#sportsService"
> address="/SportsService">
> <jaxws:serviceFactory>
> <bean
> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
> <property name="dataBinding" ref="aegisBean"/>
> <property name="serviceConfigurations">
> <list>
> <bean
> class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
> <bean
> class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>
> <bean
> class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
> </list>
> </property>
> </bean>
> </jaxws:serviceFactory>
> </jaxws:endpoint>
>
>
> Here's the exception class:
>
> @WebFault(name="WebServiceException")
> public class WebServiceException extends RuntimeException {
>
> // constructors hidden for brevity
>
> public Object getFaultInfo() { .... }
>
> }
>
> Here's the stacktrace:
>
> java.lang.UnsupportedOperationException
> at
> org.apache.cxf.aegis.databinding.AegisDatabinding.createWriter(AegisDatabinding.java:109)
> at
> org.apache.cxf.jaxws.interceptors.WebFaultOutInterceptor.handleMessage(WebFaultOutInterceptor.java:82)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
> at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:90)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:224)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
> at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:78)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:231)
>
>
> I can actually see this exception coming. In
> WebFaultOutInterceptor.handleMessage() the line
>
> DataWriter writer = service.getDataBinding().createWriter(Node.class) ;
>
> invokes AegisDatabinding.createWriter() where Node.class isn't being
> looked for:
>
> public <T> DataWriter<T> createWriter(Class<T> cls) {
> if (cls.equals(XMLStreamWriter.class)) {
> return (DataWriter<T>)new XMLStreamDataWriter(this);
> } else {
> throw new UnsupportedOperationException();
> }
> }
>
> Any ideas how to avoid this exception? Is my configuration wrong or is
> this a bug?
>
> Thanks,
> Zarar
>
--
View this message in context:
http://www.nabble.com/UnsupportedOperationException-when-using-%40WebFault-with-Aegis-binding-tf4231074.html#a12060000
Sent from the cxf-user mailing list archive at Nabble.com.