This page last changed on Apr 26, 2006 by cmiller.

Symptom

The WSDL generated by Confluence on the Resin application server is invalid. Attempting to parse it gives you an error like this (using Axis as the client):

WSDLException (at /wsdl:definitions/types): faultCode=INVALID_WSDL: Encountered illegal extension element 'types' in the context of a 'javax.wsdl.Definition'. Extension elements must be in a namespace other than WSDL's.:

Cause

The default XML parser included with the Resin application server is incompatible with the Axis SOAP library, and causes Axis to generate an invalid WSDL file. You can find information about this issue here:

Solution

The solution is to override Resin's default XML parser by placing the following within the <server> section of resin.conf:

<system-property javax.xml.parsers.DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/> 
<system-property javax.xml.parsers.SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>

(You can also make this configuration per web-app by putting it in the <web-app> section. For more information see this page: JAXP - specifying XML and XSLT implementations)

The Confluence issue for this error is here:

Document generated by Confluence on Dec 20, 2007 18:53