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¶m2=88¶m3=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¶m2=88¶m3=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
Vous devez vous connecter pour publier un commentaire.
Spécifier les paramètres à l'aide de la méthode de recherche:
OriginalL'auteur Andre
Vous devrez coder votre URL. Vous pouvez le faire avec le URLEncoder classe comme indiqué ci-dessous:
Veuillez remplacer votre ligne
avec
OriginalL'auteur Romin