Hi, I was working in Geronimo on a simple issue where the service endpoint url address in WSDL gets cached on the very first request and does not get updated. I was looking through similar code in CXF and noticed a few things and now I'm wondering how things should work.
1) What's the purpose of publishedEndpointUrl property? I see that it can be set in EndpointImpl and it is used in WSDLQueryHandler to update the service soap:address location. But, a) shouldn't this property be also used to update the schema/wsdl imports? and b) shouldn't that value also be returned in WebServiceContext.getEndpointReference() and/or Endpoint.getEndpointReference()? 2) The service endpoint address in WSDL returned by CXFServlet will be updated each time because ServletController.updateDests() updates the address property of the endpoint. But doesn't that create a little race condition with WebServiceContext.getEndpointReference()? For example, if you have 2 concurrent requests one getting the WSDL and another one calling WebServiceContext.getEndpointReference()? Maybe WebServiceContext.getEndpointReference() should be using the request url instead of the endpoint address for the EPR address? Jarek