I have built a CXF+Spring Web service using Eclipse running on Tomcat7. The web service works except that it does not create a complex type from one of my classes.
My Eclipse project is called: “ws-server”. In the buildpath I have added API-A, API-A-Impl and API-B.
The buildpath is correct. All libraries are deploying as they should. The wsdl is created but there is no complex types from API-B they (only one class, Page, in API-B).
In the wsdl the Page class is defined like this in other complex types.
<xs:complexType name="getAllMeasuremenetObjectsByPage">
<xs:sequence>
<xs:element minOccurs="0" name="page"/>
<xs:element minOccurs="0" name="orderBy" type="xs:string"/>
<xs:element minOccurs="0" name="orderDirection" type="tns:orderDirection"/>
</xs:sequence>
</xs:complexType>
I’m not sure where to start looking. It feels like there is something with CXF. I don’t think there is anything wrong with the Eclipse project configuration. All other methods in the web service that does not have the “page” argument works.
Solution!
CXF Does not generate complex type from java objects that does not have a constructor without arguments.