On 3/21/07, D P <[EMAIL PROTECTED]> wrote:
Hello all, When a client queries the service wsdl at http://../../serviceName?wsdl, I would like the service to return the wsdl which I packaged in the .aar file, _not_ an auto generated wsdl. I came across a possible solution here: http://www.mail-archive.com/[email protected]/msg25033.html. 1. It appears though there are some issues with the solution. Does anyone know if this works for sure? 2. After implementing the solution in my services.xml file, i noticed 2 things: a.) i've refactored out some schema into an xsd file, and import it to multiple wsdls. A copy of the xsd file is packaged with each wsdl and the code to import the xsd uses schemaLocation=" foo.xsd". But when I look at the wsdl file at http://../../serviceName?wsdl, the schemaLocation element value is now schemaLocation="serviceName?xsd=xsd0". Why is this happening? b) When I look at the wsdl file at http://../../serviceName?wsdl, i notice that wsdl:portType/wsdl:operation/wsdl:input and wsdl:portType/wsdl:operation/wsdl:output have a wsaw:Action, whereas the original wsdl I packaged with the .aar does not. Why is this happening?
I think this is a known issue. In Axis2 we use the WSDL11ToAxisServiceBuilder to build the Axis Service from the wsdl file. The first step it does is it process the imports. i.e. It iterates through all the imported wsdls and put all the imports to the service wsdl. Then when serializing the wsdl4jDefinition it serializes this changed wsdl4j object. So it contains both original imports (I removed this recently) and the imported elements. please log a jira. Any feedback would be appreciated.
-- Amila Suriarachchi, WSO2 Inc.
