Hi list (and especially Oshani), I ran OMWSDLReader.readWSDL(..) on the following WSDL:
------------------ <description targetNamespace="http://example.com/bank" xmlns="http://www.w3.org/2006/01/wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.w3.org/2006/01/wsdl http://www.w3.org/2006/01/wsdl/wsdl20.xsd http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd"> <!-- any old interface --> <interface name="Bank"> <!-- All implementations of this interface must be secure --> <feature ref="http://example.com/secure-channel" required="true"/> <operation name="withdrawFunds" pattern="http://www.w3.org/2004/03/wsdl/in-out"> <!-- This operation must have ACID properties --> <feature ref="http://example.com/transaction" required="true"/> </operation> <operation name="depositFunds" pattern="http://www.w3.org/2004/03/wsdl/in-out"> <!-- This operation requires notarization --> <feature ref="http://example.com/notarization" required="true"/> </operation> </interface> </description> --------------------- The parser gets stuck in an infinite loop, continually outputting the following line: Woden[Error],0:0,WSDL520,Extension element "{http://www.w3.org/2006/01/wsdl}feature" in the context of "org.apache.woden.wsdl20.xml.FeatureElement" must not be in the WSDL namespace. I believe there is some code in OMWSDLReader.parseFeature() that should be removed. The the problem is fixed by commenting out lines in that method as shown below: // while (featEl != null) { // if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, featEl)){ // feature.addDocumentationElement(parseDocumentation(featEl, desc)); // } // else{ // feature.addExtensionElement(parseExtensionElement(FeatureElement.class, feature, featEl, desc) ); // } Iterator featElChildren = featEl.getChildElements(); while (featElChildren.hasNext()){ OMElement featElChild = (OMElement)featElChildren.next(); if (QNameUtils.matches(Constants.Q_ELEM_DOCUMENTATION, featElChild)){ feature.addDocumentationElement(parseDocumentation(featElChild, desc)); } else{ feature.addExtensionElement(parseExtensionElement( FeatureElement.class, feature, featElChild, desc) ); } } // } Could you please confirm that this solution is correct? The WSDL I am using is from a testcase I have for WODEN-14 and can include the solution in the patch I'm about to submit for review if you agree it is the correct one. Kind Regards, Graham. _____________________________________________ Graham C Turrell CEng, MBCS Chartered IT Practitioner WebSphere ESB Foundation Technologies DE3F16 / MP 211 IBM Labs Hursley Park Winchester, Hampshire England. SO21 2JN Tel +44-(0)1962-815018 email: [EMAIL PROTECTED] "No army can withstand the force of an idea whose time has come.". -Victor Hugo --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
