3 Replies Latest reply: Sep 19, 2012 5:12 PM by 814094 RSS

    Garbled URL parameters?

      When calling a worklfow with parameters in the URL, the parameters gets garbled if they contain ISO-encoded characters:
      /idm/task/taskLauch.jsl?id=myWorkflow&op_param=P%E6dagog results in param=P\ufffddagog in the actual workflow.

      I am using Glassfish and have tried changing parameters in domain.xml, web.xml and sun-app.xml but to no avail.

      Can anyone point me in the right direction?

      Best regards
        • 1. Re: Garbled URL parameters?
          I am not sure what you are asking for. This appears to be the correct behaviour. The URL decoded value is Pædagog which is correctly converted to P\ufffddagog using ISO-8859-1. If you want to force it to use UTF-8 instead of the default encoding, you could try adding -Dfile.encoding=UTF-8
          • 2. Re: Garbled URL parameters?
            The problem is that it is NOT decoded as Pædagog. \ufffd is a replacement character (either shown as a square or a questionmark), i.e. it does not show the 'æ' character.
            The link is generated in another application that then calls the IdM. As I understand it, the URL is ISO-8859-1 encoded and Glassfish and / or IdM uses UTF-8 to decode it which results in the incorrect decoding. I have tried D-file.encoding=ISO-8859-1 as well as requestEncoding in both web.xml and sun-web.xml.

            Strange thing is that if I copy idm.war and deploys it on a Tomcat server (pointing to the same IdM backend database), it shows the characters correctly. But the customer wishes to stay on Glassfish, so I have to find a solution.

            So my basic problem is that the URL parameter gets decoded in the wrong way, but I don't know how to change that.
            • 3. Re: Garbled URL parameters?
              I have not done this in a long time since I only use UTF-8 whenever possible. Using UTF-8 for URI encoding is also recommend by some RFC.

              But AFAIK you have to change URI encoding and encoding of the parameters for Glassfish in two different places. I don't remember where but I just googled it and came up with this Wiki page for Glassfish: