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


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