Jacek Kopecky <
jacek.kopecky@deri.org> reported the following Woden bug on the W3C mailing list. See
http://lists.w3.org/Archives/Public/www-ws-desc/2007May/0001.html.
InterfaceImpl.getAllInterfaceOperations and getAllInterfaceFaults are
not quite recursive, they only go one level of interface extension deep.
This manifests in the flickr test-suite WSDL file when trying to access
the InterfaceOperation of the BindingOperation for
"flickr.groups.pools.add" - the method getInterfaceOperation() returns
null because the actual operation is too deep in the hierarchy of
extended interfaces.
Fix: in both InterfaceImpl.getDerivedInterface*, change getInterface* to
getAllInterface* - this can get into an infinite loop if a circular
interface extension is not detected as an error first.
The fix for 3 (159) is easy - in both InterfaceImpl.getDerivedInterface*
methods, change getInterface* to getAllInterface* - but this can get
into an infinite loop if a circular interface extension is not detected
as an error first, which I haven't checked. The WSDL 2.0 test case
FlickrHTTP-1G has enough interface extension to trigger this.