Romain Chantereau created CXF-6527:
--------------------------------------

             Summary: WSDLRefValidator reject valid target reference URI/IRI
                 Key: CXF-6527
                 URL: https://issues.apache.org/jira/browse/CXF-6527
             Project: CXF
          Issue Type: Bug
          Components: Tooling
            Reporter: Romain Chantereau
            Priority: Minor


When a target namespace have “:” in the path part of the URI, the validator 
reject the WSDL.

This is due to this piece of code at line 137 of 
{{tools/validator/src/main/java/org/apache/cxf/tools/validator/internal/WSDLRefValidator.java}}
 file.

{code:java}
private void checkTargetNamespace(String path) {
     try {
        if (new URL(path).getPath().indexOf(":") != -1) {
            throw new ToolException(": is not a valid char in the 
targetNamespace");
        }
   } catch (MalformedURLException e) {
        // do nothing
   }
}
{code}

I checked the following specifications:
* [XML namespace|http://www.w3.org/TR/xml-names/]
* [URI|http://www.rfc-editor.org/rfc/rfc3986.txt]
* [IRI|http://www.ietf.org/rfc/rfc3987.txt]
* [WSDL 2.0 Target 
namespace|http://www.w3.org/TR/wsdl20/#Description_targetnamespace_attribute]
* [WSDL service definition|http://www.w3.org/TR/wsdl#_service]

and nothing forbids having a target namespace like the following one:
{{http://host:port/part/part/resource:resource}}

Then the validator add an extra constraint on the WSDL format without any 
explanation.

I looked into the source history, this validation is here since a long period 
(before going to git), then I was not able to find out the reason behind this 
explicit check.

Could fix this bug or explain why there is a such limitation?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to