axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven E. Harris (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-2584) AAR deployment fails with a WSDL 2 document due to spaces in path to AAR file (interpreted as a URI)
Date Mon, 23 Apr 2007 20:32:15 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-2584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12491048
] 

Steven E. Harris commented on AXIS2-2584:
-----------------------------------------

It's worth noting that even with the fix in place, deployment fails later in WSDL20ToAxisServiceBuilder.populateService()
when it tries to find the XML Schema files referenced by my WSDL file. Maybe this is fodder
for a separate issue, but it looks like Woden assumes that it should use the current working
directory (in this case, Tomcat's "bin" directory) to dereference schemaLocation URIs. It
should really use the base URI of the WSDL file itself to find the other URIs referenced by
the constituent schema files.

> 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
>         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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message