I've digged a bit into CXF source code...
A WSDL is created by ServiceWSDLBuilder, which gathers needed informations
from ServiceInfo. If JAX-WS + Aegis is used then ServiceInfo#getSchemas()
returns empty list, thus a wsdl:types section is not created.
A service info is created in
ReflectionServiceFactoryBean#buildServiceFromClass(). This method calls
initializeWrappedSchema(). There is one particular condition here:
if (op.getInput().getMessageParts().get(0).getTypeClass() == null) {
...
}
which guards schema generation code. For some reason this block is ommited
if my webapp is declared as a JEE application.
Any sensible reason for such behavior?