I guess we could preserve the existing behavior while still use the correct
bean.  We just need to take into account the path separator "/" and only
select the one that has a full match.

On Mon, Apr 14, 2008 at 4:15 AM, Willem Jiang <[EMAIL PROTECTED]>
wrote:

> That is because CXF support to map a Http request to a soap request, such
> as "http://localhost:9000/SoapContext/SoapPort/greetMe/requestType/cxf";.
> To implement this by default , CXF use the match the first policy(call the
> String.startWith()) to lookup the proper destination.
>
> With these policy "http://localhost:8080/MyThingInstance?wsdl"; and "
> http://localhost:8080/MyThingInstance2?wsdl"; requests will be dispatched
> destination which address is MyThingInstance. So you always get the same
> WSDL with these two URL.
>
> If you want to get the different wsdl definitions from Address1 and
> Address2 , you need to avoid the Address2 starting with Address1.
>
> Willem
>
>
> Arul Dhesiaseelan wrote:
>
> > Thanks Dan.
> >
> > But when I implement as shown below.
> >
> >       MyThing implementor = new MyThingImpl();
> >       String address = "http://localhost:8080/MyThingInstance";
> >       javax.xml.ws.Endpoint jaxwsEndpoint = Endpoint.publish(address,
> > implementor);             MyThing implementor2 = new MyThingImpl();
> >       String address2 = "http://localhost:8080/MyThingInstance2";
> >       javax.xml.ws.Endpoint jaxwsEndpoint = Endpoint.publish(address2,
> > implementor2);      I tried to access
> > http://localhost:8080/MyThingInstance?wsdl and
> > http://localhost:8080/MyThingInstance2?wsdl. Both the WSDL has the same
> > service definition.
> >
> > I do not see MyThingInstance2 anywhere in the WSDL.
> >
> > Am I missing something?
> >
> > Best regards
> > Arul
> >
> > Daniel Kulp wrote:
> >
> > > On Wednesday 09 April 2008, Arul Dhesiaseelan wrote:
> > >
> > >
> > > > Daniel Kulp wrote:
> > > >
> > > >
> > > > > On Wednesday 09 April 2008, Benson Margulies wrote:
> > > > >
> > > > >
> > > > > > A bit of googling got me nowhere here.
> > > > > >
> > > > > > I want to publish a service on both a http: address and a local:
> > > > > > address. Two jaxws:endpoints? Can they point to the same
> > > > > > #implementation bean?
> > > > > >
> > > > > >
> > > > > Yep.   It's the same as if you did:
> > > > >
> > > > > MyThing thing = new MyThingImpl();
> > > > > Endpoint.publish(address1, thing);
> > > > > Endpoint.publish(address2, thing);
> > > > >
> > > > >
> > > > Dan,
> > > >
> > > > Does this work?
> > > >
> > > > MyThing thing1 = new MyThingImpl();
> > > > MyThing thing2 = new MyThingImpl();
> > > >
> > > > Endpoint.publish(address1, thing1);
> > > > Endpoint.publish(address2, thing2);
> > > >
> > > > When I invoke the service at address1, it should invoke thing1 and
> > > > address2 should invoke thing2.
> > > >
> > > > Thanks!
> > > > Arul
> > > >
> > > >
> > >
> > >
> > > Yep.   That's exactly how it's supposed to work.
> > >
> > >
> > >
> >
> >
> >
>


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Reply via email to