Hi,
I have a mobile app using Powerserver 2017 R3 which has a page that loads PDFs using the Appeon WebView workaround (help file). This works fine for simple and public URLs.
However when using Azure and having to pass an access signature it fails as I believe the URL params are getting escaped or changed.
e.g.
(for this example the URL is public, but in production it can only be accessed when the access signature is present and correct. Both links will work in your browser, but only the first in Appeon Mobile)
This one will work:
https://gsm1.blob.core.windows.net/testprivate/sample/48313.pdf
This one will fail:
https://gsm1.blob.core.windows.net/testprivate/sample/48313.pdf?st=2019-10-09T13%3A07%3A44Z&se=2019-11-12T11%3A07%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=6%2FtA6UP0XJCi6Q7V2IF3Gna%2BsdgMR%2BqmyxPotISg%2B5A%3D
Rather than the page being shown, a warning about the access signature is displayed that it is not formatted correctly.
From capturing the data passed (passed them to a dummy server) from the mobile app to the server I can see that it is escaping the percentage % symbols in the link
e.g. % becomes %25
// it should be
&sig=6%2FtA6UP0XJCi6Q7V2IF3Gna%2BsdgMR%2BqmyxPotISg%2B5A%3D
// but this is what is sent to the server
&sig=6%252FtA6UP0XJCi6Q7V2IF3Gna%252BsdgMR%252BqmyxPotISg%252B5A%253D
Any ideas how to preserve the URL that is set in code. Its already escaped and works fine outside of Appeon Mobile.
I've tried unsuccessfully to un-encode the URL items so that the webview can re-encode them but haven't had any luck with this.
Sample PB Code:
// eon_mobile_webviewex uo_pdf_viewer (placed on window), not created in code
String ls_webpage_src
ls_webpage_src = "http://someurl....?..."
uo_pdf_viewer.of_startloading(ls_webpage_src)
Any help would be appreciated.
What about this approach ...
iNET lo_inet
String ls_url
Blob lb_url
lo_inet = CREATE iNET
lb_url = Blob ( "http://xxxx", EncodingANSI! )
ls_url = String ( lb_url, EncodingANSI!)
lo_inet.hyperlinktourl ( ls_url )
Regards ... Chris
Thanks for the reply. I tried your suggestion above, but no luck.
It results in the same incorrect URL being created.
Best Regards,
Alan