Hi,

We have a WSDL containing one doc/lit operation. References to the XSD's are defined in <types> using <xs:include>.

This WSDL is stored as such in our SCM (e.g. CVS), as well as the referenced XSD's. The fact that the XSD's are separate files makes XSD authoring easier for us.

However, when the WSDL is published as an Axis2 webservice WSDL (so available through http://.../services/TestService?wsdl), we want the xs:include to be replaced by the actual content when published.

The reason why we don't want xs:include in the published WSDL
- it avoids the necessity to have the XSD's in the directory where the J2EE container JVM was started - it avoids a hassle for clients that want to generate the stubs based on the published WSDL (http://.../services/TestService?wsdl), because each client (Axis1, Axis2, WebLogic8.1 client, .NET 2.0, ...) seems to interpret the schemaLocation attribute of <xs:include> differently

QUESTION

Is there a way in Axis2 to have an on-the-fly transformation of the xs:include references to the actual content of the XSD's in our WSDL? I suppose this should be done during WSDL2Java or one of the other Axis2 ANT tasks. If it's not available as a standard feature, is there an AXIS2 API that we could extend/override to get the behaviour we want?

Best regards,
Davy Toch



----------------------------------------------------------------
- Disclaimer: http://www.minfin.fgov.be/disclaimer.htm
<?xml version="1.0" encoding="UTF-8"?>
<definitions
  xmlns="http://schemas.xmlsoap.org/wsdl/";
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
  xmlns:xs="http://www.w3.org/2001/XMLSchema";
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
  xmlns:ipp="http://www.test.be/test";
  targetNamespace="http://www.test.be/test";
  name="TestService">
  <types>
    <xs:schema targetNamespace="http://www.test.be/test";>
      <xs:include schemaLocation="Request.xsd"/>
      <xs:include schemaLocation="Response.xsd"/>
    </xs:schema>
  </types>
  <message name="TestService_Request">
    <part name="request" element="ipp:Request"/>
  </message>
  <message name="TestService_Response">
    <part name="response" element="ipp:Response"/>
  </message>
  <portType name="Test">
    <operation name="requestTest">
      <input message="ipp:TestService_Request"/>
      <output message="ipp:TestService_Response"/>
    </operation>
  </portType>
  <binding name="TestBinding" type="ipp:Test">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="requestTest">
      <soap:operation soapAction="urn:requestTest"/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="TestService">
    <port name="TestPort" binding="ipp:TestBinding">
      <soap:address location="http://tobedefined"/>
    </port>
  </service>
</definitions>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to