[
https://issues.apache.org/jira/browse/JCLOUDS-976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Gaul resolved JCLOUDS-976.
---------------------------------
Resolution: Duplicate
Assignee: Timur Alperovich
> Azureblob: listing objects with a space in the name causes URISyntaxException
> -----------------------------------------------------------------------------
>
> Key: JCLOUDS-976
> URL: https://issues.apache.org/jira/browse/JCLOUDS-976
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-blobstore
> Affects Versions: 1.9.0
> Reporter: Roman Novokhatsky
> Assignee: Timur Alperovich
>
> When having an Azure container with blobs with a space in the name, a call to
> {{BlobStore.list()}} throws the following exception:
> {noformat}
> Exception in thread "pool-1-thread-1" java.lang.IllegalArgumentException:
> Illegal character in path at index 61:
> https://xxxxx.blob.core.windows.net/container-name/01 - Artist - Song .mp3
> at java.net.URI.create(URI.java:852)
> at org.jclouds.http.Uris$UriBuilder.<init>(Uris.java:218)
> at org.jclouds.http.Uris$UriBuilder.<init>(Uris.java:99)
> at org.jclouds.http.Uris.uriBuilder(Uris.java:78)
> at
> org.jclouds.azureblob.xml.ContainerNameEnumerationResultsHandler.endElement(ContainerNameEnumerationResultsHandler.java:153)
> at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2973)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
> at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
> at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
> at
> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
> at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
> at
> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
> at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:140)
> at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:129)
> at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:83)
> at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:51)
> at
> org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90)
> at
> org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73)
> at
> org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44)
> at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
> at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
> at com.sun.proxy.$Proxy66.listBlobs(Unknown Source)
> at
> org.jclouds.azureblob.blobstore.AzureBlobStore.list(AzureBlobStore.java:147)
> at
> org.jclouds.blobstore.internal.BaseBlobStore.list(BaseBlobStore.java:81)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at
> com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
> at com.sun.proxy.$Proxy50.list(Unknown Source)
> <..>
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.net.URISyntaxException: Illegal character in path at index
> 61: https://xxxxx.blob.core.windows.net/container-name/01 - Artist - Song .mp3
> at java.net.URI$Parser.fail(URI.java:2848)
> at java.net.URI$Parser.checkChars(URI.java:3021)
> at java.net.URI$Parser.parseHierarchical(URI.java:3105)
> at java.net.URI$Parser.parse(URI.java:3053)
> at java.net.URI.<init>(URI.java:588)
> at java.net.URI.create(URI.java:850)
> ... 39 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)