BingAds / BingAds-Java-SDK

Other
42 stars 48 forks source link

Invalid URLs #104

Closed markusheiden closed 5 years ago

markusheiden commented 5 years ago

When using ReportingServiceManager.downloadFileAsync() to download keyword / ad performance reports I always get failures due to invalid download URLs since the 9th of july.

Maybe some escaping when generating download URLs is missing? When removing the brackets [], the URL seems to be valid. The bracket in the URL came from the report name which is included by the Bing Ads API into the download URL.

java.net.URISyntaxException: Illegal character in path at index 203: https://bingadsappsstorageprod.blob.core.windows.net/y4u-reportdataapi-19-07-18/5f58c71e-cdeb-4704-9ba9-fb8c6da2d955/07.07.2019___Datawarehouse_text_report_of_account_50008035_(fashion24_produktgruppe_J_[!portal_2!_!produktgruppe!J!]).zip?sv=2018-03-28&sr=b&sig=GHc%2BmAo3za75tZDACoj6h%2BOIrOYAVFFbWu5nNKAFUQs%3D&st=2019-07-18T15%3A04%3A45Z&se=2019-07-18T15%3A19%3A45Z&sp=r
        at java.net.URI$Parser.fail(URI.java:2915) ~[?:?]
        at java.net.URI$Parser.checkChars(URI.java:3086) ~[?:?]
        at java.net.URI$Parser.parseHierarchical(URI.java:3168) ~[?:?]
        at java.net.URI$Parser.parse(URI.java:3116) ~[?:?]
        at java.net.URI.<init>(URI.java:600) ~[?:?]
        at com.microsoft.bingads.internal.utilities.HttpClientHttpFileService.downloadFile(HttpClientHttpFileService.java:49) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingDownloadOperation.downloadResultFileZip(ReportingDownloadOperation.java:290) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingDownloadOperation.downloadFileWithFinalStatus(ReportingDownloadOperation.java:272) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingDownloadOperation.downloadResultFileAsyncImpl(ReportingDownloadOperation.java:240) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingDownloadOperation.downloadResultFileAsync(ReportingDownloadOperation.java:215) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingServiceManager.downloadReportingFileAsync(ReportingServiceManager.java:185) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingServiceManager.access$000(ReportingServiceManager.java:39) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingServiceManager$2$1.onSuccess(ReportingServiceManager.java:159) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingServiceManager$2$1.onSuccess(ReportingServiceManager.java:156) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.internal.ParentCallback.onCompleted(ParentCallback.java:25) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.internal.ResultFuture.setResult(ResultFuture.java:26) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingDownloadOperation$1.onSuccess(ReportingDownloadOperation.java:141) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingDownloadOperation$1.onSuccess(ReportingDownloadOperation.java:135) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.internal.ParentCallback.onCompleted(ParentCallback.java:25) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.internal.ResultFuture.setResult(ResultFuture.java:26) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingOperationTracker.completeTaskWithResult(ReportingOperationTracker.java:151) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingOperationTracker.completeTaskIfOperationIsComplete(ReportingOperationTracker.java:146) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingOperationTracker.access$100(ReportingOperationTracker.java:21) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingOperationTracker$3.onCompleted(ReportingOperationTracker.java:99) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.internal.ResultFuture.setResult(ResultFuture.java:26) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingOperationTracker$5.accept(ReportingOperationTracker.java:175) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingOperationTracker$5.accept(ReportingOperationTracker.java:170) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.internal.OperationStatusRetry$1.onCompleted(OperationStatusRetry.java:49) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.internal.ResultFuture.setResult(ResultFuture.java:26) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.microsoft.bingads.v12.reporting.ReportingStatusProvider$1.handleResponse(ReportingStatusProvider.java:44) ~[microsoft.bingads-12.13.3.jar!/:?]
        at com.sun.xml.ws.client.AsyncResponseImpl.set(AsyncResponseImpl.java:101) ~[jaxws-rt-2.3.2.jar!/:2.3.2]
        at com.sun.xml.ws.client.sei.AsyncMethodHandler$SEIAsyncInvoker$1.onCompletion(AsyncMethodHandler.java:150) ~[jaxws-rt-2.3.2.jar!/:2.3.2]
        at com.sun.xml.ws.client.Stub$1.onCompletion(Stub.java:530) ~[jaxws-rt-2.3.2.jar!/:2.3.2]
        at com.sun.xml.ws.api.pipe.Fiber.completionCheck(Fiber.java:897) ~[jaxws-rt-2.3.2.jar!/:2.3.2]
        at com.sun.xml.ws.api.pipe.Fiber.run(Fiber.java:793) ~[jaxws-rt-2.3.2.jar!/:2.3.2]
        at com.sun.xml.ws.api.server.ThreadLocalContainerResolver$2$1.run(ThreadLocalContainerResolver.java:82) ~[jaxws-rt-2.3.2.jar!/:2.3.2]
qitia commented 5 years ago

thanks for report, we will look into ASAP.

mrdotmoon commented 5 years ago

This should be fixed.

qitia commented 5 years ago

thanks and close it.