Hi,

"I wonder can this be done through WS-Policy? I.e., I can make some assertions like this: " I want to apply this feature to endpoint A and B" or "I want this feature applied to all my endpoints by default if there is no overridden feature defined for the individual endpoint". Thoughts?"

CXF supports an external WS-Policy attachment mechanism, which should suffice...
It's briefly described here :

http://cwiki.apache.org/CXF20DOC/how-it-works.html

Using this approach you can apply a policy expression to one or more domain expressions, for ex, to EndpointReferences...There's an rm_external.xml file in a ws_policy system test, it shows how WS-Addresing and WS-RM policies are applied to a given endpoint...

Cheers, Sergey

----- Original Message ----- From: "Liu, Jervis" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, August 29, 2007 7:17 AM
Subject: RE: Bus Features [was: Logging ...]


Hi Fred, I recalled we had a similar discussion before. In your code snippet below, the logging interceptors will be installed twice. I wont say <cxf:bus> is a root scope configuration as there is no hierarchy relationships among bus, endpoints and bindings. Bus, endpoints and bindings are just individual components that can contribute interceptors, some times a same bus instance can be shared by multiple services but this wont necessarily make it a root configuration. Bindings can be shared by multiple services as well. What you required, "if a feature is defined at endpoint granularity, that feature is the effective feature in config, whereas if there is no such config at endpoint granularity, the runtime would fall back to the Bus config", is really a scope-based configuration. This is no such thing existing yet in CXF. I wonder can this be done through WS-Policy? I.e., I can make some assertions like this: " I want to apply this feature to endpoint A and B" or "I want this feature applied to all my endpoints by default if there is no overridden feature defined for the individual endpoint". Thoughts?

Jervis

-----Original Message-----
From: Fred Dushin [mailto:[EMAIL PROTECTED]
Sent: 2007?8?29? 2:52
To: [email protected]
Subject: Bus Features [was: Logging ...]



On Aug 24, 2007, at 11:36 AM, Daniel Kulp wrote:

>     <cxf:bus>
>         <cxf:features>
>             <cxf:logging/>
>         </cxf:features>
>     </cxf:bus>

How do Bus-level features interact with endpoint- or client-level
features?  For example, if I have

{{{
<cxf:bus>
     <cxf:features>
         <cxf:foo/>
     </cxf:features>
</cxf:bus>

<jaxws:endpoint name="{http://foo.bar.com}FUBAR";>
     <cxf:features>
         <cxf:foo/>
     </cxf:features>
</jaxws:endpoint>
}}}

and a servant is instantiated under the WSDL Port
{http://foo.bar.com}
FUBAR, is a feature instantiated twice, once for the Bus, qua
InterceptorProvider, and once for the Endpoint, qua
InterceptorProvider?

If it's instantiated twice, is there any way a feature
implementor to
traverse the interceptors on each InterceptorProvider, to see if a
feature has been installed, or are these interceptor lists
independent of one another?

(The reason I ask is, there might be a tendency to think of the
feature config on the Bus as a kind of default, such that if a
feature is defined at endpoint granularity, that feature is the
effective feature in config, whereas if there is no such config at
endpoint granularity, the runtime would fall back to the Bus
config.
But I'm guessing that's really not the behavior here, is it?)

Thanks!
-Fred


----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland
----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Reply via email to