Hi, Consider the following Java class which provides simple echoString service.
public interface EchoService { String echoString(String content); } I exposed it as a Web service using the following code. EchoServiceImpl echoServiceImpl = new EchoServiceImpl(); ServerFactoryBean svrFactory = new ServerFactoryBean(); svrFactory.setServiceClass(EchoService.class); svrFactory.setAddress("http://localhost:8080/EchoService"); svrFactory.setServiceBean(echoServiceImpl); svrFactory.getServiceFactory().setDataBinding(new JiBXDataBinding()); svrFactory.create(); It produces the correct output for the following input. <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns1:echoString xmlns:ns1="http://simple_types.jibx.xcf.apache.org/"> <ns1:arg0>Alice</ns1:arg0> </ns1:echoString> </soap:Body> </soap:Envelope> My question is the following. When the CXF framework receives the message, it invokes the JiBXDataReader to unmarshall xml content which is "<ns1:arg0>Alice</ns1:arg0>". However it seems that I can't unmarshall it using unmarshallingContext.unmarshallElement(..) method since UnmarhallingContext can't be obtained for "<ns1:arg0>Alice</ns1:arg0>". That is because "<ns1:arg0>Alice</ns1:arg0>" element doesn't corresponds to a Java classes compiled with binding info. One work around would be to use the JibxNullBindingFactory[2] to imitate the IBindingFactory interface for simple types. So should we proceed with the above workaround / Is there a better way of doing it? Or should we completely ignore above case and support only the exposure of Java beans compiled with binding information. (i.e. the echoString method should be change to something like Output echoString(Input) where both Input, Output are Java beans compiled with binding information. Input, Output act as wrapper classes for the string content going to-and-from) Any thoughts ? Nilupa [1] Updated JiBX DataBinding implementation code is available at : http://github.com/nilupa/cxf/tree/trunk/rt/databinding/jibx/ [2] http://github.com/nilupa/cxf/blob/trunk/rt/databinding/jibx/src/main/java/org/apache/xcf/jibx/JibxNullBindingFactory.java