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

Reply via email to