When we input the following arguments to wsdl2java : wsdl2java -b /home/jimma/code/jaxws/ee/w2j/document/literal/headertest/customfile.xml" file:/home/jimma/code/tmp/all/../../tests/jaxws/ee/w2j/document/literal/headertest/HeaderTestService.wsdl"
and customfile.xml contains : <?xml version="1.0" encoding="UTF-8"?> <bindings wsdlLocation="HeaderTestService.wsdl" xmlns="http://java.sun.com/xml/ns/jaxws"> <bindings node="wsdl:definitions" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <package name="org.apache.cxf.package"/> </bindings> </bindings> The CutomizationParser in tools module will parse the cutomfile.xml's target wsdl's location to file:/home/jimma/code/tests/jaxws/ee/w2j/document/literal/headertest/HeaderTestService.wsdl. And it does not compute the input wsdl location "file:/home/jimma/code/tmp/all/../../tests/jaxws/ee/w2j/document/literal/headertest/HeaderTestService.wsdl" is the same file as target wsdl location from customfile.xml . So It fails to do the customization. The line I add " URI.normalize()" is just removing the ".." and "." segments and isn't doing other complicate work . It should be platform independent. On Sat, Jul 31, 2010 at 9:50 AM, Glen Mazza <glen.ma...@gmail.com> wrote: > May I ask why this normalization is helpful (instead of just using the > intended file path to being with)? > Does this affect just internal CXF use or external usage by users of CXF? > If the latter, the potential problem I see is that not all URI's are file > paths and, even if they were, I'm not sure that you can safely normalize in > a platform-independent manner. > > Glen > > e...@apache.org wrote: >> >> Author: ema >> Date: Fri Jul 30 16:07:40 2010 >> New Revision: 980880 >> >> URL: http://svn.apache.org/viewvc?rev=980880&view=rev >> Log: >> [CXF-2918]:normalize the url like file:/home/cxf/org/apache/../../cxf in >> URIParserUtil.getAbsoluteURL() >> >> Modified: >> >> cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/URIParserUtil.java >> >> cxf/trunk/tools/common/src/test/java/org/apache/cxf/tools/util/URIParserUtilTest.java >> >> Modified: >> cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/URIParserUtil.java >> URL: >> http://svn.apache.org/viewvc/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/URIParserUtil.java?rev=980880&r1=980879&r2=980880&view=diff >> >> ============================================================================== >> --- >> cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/URIParserUtil.java >> (original) >> +++ >> cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/util/URIParserUtil.java >> Fri Jul 30 16:07:40 2010 >> @@ -248,18 +248,15 @@ public final class URIParserUtil { >> } >> public static String normalize(final String uri) { >> URL url = null; >> + String result = null; >> try { >> url = new URL(uri); >> - return escapeChars(url.toString().replace("\\", "/")); >> + result = >> escapeChars(url.toURI().normalize().toString().replace("\\", "/")); >> > > >