Forum Discussion

biiincheeen's avatar
biiincheeen
Occasional Contributor
13 years ago

Option to switch off encoding of parameters itself

Dear Soapui Team,

I would really wish to have an option to switch of the %-encoding of the parameter values.
My case is as follows: I am testing a OData service with the REST service funktion. OData defines fixed parameters like $filter. The parameter is encoded to %24filter by Soapui. As the OData standart seems to require a $ and not accept a %24 (thats at least how the guys argument, who did the odata stuff I am working with...), I am not able to use Soapui for my testcases.

I would really appreciate if you would think about implementing this feature.
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi,

    you should be able to turn off parameter encoding for REST request parametersin the corresponding Resource or Method window: select the parameter and check the "Disable Encoding" option below

    Does that help?

    regards!

    /Ole
    SmartBear Software
  • biiincheeen's avatar
    biiincheeen
    Occasional Contributor
    Dear Soapui Support,
    First of all thanks a lot for your reply.

    I already knew the option in the method/ressource, but unfortunatley it disables only the %-encoding of the parameter value. My issues is about the parameter itself.
    I am sorry, maybe I did not explain clearly in my first post:
    I do not want soapui to encode the parameter name.

    The REST standart is refering to the following URI standarts: http://tools.ietf.org/html/rfc3986#section-2.4
    There it says in 2.2 it says that "URI producing applications SHOULD percent-encode data...".
    Therefore soapui is of course working right with doing the percent-encoding.
    Nevertheless the standart does not say, it MUST percent-encode the URI. Therefore it would be a very nice feature, to enable parameter name percent-encoding in soapui.
    Thanks a lot for reading this!
  • Dear Soapui Support team,
    I am having the same problem in 4.0.1 version when disable encoding does not work but I need to use it in my test parameters. I am also testing OData that seems to require "$" in request and not "%24".

    This is my URL I am using http://localhost:7000/node/odata/DW:099 ... TimestampO but SOAPUI converts it into http://localhost:7000/node/odata/DW%3A0 ... TimestampO

    Is it already solved? If yes, please provide details so I can update my soapui project / SW. Thanks in advance.

    Have a nice day,

    Radek
  • maryjoz's avatar
    maryjoz
    Occasional Contributor
    Has anyone found a work around to this? I am also having the same problem with an ODATA service I am trying to test.

    Thanks!
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    The best workaround I found for including unencoded special characters is included in the attached image. Even though I checked "Disable Encoding" we still have issues with sending unencoded spaces. For that, I did not yet find a workaround. Let me know if that's a blocking issue.
    For "$filter" and question mark, we can send that parameter name in a resource section of a REST request, instead of a query string. That's highlighted in the attached image.
    I've been able to make these values dynamic with a TEMPLATE style parameter as described here - http://www.soapui.org/REST-Testing/unde ... parameters
    Do note that I had to include a dollar sign twice, since ${} format is used for our property expansion syntax - http://www.soapui.org/Scripting-Propert ... nsion.html

    Thanks,
    Michael Giller
    SmartBear Software
    • Lureck's avatar
      Lureck
      Frequent Visitor

      Thanks for the workaround.

      Well unfortunatly it looks like it does not work any longer in Ready!API 1.7.0
      If I follow your hints, in the end all resource parameter disapear in the request uri.

       

      Are there new hints that I did not find yet, how to use OData $search= with spaces in the URL ?