Hi All,
I have a question regarding WSDL published by a service packaged in AAR.
I have a service class, WSDL and all it references (imported WSDL's and
schema's) structured like this inside an aar:

java
-- package
---- ServiceClass.class
META-INF
-- services.xml
-- ExampleService.wsdl
-- _
---- schema1.xsd   (this import schema2, <xsd:import namespace="namespace"
schemaLocation="schema2.xsd"/>)
---- schema2.xsd   (let say this schema import schema3 using <xsd:import
namespace="namespace" schemaLocation="_/schema3.xsd"/>)
---- _
------ schema3.xsd (this import schema 4)
------ _
-------- schema4.xsd

I can get ExampleService deployed successfully, and it is exposing the right
WSDL (using originalWsdl set to true).
However, when I try to access the WSDL and get all references, it failed
because it cannot find some references...

I've digging more, and found out that Axis2 using replacing some relative
URL to be something like this format - [ServiceName]?xsd=path/to/xsd
This is fine for the XSD that directly imported by WSDL, but not for the XSD
imported by ther XSD.
Axis2 does not change import definition to <xsd:import namespace="namespace"
schemaLocation="ServiceName?xsd=_/_/schema3.xsd"/> to import schema3.

Is this the right behavior of Axis2? Does't it support nested import?
Please give me some insight.

Regards,
Sukma

Reply via email to