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

Vamsavardhana Reddy updated TUSCANY-2218:
-----------------------------------------

    Attachment: TUSCANY-2218.patch

TUSCANY-2218.patch: Fixes the precedence as per spec.

> Endpoint URI resolution precedence for binding.ws reference is incorrect
> ------------------------------------------------------------------------
>
>                 Key: TUSCANY-2218
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2218
>             Project: Tuscany
>          Issue Type: Bug
>    Affects Versions: Java-SCA-1.0
>            Reporter: Lou Amodeo
>            Assignee: Vamsavardhana Reddy
>         Attachments: TUSCANY-2218.patch
>
>
> I believe the order of Endpoint URI resolution precedence is incorrect for 
> binding.ws references.   What I am seeing is that the uri attribute is taking 
> precedence over the location specified in the WSDL.  The spec indicates that 
> the endpoint in the WSDL should take highest precedence.   
> Web Service Binding Spec....
> 2.1.1 Endpoint URI resolution
> 71 The rules for resolving the URI at which an SCA service is hosted, or SCA 
> reference targets,
> 72 when used with binding.ws (in precedence order) are:
> 73 1. The URIs in the endpoint(s) of the referenced WSDL
> 74 or
> 75 The URI specified by the wsa:Address element of the wsa:EndpointReference,
> 76 2. The explicitly stated URI in the "uri" attribute of the binding.ws 
> element, which may be
> 77 relative,
> 78 3. The implicit URI as defined by the Assembly specification
> In Axis2ServiceClient getPortLocation looks for uri first and returns it 
> ahead of wsdl location if present. 
>  protected EndpointReference getPortLocationEPR(WebServiceBinding binding) {
>       
>         String ep = binding.getURI();  WAS specific
>         if (ep == null && binding.getPort() != null) {
>             List<?> wsdlPortExtensions = 
> binding.getPort().getExtensibilityElements();
>             for (final Object extension : wsdlPortExtensions) {
>                 if (extension instanceof SOAPAddress) {
>                     ep = ((SOAPAddress)extension).getLocationURI();
>                     break;
>                 }
>                 if (extension instanceof SOAP12Address) {
>                     SOAP12Address address = (SOAP12Address)extension;
>                     ep = address.getLocationURI();
>                     break;
>                 }
>             }
>         }
>         return ep == null || "".equals(ep) ? null : new EndpointReference(ep);
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to