Details
-
Bug
-
Resolution: Done
-
Major
-
None
-
jbossws-cxf-4.3
-
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))
}