Allow for sharing XSD schemas between services
----------------------------------------------

                 Key: AXIS2-3354
                 URL: https://issues.apache.org/jira/browse/AXIS2-3354
             Project: Axis 2.0 (Axis2)
          Issue Type: Improvement
    Affects Versions: 1.3
            Reporter: Mauro Molinari


Suppose I have the following structure:

The WSDLs for MyService1 and MyService2 are in the following folders, 
respectively:
contextpath/WEB-INF/services/MyService1/META-INF/
contextpath/WEB-INF/services/MyService2/META-INF/

I want them to share Common.xsd: as of now, it seems that there's no way to get 
this to work.
If I put it here:
contextpath/WEB-INF/services/
and the xsd:import schemaLocation in the WSDLs points to "../../Common.xsd", 
Axis2 can find the XSD and processes the services correctly, but when it 
substitutes the link to it in the WSDLs, it generates the following links:

MyService1?xsd=../../Common.xsd (in MyService1 WSDL)
MyService2?xsd=../../Common.xsd (in MyService2 WSDL)

The problem is that from an HTTP client point of view, this translates to path 
contextpath/Common.xsd: in fact, if you try to write the link:

http://server:8080/contextpath/services/MyService1?xsd=../../Common.xsd
a "file not found" error is given.

Another clue is that if I try to generate a client pointing to
http://server:8080/contextpath/services/MyService1?wsdl, WSDL2Java says that it 
cannot retrieve the schema.

By manually typing:
http://server:8080/contextpath/services/MyService1?xsd=../Common.xsd
I see that the schema can actually be found; but if I replace the xsd:import in 
the original WSDL so that the schemaLocation points to "../Common.xsd", then 
Axis2 can't find it anymore, because it searches for it in 
contextpath/WEB-INF/services/MyService1/ and the generation of the WSDL fails.

So, my request is this: add a supported way to share schemas (and maybe WSDLs 
portions) between services.

Maybe the system should allow a default common repository where shared schemas 
and WSDLs can be placed? Or should the way in which Axis2 rewrites the 
schemaLocation link in the WSDL when imported resources are mapped to file 
outside the current folder simply fixed?


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