Uploaded image for project: 'Spring Web Services'
  1. Spring Web Services
  2. SWS-281

add support for imported xsd in static wsdl as well as xsd's that import other xsd's

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.5.1
    • Component/s: Core
    • Labels:
      None
    • Environment:
      Spring WS 1.0.2

      Description

      Currently, Spring WS does not seem to have support for serving up xsd's that are imported into static wsdl. There is also no support for xsd's that import other xsd's. Both situations are considered best practices by schema and wsdl designers.

      The schemaLocation attribute should be transformed in the same way that the location attribute is transformed for wsdl's today to include the request specific server info depending on where the application is deployed.

      Usage Examples:

      wsdl (with imported xsd)
      request
      http://localhost:7001/Services/8.02/Example?wsdl

      response (partial)
      <wsdl:definitions name="Example" targetNamespace="http://services">
      <wsdl:types>
      <xs:schema>
      <xs:import namespace="http://customer/types" schemaLocation="http://localhost:7001/Services/8.02/Example?Customer.xsd"/>
      </xs:schema>
      </wsdl:types>

      xsd (with imported xsd)
      request
      http://localhost:7001/Services/8.02/Example?Customer.xsd

      response (partial)
      <xs:schema targetNamespace="http://customer/types">
      <xs:import namespace="http://order/types" schemaLocation="http://localhost:7001/Services/8.02/Example?Order.xsd"/>

        Issue Links

          Activity

            People

            • Assignee:
              arjen.poutsma Arjen Poutsma
              Reporter:
              lafondoo Mark LaFond
            • Votes:
              8 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: