You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by ETTAIB Mohammed <m....@netfective.ma> on 2010/05/04 17:25:55 UTC
cxf JAXB databinding error
Hello everybody,
I'm newbye with apache cxf, and I'm facing a problem while executing a
webservice developed by cxf.
It apparenrtly seems to be an error of data-binding since it's giving a
marshalling error.
Here are the code of the different classes and config files:
Beans.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"
/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint
id="orderProcess1"
implementor="com.Test.lecarnet.services.cxfServer.WSDeleteServiceImpl"
address="/OrderProcess" />
</beans>
Cxf-client.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:soap="http://cxf.apache.org/bindings/soap"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/bindings/soap
http://cxf.apache.org/schemas/configuration/soap.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<jaxws:client id="WSClientDeleteService"
serviceClass="com.Test.lecarnet.services.cxfClient.WSClientDeleteService
"
address="http://localhost:8080/WS_cxf-web/services/WSDeleteService?wsdl"
/>
<bean id="client"
class="com.Test.lecarnet.services.cxfServer.WSDeleteService"
factory-bean="clientFactory" factory-method="create"/>
<bean id="clientFactory"
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass"
value="com.Test.lecarnet.services.cxfServer.WSDeleteService"/>
<property name="address"
value="http://localhost:8080/WS_cxf-web/services/WSDeleteService"/>
</bean>
</beans>
Client
public boolean collaborateurDelete(
com.Test.lecarnet.business.businessObjects.CollaborateurBO
collaborateur)
throws ApplicationException {
ClassPathXmlApplicationContext context = new
ClassPathXmlApplicationContext(
new String[] { "cxf-client.xml" });
WSDeleteService client = (WSDeleteService)
context.getBean("client");
try {
return client.collaborateurDelete(collaborateur);
} catch (Exception e) {
throw new ApplicationException(e);
}
}
Server
@WebService(endpointInterface =
"com.Test.lecarnet.services.cxfServer.WSDeleteService")
public class WSDeleteServiceImpl implements WSDeleteService {
private com.Test.lecarnet.services.ServiceCollaborateurDelete
serviceImplementation = new
com.Test.lecarnet.services.ServiceCollaborateurDelete();
public boolean collaborateurDelete(
com.Test.lecarnet.business.businessObjects.CollaborateurBO
collaborateur)
throws ApplicationException {
return
serviceImplementation.collaborateurDelete(collaborateur);
}
}
And here is the stack-trace of the error:
INFO: Application
{http://cxfServer.services.lecarnet.Test.com/}WSDeleteServiceService#{ht
tp://cxfServer.services.lecarnet.Test.com/}collaborateurDelete has
thrown exception, unwinding now: com.core.exception.UnexpectedException:
null
4 mai 2010 15:52:32 org.apache.cxf.phase.PhaseInterceptorChain
doDefaultLogging
ATTENTION: Interceptor for
{http://cxfServer.services.lecarnet.Test.com/}WSDeleteServiceService#{ht
tp://cxfServer.services.lecarnet.Test.com/}collaborateurDelete has
thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Marshalling Error:
com.core.business.IBusinessObject is not known to this context
at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshallException(JAXBEncoderDe
coder.java:437)
at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.jav
a:488)
at
org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:113)
at
org.apache.cxf.interceptor.ClientFaultConverter.processFaultDetail(Clien
tFaultConverter.java:131)
at
org.apache.cxf.interceptor.ClientFaultConverter.handleMessage(ClientFaul
tConverter.java:74)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:243)
at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage
(AbstractFaultChainInitiatorObserver.java:96)
at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMess
age(CheckFaultInterceptor.java:69)
at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMess
age(CheckFaultInterceptor.java:34)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:243)
at
org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:665)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
onseInternal(HTTPConduit.java:2160)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
onse(HTTPConduit.java:2043)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTP
Conduit.java:1941)
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:629)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingI
nterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:243)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:479)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:309)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:261)
at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:127)
at $Proxy70.collaborateurDelete(Unknown Source)
at
com.Test.lecarnet.services.WSClientDeleteService.collaborateurDelete(WSC
lientDeleteService.java:21)
at
com.Test.lecarnet.mockup.presentation.webcarnet.CAfficherResultatRecherc
heServiceController.collaborateurDelete(CAfficherResultatRechercheServic
eController.java:55)
at
com.Test.lecarnet.mockup.presentation.webcarnet.CAfficherResultatRecherc
heServiceControllerImpl.execute_CollabDelete(CAfficherResultatRechercheS
erviceControllerImpl.java:216)
at
com.Test.lecarnet.mockup.presentation.webcarnet.CAfficherResultatRecherc
heServiceControllerImpl.handle_LnkDelete(CAfficherResultatRechercheServi
ceControllerImpl.java:181)
at
com.Test.lecarnet.mockup.presentation.webcarnet.CAfficherResultatRecherc
heServiceControllerImpl.doService(CAfficherResultatRechercheServiceContr
ollerImpl.java:163)
at
com.core.application.AppController.action(AppController.java:293)
at
com.core.application.AppController.process(AppController.java:94)
at
com.core.presentation.screen.bean.JsfBaseBean.handleATU(JsfBaseBean.java
:45)
at
com.Test.lecarnet.mockup.presentation.webcarnet.CAfficherResultatRecherc
he.lnk_delete_Click(CAfficherResultatRecherche.java:201)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:12
9)
at
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionLi
stenerImpl.java:63)
at javax.faces.component.UICommand.broadcast(UICommand.java:106)
at javax.faces.component.UIData.broadcast(UIData.java:513)
at
org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java
:180)
at
org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.ja
va:158)
at
org.ajax4jsf.framework.ajax.JsfOneOneInvoker.invokeOnRegionOrRoot(JsfOne
OneInvoker.java:62)
at
org.ajax4jsf.framework.ajax.AjaxContext.invokeOnRegionOrRoot(AjaxContext
.java:176)
at
org.ajax4jsf.framework.ajax.AjaxViewRoot.processDecodes(AjaxViewRoot.jav
a:267)
at
org.apache.myfaces.lifecycle.LifecycleImpl.applyRequestValues(LifecycleI
mpl.java:219)
at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:71
)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)
at
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLF
ilter.java:96)
at
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.jav
a:220)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)
at
com.core.persistence.HibernateSessionRequestFilter.doFilter(HibernateSes
sionRequestFilter.java:32)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
51)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:87
4)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
essConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
erWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:689)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.xml.bind.JAXBException:
com.core.business.IBusinessObject is not known to this context
at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.
java:597)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getBeanInfo(Un
marshallerImpl.java:535)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unma
rshallerImpl.java:339)
at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshallException(JAXBEncoderDe
coder.java:430)
... 69 more
For the IBusinessObject, it's an intreface implemented by my objects,
here is its code:
public interface IBusinessObject extends Serializable {
public void setObjMode(String mode);
public String getObjMode();
public static final String DAO_MODE = "dao";
public static final String HELPER_MODE = "helper";
}
Please let me know what is wrong in my cxf implemtation.
Any help is welcomed.
Thanks in advance.
m.ettaib