Hello Community,

I having an issue relating to the ExternalURL (External Site) widget.

The situation:

  • I have a ListRecords with links for every record.
  • These links have an action attached to their Destination property.
    • Inside this action there's only a Start node connected to an ExternalURL widget where it's parameter receives an "MakeURL" function from a xif.
      • This MakeURL is responsible for, like the name says, build an URL according to some internal rules.
      • The goal here is to call a Webscreen from another eSpace and it's name is passed trough a parameter.
      • The error occurs after the ExternalURL is called, when it was supposed to redirect to the new screen.

The error:
In Service Center the error message is "A potentially dangerous Request.Path value was detected from the client (:).", and I found that the URL, which should be like this: "http://environment.domainName.com/eSpaceName/PageName.aspx?Parameter1=Value1&Parameter2=Value2..." is instead concatenated with another "random" URL in this format: "http://environment.domainName.com/eSpaceName/", so the resulting URL is like: "http://environment.domainName.com/eSpaceName/http://environment.domainName.com/eSpaceName/PageName.aspx?Parameter1=Value1&Parameter2=Value2..."

Observation:

  • Only a few specific links results in this error. The others work as expected.
  • It was found that the MakeURL output is working as expected and the resulting URL is formatted the way it's meant to be.
    • The error is somewhere in the execution of ExternalURL?

Thanks in advance!

What version of the OutSystems platform are you using?

What version of Service Studio?

Is the xif a Forge component, or something internal?

Have you tried to establish a pattern, in terms of which URLs cause the error...perhaps there's a specific pattern or character that is causing issues?

Hi Aldo,

You are calling external entity - GetRawURL() and GetBookmarkableURL() are playing the role. In settings, there used to be an option to allow external call (I'm not fully sure), but it is settings issue.

Hi Aldo,

You have to make sure your URL starts with https://. Otherwise, the platform automatically adds the server and application name to the URL. 

@Swatantra,

I tried to understand your response but I could not even relate it to the problem that Aldo describes.

Regards,

Daniel

Hello people.

thanks for the responses!

I fixed the problem by changing the On Click Method to "Navigate" instead of Ajax Submit.
For this to work I had to get rid of the Action and simply paste the MakeURL code in the URL parameter of the Destination.

Not the way I wanted to do it in the first place, but is the fix that solved the problem... I still don't understand what caused the aforementioned error.


G. Andrew Duthie
I'm using Outsystems 9, Service Center 9.1.613.0.
The xif is something we use internally, but I guarantee it's right result. The problem occurs somewhere in the ExternalURL execution.
About the pattern, yeah... I don't know but It's something I can look up. Thanks :)


Swatantra Kumar
That's not the case, but thanks for the response!


Daniël Kuhlmann
It does start with https:// but something I only noticed moments ago is that when the concatenating happens, the second URL only have a single slash. Example: "http://url.com/http:/url2.com/parameters...". I still don't know what causes the slash removal but It makes sense that the application treats it as a raw URL and puts the server before it.
I don't know if I'll get back to this problem anytime soon since it's working now, but if I find some answers, I'll make sure to post them here!


Thanks, guys!