[
https://issues.apache.org/jira/browse/AXIS2-4451?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12974359#action_12974359
]
Senaka Fernando edited comment on AXIS2-4451 at 12/22/10 2:54 PM:
------------------------------------------------------------------
#1 and #2 no longer returns a wrong schema. It returns a soap fault.
Thanks,
Senaka.
was (Author: senakafdo):
#1 and #2 no longer returns an invalid schema.
Thanks,
Senaka.
> Incorrect resolution of imported schema URLs
> --------------------------------------------
>
> Key: AXIS2-4451
> URL: https://issues.apache.org/jira/browse/AXIS2-4451
> Project: Axis2
> Issue Type: Bug
> Components: wsdl
> Affects Versions: 1.4.1
> Reporter: dmitry beransky
> Assignee: Senaka Fernando
> Priority: Critical
> Fix For: 1.6
>
>
> [see the original email thread here:
> http://www.nabble.com/schema-location-resolution-td24648927.html]
> I have several services deployed under Axis2: S1, S1, S3. Each service
> packages it's own but identical to others copy of enterprise-common.xsd that
> gets imported from each service's specific schema file: [S1.wsdl <-- S1.xsd
> <-- enterprise-common.xsd; S3.wsdl <-- S3.xsd <-- enterprise.common.xsd].
> Let's say I next deploy a new service S4 which also has a copy of
> enterprise-common.xsd, but this copy is different from those included with
> other services (it has new element and type definitions).
> The location of S4's wsdl is <http://localhost/axis2/services/S4?wsdl>.
> When Axis2 serves the WSDL document, it rewrites schemaLocation to be
> 'schemaLocation="S4?xsd=S4.xsd"'. So, S4.xsd's absolute URL becomes
> <http://location/axis2/services/S4?xsd=S4.xsd>.
> enterprise-common.xsd location inside of S4.xsd is defined as
> 'schemaLocation="enterprise-common.xsd"'. When Axis2 returns S4.xsd
> it doesn't rewrite schema's location like it does with the wsdl document, so
> enterprise-common.xsd's absolute URL becomes
> <http://localhost/axis2/services/enterprise-common.xsd>.
> When Axis2 recieves a request for
> <http://localhost/axis2/services/enterprise-common.xsd>, which now doesn't
> have a service binding in the URL, as far as I can tell, it simply goes
> through all installed .aars looking for one that has the file. It finds it
> in the first service installed, say for example, S1. Unfortunately, S1 has
> the old version of enterprise-common.xsd that will against service S4.
> Also, consider these three URLs:
> 1. http://localhost/axis2/services/enterprise-common.xsd
> 2. http://localhost/axis2/services/S4/enterprise-common.xsd
> 3. http://localhost/axis2/services/S4?xsd=enterprise-common.xsd
> Only #3 returns the schema that is defined inside of S4.aar (the newest
> version). #1 & #2 return an older version of enterprise-common.xsd that
> sits in other .aars. If I undeploy S1, S2, and S3 .aars, then #1 & #2 return
> the latest version from S4.
--
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]