So my service names should start with a unique name like... 1Address,
2Address, 3Address.
Is this a limitation of this implementation?
Thanks!
Arul
Willem Jiang 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
_________________________________________________