Thanks Williem.

Willem Jiang wrote:
Good suggestion, I will try to address this issue by checking the request url with the path separator.
Here is the JIRA[1] for tracing it.

[1]https://issues.apache.org/jira/browse/CXF-1531

Willem
Guillaume Nodet wrote:
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.








_________________________________________________
Scanned by MessageLabs for the Super Flux Friends
_________________________________________________

Reply via email to