And here is my cxf.xml file

    <bean id="aegisBinding" class="
org.apache.cxf.aegis.databinding.AegisDatabinding"/>

    <bean id="versionBean" class="collective.webservices.VersionInterceptor
"/>

    <bean id="aegisConfig" class="
org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>

    <bean id="defaultConfig" class="
org.apache.cxf.service.factory.DefaultServiceConfiguration"/>

    <bean id="jaxConfig" class="
org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>

    <bean id="serviceBean" class="
collective.webservices.CollectiveServicesImpl">
        <property name="assetFactory" ref="assetFactoryBean"></property>
    </bean>

    <bean id="assetFactoryBean" class="
collective.webservices.DefaultWSAssetFactory"/>

    <jaxws:endpoint id="CollectiveServices" implementor="#serviceBean"
address="/CollectiveServices" >
        <jaxws:serviceFactory>
            <bean class="
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
                <property name="dataBinding" ref="aegisBinding"/>
                <property name="serviceConfigurations">
                    <list>
                        <ref bean="jaxConfig"/>
                        <ref bean="aegisConfig"/>
                        <ref bean="defaultConfig"/>
                    </list>
                </property>
            </bean>
        </jaxws:serviceFactory>
    </jaxws:endpoint>
     <cxf:bus>
         <cxf:inInterceptors>
             <ref bean="versionBean"/>
         </cxf:inInterceptors>
     </cxf:bus>


