Uploaded image for project: 'JBoss Web Services'
  1. JBoss Web Services
  2. JBWS-3792

JBossWS: wsdl:import always handled as relative location

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Done
    • jbossws-cxf-4.3
    • None
    • jbossws-cxf
    • None

    Description

      As described in this thread: https://community.jboss.org/thread/240821

      wsdl:import directive seems to be always resolved as a relative location.

      For example, this statement:
      <wsdl:import namespace="http://foo.bar.com/foo.bar.Service" location="http://foo.bar.com/Service.svc?wsdl=wsdl0"/>

      May result in this URL being resolved:
      http://foo.bar.com/http://foo.bar.com/Service.svc?wsdl=wsdl0

      This prevents the WSDL file from being parsed.

      This behavior seems to originate from: org.jboss.ws.common.deployment.SOAPAddressWSDLParser, line 211 in v2.3.0.Final and current trunk:
      } else if (match(reader, WSDL_NS, IMPORT)) {
      final String location = reader.getAttributeValue(null, LOCATION);
      final String url = wsdlUrl.toString();
      final String newUrl = url.substring(0, url.lastIndexOf("/") + (location.startsWith("/") ? 0 : 1)) + location;
      if (!metadata.getImports().containsKey(newUrl))

      { metadata.getImports().put(newUrl, false); }

      }

      Attachments

        Activity

          People

            rsearls r searls
            mhz4248 Marc H. (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: