I use CXF 2.7.5 to call Web services. I generated the client classes with wsdl2java program (in command line MSDOS and in maven). I must use xmlbeans databinding because with jaxb (default databinding) I have some errors, and I can't modify the server side. So with xmlbeans databinding parameter the generation is OK.
I call the web methods with the following method :
WcfDemandService service = new WcfDemandService();
IWcfDemandService client = service.getBasicHttpBindingIWcfDemandService();
TODemand ticketToSubmit = TODemand.Factory.newInstance();
...
boolean ret = client.submit(ticketToSubmit);
When I call webmethods, it works perfectly on simple java program, but in portlet liferay context that doesn't work : I have this error (in english, the translation is org.tempuri.CheckConsistencyDocumen is an interface and jaxb can't handle interfaces) :
09:48:33,899 ERROR [http-bio-8080-exec-4][PortletServlet:115] javax.portlet.PortletException: com.sun.xml.ws.spi.db.DatabindingException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 149 counts of IllegalAnnotationExceptions org.tempuri.CheckConsistencyDocument est une interface et JAXB ne peut pas gérer les interfaces. this problem is related to the following location: at org.tempuri.CheckConsistencyDocument org.tempuri.CheckConsistencyDocument$CheckConsistency est une interface et JAXB ne peut pas gérer les interfaces. this problem is related to the following location: at org.tempuri.CheckConsistencyDocument$CheckConsistency at public abstract org.tempuri.CheckConsistencyDocument$CheckConsistency org.tempuri.CheckConsistencyDocument.getCheckConsistency() at org.tempuri.CheckConsistencyDocument org.datacontract.schemas.x2004.x07..TODemand est une interface et JAXB ne peut pas gérer les interfaces. this problem is related to the following location: at org.datacontract.schemas.x2004.x07..TODemand at public abstract org.datacontract.schemas.x2004.x07.*.TODemand org.tempuri.CheckConsistencyDocument$CheckConsistency.getEntity() at org.tempuri.CheckConsistencyDocument$CheckConsistency at public abstract org.tempuri.CheckConsistencyDocument$CheckConsistency org.tempuri.CheckConsistencyDocument.getCheckConsistency() at org.tempuri.CheckConsistencyDocument
This error is repeated for a lot of interfaces.
Do you know why this code doesn't work in liferay context?