L'invocation d'un "RESTE" de service qui ont des paramètres de requête dans l'URL

- Je invoquer un GET sur un service qui retourne text/xml.

Le point de terminaison est quelque chose comme ceci:

http://service.com/rest.asp?param1=34&param2=88&param3=foo

Lorsque je tape cette url directement sur un navigateur (ou d'une INTERFACE utilisateur de l'outil), tout est bon. Je reçois une réponse.

Maintenant, je suis en train d'utiliser CXF WebClient pour aller chercher le résultat à l'aide d'un morceau de code comme ceci:

String path = "rest.asp?param1=34&param2=88&param3=foo";

webClient.path(path)
    .type(MediaType.APPLICATION_JSON)
    .accept(MediaType.TEXT_XML_TYPE)
    .get(Response.class);

J'ai été débogage du code et a constaté que la demande d'être envoyé a été encodée url qui s'affiche quelque chose comme ceci:

http://service.com/rest.asp%3Fparam1=34%26param2=88%26param3=foo

Maintenant, le problème est que le serveur ne semble pas comprendre cette demande avec codé des trucs. Il jette un 404. En cliquant sur cette url encodée sur le navigateur aussi les résultats dans une page 404.

Que dois-je faire pour être en mesure d'obtenir une réponse avec succès (ou de ne pas laisser le client web encoder l'url)?

OriginalL'auteur TJ- | 2013-02-08