I found out that the slow performance of creating ports in CXF is due to DOM
XML parsing.

In the class "org.apache.cxf.wsdl11.SchemaUtil", the following line in
function "extractSchema(Definition def, SchemaCollection schemaCol,
List<SchemaInfo> schemaInfos)" takes more than 20 seconds to read the schema
XmlSchema xmlSchema = schemaCol.read(schemaElem, systemId);

In the class "org.apache.cxf.wsdl11.WSDLManagerImpl", the following line in
function "loadDefinition(String url)" takes another 10 seconds to read WSDL,
obviously it using wsdl4j which is also using DOM for XML parsing.
Definition def = reader.readWSDL(wsdlLocator);

Is it possible to switch to SAX for XML parsing instead of DOM??

Reply via email to