On 9/18/07, Dave Kallstrom <[EMAIL PROTECTED]> wrote:
>
> It is most likely my as I am not all that smart.
> Here is my cxf.xml file and my version interceptor..
> I know that my interceptor is being called however the endpoint set is
> always null.
>
> public class VersionInterceptor extends
> AbstractEndpointSelectionInterceptor
> {
>
>     public VersionInterceptor()
>     {
>         super(Phase.POST_STREAM);
>         addBefore(StaxInInterceptor.class.getName());
>         System.out.println("VersionInterceptor#init()");
>     }
>
>     @Override
>     protected Endpoint selectEndpoint(Message message, Set<Endpoint> eps)
>     {
>         InputStream is = message.getContent(InputStream.class);
>         System.out.println ("Message " + message);
>         System.out.println("EndpointSet " + eps);
> }
> }
>
> On 9/17/07, Liu, Jervis < [EMAIL PROTECTED]> wrote:
> >
> > Hi Dave, Firstly you need to make sure you are using SOAP binding, at
> > the moment only the SOAP binding is using MultipleEndpointObserver. Then you
> > can add your interceptor (that extends from
> > AbstractEndpointSelectionInterceptor) into the chain using spring
> > configuration similar to the way how logging interceptor is added, see [1].
> > Please pay attention to the phase of your interceptor, your interceptor
> > needs to be the very first one that being invoked in the inbound interceptor
> > chain. You might see AttachmentInInterceptor is invoked before your
> > interceptor, but that is ok. I believe using Phase.POST_STREAM and
> > addBefore(StaxInterceptor.class.getName()) should give you the right
> > phase.
> >
> >
> > [1]. http://cwiki.apache.org/CXF20DOC/configuration.html
> >
> > Cheers,
> > Jervis
> >
> > > -----Original Message-----
> > > From: Dave Kallstrom [mailto:[EMAIL PROTECTED]
> > > Sent: 2007?9?17? 23:58
> > > To: [email protected]
> > > Subject: Re: Wsdl Versioning
> > >
> > >
> > > It looks like I might not be able to set this up through
> > > cxf.xml? I don't
> > > see a way to get the MultipleEndpointObserver from the
> > > JaxWsServiceFactoryBean so that I can add a routingInterceptor to it.
> > >
> > > On 9/15/07, Liu, Jervis <[EMAIL PROTECTED] > wrote:
> > > >
> > > > Hi, your interceptor needs to extend from
> > > > AbstractEndpointSelectionInterceptor. Also make sure you
> > > have registered
> > > > your routing interceptor with the MultipleEndpointObserver,
> > > please refer to
> > > >
> > > \trunk\systests\src\test\java\org\apache\cxf\systest\versionin
> > > g\Server.java
> > > >
> > > > Cheers,
> > > > Jervis
> > > >
> > > > > -----Original Message-----
> > > > > From: Dave Kallstrom [mailto:[EMAIL PROTECTED]
> > > > > Sent: 2007?9?15? 2:39
> > > > > To: [email protected]
> > > > > Subject: Re: Wsdl Versioning
> > > > >
> > > > >
> > > > > Thanks for the response. I tried adding an incoming
> > > > > interceptor that extends
> > > > > AbstractEndpointInterceptor very similar to the example. The
> > > > > only problem I
> > > > > see is
> > > > > that the incoming set of endpoints to my selectEndpoint
> > > > > methid is always
> > > > > null. My no arg constructor is calling
> > > > > super(Phase.POST_STREAM) and then
> > > > > addBefore(StaxInterceptor.class.getName())
> > > > > Am I doing this correctly? Or could it be because I only have
> > > > > one endpoint?
> > > > >
> > > > > On 9/14/07, Jean-François Daune <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > >
> > > > > > This document is quite interesting about this subject:
> > > > > >
> > > > > >
> > > http://blogs.iona.com/sos/20070410-WSDL-Versioning-Best-Practise.pdf
> > > > > >
> > > > > > Cheers,
> > > > > >
> > > > > > J-F
> > > > > >
> > > > > > -----Message d'origine-----
> > > > > > De : Liu, Jervis [mailto: [EMAIL PROTECTED]
> > > > > > Envoyé : vendredi 14 septembre 2007 3:55
> > > > > > À : [email protected]
> > > > > > Objet : RE: Wsdl Versioning
> > > > > >
> > > > > >
> > > > > > Hi Dave, we've had a very basic versioning implementation.
> > > > > Basically how
> > > > > > it works is an interceptor sitting at the beginning of
> > > > > in-bound interceptor
> > > > > > chain as a mediator to inspect then dispatch the coming
> > > > > request to different
> > > > > > endpoints. An example can be found from a system test sample:
> > > > > >
> > > > > \trunk\systests\src\test\java\org\apache\cxf\systest\versionin
> > > > > g. Let me know
> > > > > > if you have any further questions. Willem Jiang is
> > > > > currently working on
> > > > > > adding a much more powerful routing support using Apache
> > > > > Camel, hopefully
> > > > > > this will provide a better foundation for implementing
> > > > > versioning in CXF
> > > > > > once it is done.
> > > > > >
> > > > > > Cheers,
> > > > > > Jervis
> > > > > >
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Dave Kallstrom [mailto:[EMAIL PROTECTED]
> > > > > > > Sent: 2007?9?14? 2:53
> > > > > > > To: [email protected]
> > > > > > > Subject: Wsdl Versioning
> > > > > > >
> > > > > > >
> > > > > > > We have recently migrated our web services offering from
> > > > > > > xfire to cxf and
> > > > > > > everything is going well. Now the issue is that we have
> > > > > > > several clients who
> > > > > > > would like different features and I am wondering how best to
> > > > > > > accomplish
> > > > > > > this. The changes being requested will likely result in a
> > > > > > > different wsdl so
> > > > > > > I would like to be able to version our wsdls with different
> > > > > > > namespaces. The
> > > > > > > question is where do I inspect the wsdl namespace and then
> > > > > > > how do I provide
> > > > > > > different functionality depending on the incoming namespace?
> > > > > > > I am using
> > > > > > > aegis bindings and cxf.xml with the cxf servlet.
> > > > > > > Any ideas would be appreciated.
> > > > > > >
> > > > > > > --
> > > > > > > Dave Kallstrom
> > > > > > >
> > > > > >
> > > > > > ----------------------------
> > > > > > IONA Technologies PLC (registered in Ireland)
> > > > > > Registered Number: 171387
> > > > > > Registered Address: The IONA Building, Shelbourne Road,
> > > > > Dublin 4, Ireland
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Dave Kallstrom
> > > > >
> > > >
> > > > ----------------------------
> > > > IONA Technologies PLC (registered in Ireland)
> > > > Registered Number: 171387
> > > > Registered Address: The IONA Building, Shelbourne Road,
> > > Dublin 4, Ireland
> > > >
> > >
> > >
> > >
> > > --
> > > Dave Kallstrom
> > >
> >
> > ----------------------------
> > IONA Technologies PLC (registered in Ireland)
> > Registered Number: 171387
> > Registered Address: The IONA Building, Shelbourne Road, Dublin 4,
> > Ireland
> >
>
>
>
> --
> Dave Kallstrom




-- 
Dave Kallstrom

Reply via email to