[ 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]