cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrea Smyth <andrea.sm...@iona.com>
Subject Re: Service Model Extension
Date Tue, 16 Jan 2007 15:48:52 GMT
Balaji Ravi wrote:

> Hi andrea,
>
> In yoko(corba binding) also, we ran in to the same issue & it looks 
> like all
> the elements defined under wsdl:definitions are exposed via the 
> ServiceInfo
> class...
>
> The getExtensors(Class<T>) actually retrieves the extension elements...

but that only retrieves the extensions on the wsdl:service element (and 
same for BindingInfo, EndpointInfo, ServiceInfo, all derived from 
AbstractPropertiesHolder)?
Andrea.

>
> - Balaji
>
> On 1/16/07, Andrea Smyth <andrea.smyth@iona.com> wrote:
>
>>
>> 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.
>>
>>
>


Mime
View raw message