In the context of WS-Policy I have come accross the problem to retrieve
wsp:Policy or wsp:PolicyReference elements attached not to wsdl:Service,
wsdl:Port etc elements but appearing as children of the wsdl:definitions
element. As such they cannot be currently be retrieved from out service
model. Attached to e.g. a service element that would be possible via
List<UnknowExensibilityElement> extensions =
ServiceInfo.getExtensions(UnknownExtensibilityElement.class);
for (UnknowExensibilityElement e : extensions) {
if (e.getElementType()).equal(new
QName("http://schemas.xmlsoap.org/ws/2004/09/policy",
"Policy[Reference]")) {
...
}
What do you think about extending the Service Model by something like a
DescriptionInfo (wsdl 2.0 description <==> wsdl 1.1 definition)
class DescriptionInfo extends AbstractPropertiesHolder {
// return value of description's name attribute
String getName() {
}
// return list of top level elements (InterfaceInfo, BindingInfo,
ServiceInfo etc...)
List<Described> getDescribed() {
}
}
class Described extends AbstractPropertiesHolder {
DescriptionInfo getDescription() {
}
}
class ServiceInfo extends Described {
// content as before
}
and same for BindingInfo, InterfaceInfo etc.
Cheers,
Andrea.