You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "David Wettig (JIRA)" <ji...@apache.org> on 2008/07/04 10:29:50 UTC
[jira] Updated: (CXF-1681) Base URL caching in ServletController
avoids needed updateDests() call on republishing endpoints
[ https://issues.apache.org/jira/browse/CXF-1681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Wettig updated CXF-1681:
------------------------------
Remaining Estimate: (was: 2h)
Original Estimate: (was: 2h)
> Base URL caching in ServletController avoids needed updateDests() call on republishing endpoints
> ------------------------------------------------------------------------------------------------
>
> Key: CXF-1681
> URL: https://issues.apache.org/jira/browse/CXF-1681
> Project: CXF
> Issue Type: Bug
> Components: Transports
> Affects Versions: 2.1.1
> Environment: Standalone Jetty
> Reporter: David Wettig
>
> In updateDests() the following:
> if (base.equals(lastBase)) {
> return;
> }
> returns on equal base URLs which results in avoiding the needed second call of
> d2.getEndpointInfo().setAddress(base + path);
> which is needed to set the fully qualified URI, because the first setAdress() call made by invoke() just sets the relative path.
> What i do is:
> 1. I use the CXFServlet in combination with Jetty (using nearly the original example) except of using
> root.addServlet(servlet, "/soap/*") instead of just "/*" as the base path.
> Now i do:
> Endpoint.publish("/testService", impl)
> resulting in a ServletController which first sets in invoke() the adress to '/testService' and after that the adress will be set again in updateDests() but this time as 'http://localhost:8123/soap/testService'
> This works fine for me, now i can load the WSDL for example.
> 2. The problem now occurs if i indirectly reuse the ServletController by doing the following:
> endpoint.stop();
> Endpoint.publish("/testService", impl)
> because the second EndpointInfo.setAdress() call won't be made, because of the base URL matching in updateDests() as shown above.
> - The base URL is not changing.
> - The second fully qualified EndpointInfo.setAdress() call is missing.
> - EndpointInfo contains '/testService' and not as needed 'http://localhost:8123/soap/testService'
> - Calling WSDL FQ-URL failes because:
> - WSDLQueryHandler can't identify the request using:
> isRecognizedQuery()
> ...
> return endpointInfo.getAddress().contains(UrlUtilities.getStem(baseUri.substring(0, idx)));
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.