You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2007/09/18 00:03:44 UTC

[jira] Resolved: (CXF-896) Aegis binding with @WebFault causes AegisDatabinding to throw UnsupportedOperationException

     [ https://issues.apache.org/jira/browse/CXF-896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-896.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.2
         Assignee: Daniel Kulp  (was: Dan Diephouse)

Patch applied, thanks!

> Aegis binding with @WebFault causes AegisDatabinding to throw UnsupportedOperationException
> -------------------------------------------------------------------------------------------
>
>                 Key: CXF-896
>                 URL: https://issues.apache.org/jira/browse/CXF-896
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.1
>         Environment: Platform independent.
>            Reporter: Zarar Siddiqi
>            Assignee: Daniel Kulp
>             Fix For: 2.0.2
>
>         Attachments: AegisWebFaultFix.patch, AegisWebFaultFixWithoutChangingWebFaultOutInterceptor.patch
>
>
> I posted about this issue on the mailing list:
> http://www.nabble.com/forum/ViewPost.jtp?post=12037196&framed=y
> 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? I think my configuration is correct and this might be a bug.
> Thanks,
> Zarar

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.