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/
