[ https://issues.apache.org/jira/browse/AXIS2-2584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12492054 ]
Steven E. Harris commented on AXIS2-2584: ----------------------------------------- In the same file, ArchiveReader.java, just a few lines down from my original patch's target, we see the same problem: if (serviceArchiveFile != null) { axisServiceBuilder.setBaseUri( serviceArchiveFile.getParentFile().getAbsolutePath()); } This should also use File.toURI(), as follows: if (serviceArchiveFile != null) { axisServiceBuilder.setBaseUri( serviceArchiveFile.getParentFile().toURI().toString()); } This takes care of non-AAR-packaged (exploded) deployments that would otherwise fail with Windows-style paths. > AAR deployment fails with a WSDL 2 document due to spaces in path to AAR file > (interpreted as a URI) > ---------------------------------------------------------------------------------------------------- > > Key: AXIS2-2584 > URL: https://issues.apache.org/jira/browse/AXIS2-2584 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: deployment > Affects Versions: nightly > Environment: Windows XP, Apache Tomcat 6 > Reporter: Steven E. Harris > Assigned To: Keith Godwin Chapman > Attachments: ArchiveReader.java.diff > > > The class org.apache.axis2.deployment.repository.util.ArchiveReader attempts > to construct a JAR-based URI in its processWSDLFile() method: > } else if (axisServiceBuilder instanceof > WSDL20ToAxisServiceBuilder) { > // trying to use the jar scheme as the base URI. I think > this can be used to handle > // wsdl 1.1 as well without using a custome URI resolver. > Need to look at it later. > axisServiceBuilder.setBaseUri( > "jar:file://" + > serviceArchiveFile.getAbsolutePath() + "!/" + baseURI); > } > The call to "serviceArchiveFile.getAbsolutePath()" creates a path string with > embedded spaces and backslashes (on Windows). The java.net.URI constructor > rejects such a path, emitting an error such as: > INFO: Trouble processing wsdl file :Illegal character in opaque part at index > 13: jar:file://C:\Program > Files\\apache-tomcat-6.0.10\webapps\axis2\WEB-INF\services\my.service.aar!/META-INF/myservice.wsdl > Note that it's complaining about the backslash after the "C:' part. > The fix is simple: build the new URI from yet another URI: > axisServiceBuilder.setBaseUri( > "jar:" + serviceArchiveFile.toURI() + "!/" + > baseURI); > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]