You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sergey Beryozkin (JIRA)" <ji...@apache.org> on 2014/02/26 17:23:22 UTC

[jira] [Updated] (CXF-5581) Dynamic endpoint address is buggy unless ConduitSelector.compareFullUrl is enabled

     [ https://issues.apache.org/jira/browse/CXF-5581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Beryozkin updated CXF-5581:
----------------------------------

    Fix Version/s: 2.7.11
                   3.0.0

> Dynamic endpoint address is buggy unless ConduitSelector.compareFullUrl is enabled
> ----------------------------------------------------------------------------------
>
>                 Key: CXF-5581
>                 URL: https://issues.apache.org/jira/browse/CXF-5581
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.7.6
>            Reporter: Raul Kripalani
>             Fix For: 3.0.0, 2.7.11
>
>
> When using the RequestContext Message.ENDPOINT_ADDRESS option in an CXF-WS client to override the configured endpoint address with a different one during runtime, the endpoint "fixates" on the first endpoint address ever effectively used after initialization.
> Try this:
> # Set up http://aaaa:8080 as the endpoint address in the configuration.
> # Initialize the JAX-WS client.
> # Send a first request with the Message.ENDPOINT_ADDRESS request context property set to http://bbbb:8080.
> # CXF calls http://bbbb:8080 correctly as expected.
> # Send a second request without the Message.ENDPOINT_ADDRESS property, i.e. no overriding. 
> # You were expecting a call to http://aaaa:8080, but CXF calls http://bbbb:8080, because this is how the conduit was initialized.
> The problem lies in AbstractConduitSelector#findCompatibleConduit, which by default only uses the URI scheme (protocol, e.g. http, https) to select the conduit, failing to acknowledge that the address could have been overridden at runtime.
> This behaviour can be switched to the expected behaviour by explicitly setting the org.apache.cxf.ConduitSelector.compareFullUrl property to 'true' in the context. 
> However, this is largely obscure, not documented anywhere and user unfriendly. In my opinion, it should work as expected OOTB.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)