Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
2.2.10
-
None
Description
Once my client has been generated from my WSDL by using cxf-codegen-plugin, the following exception occurs:
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Message part {http://www.X.com/is/xml/core/model/util/exception}SolifeXFireServiceException of Message {http://www.X.com/is/core/services}SolifeXFireServiceException cannot be processed. This can be caused by the use of JAX-WS-specific types without the JAX-WS service factory bean. at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.checkForElement(ReflectionServiceFactoryBean.java:1036) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:455) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:637) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:492)
The generated code seems to be "normal". The client is really a jax-ws client declared by the CXF namespace:
<jaxws:client id="offerService" serviceClass="com.bsb.is.core.services.OfferService" address="${ws.base.url}/OfferService?wsdl"> <jaxws:dataBinding> <bean class="org.apache.cxf.xmlbeans.XmlBeansDataBinding"/> </jaxws:dataBinding> </jaxws:client>
I've tried:
- removing @WebParam, @WebResult annotations everywhere
- removing the @SoapBinding annotation,
- removing the @DataBinding annotation
Note that if I remove "throws SolifeXFireServiceException" on the service interface, my client works. The exception is defined like this:
package com.X.is.core.services; import javax.xml.ws.WebFault; /** * This class was generated by Apache CXF 2.2.10 * Thu Oct 07 14:18:53 CEST 2010 * Generated source version: 2.2.10 * */ @WebFault(name = "SolifeExceptionDetail", targetNamespace = "http://www.X.com/is/xml/core/model/util/exception") public class SolifeXFireServiceException extends Exception { // public static final long serialVersionUID = 20101007141853L; private com.X.is.xml.core.model.util.exception.SolifeExceptionDetail solifeExceptionDetail; public SolifeXFireServiceException() { super(); } public SolifeXFireServiceException(String message) { super(message); } public SolifeXFireServiceException(String message, Throwable cause) { super(message, cause); } public SolifeXFireServiceException(String message, com.X.is.xml.core.model.util.exception.SolifeExceptionDetail solifeExceptionDetail) { super(message); this.solifeExceptionDetail = solifeExceptionDetail; } public SolifeXFireServiceException(String message, com.X.is.xml.core.model.util.exception.SolifeExceptionDetail solifeExceptionDetail, Throwable cause) { super(message, cause); this.solifeExceptionDetail = solifeExceptionDetail; } public com.X.is.xml.core.model.util.exception.SolifeExceptionDetail getFaultInfo() { return this.solifeExceptionDetail; } }