JAX-RS @PathParam Comment passer une Chaîne de caractères avec des barres obliques, des traits d'union & égale trop

Je suis nouveau sur JAX-RS et je suis en train d'utiliser Jersey construire un simple Service web RESTful.

J'ai 2 questions. Veuillez préciser ces:

  1. Je suis en train d'avoir mon simple webservice comme cette URL http://localhost:8080/SampleJersey/rest/inchi/InChIName

    La InChIName est une chaîne de caractères comme ceci InChI=1S/C9H8O4/c1-6(10)13-8-5-3-2-4-7(8)9(11)12/h2- 5H,1H3,(H,11,12). Comment puis-je passer cela comme un @PathParam, je veux dire normal Chaîne fonctionne bien, mais ici il y a des barres obliques,des tirets et des virgules. Comment puis-je faire pour les ignorer. J'ai essayé de le mettre entre guillemets, mais qui n'a pas fonctionné. Comment dois-je faire cela?

  2. J'ai besoin de passer que InChI à un autre webservice et qui renvoie un document XML comme une sortie et que je veux afficher que XML de sortie comme mon Webservice de sortie. Si j'ai @Produces("application/xml") ça va fonctionner?

C'est mon code:

@Path("/inchi")
public class InChIto3D {
    @GET
    @Path("{inchiname}")
    @Produces("application/xml")
    public String get3DCoordinates(@PathParam("inchiname")String inchiName) {
        String ne="";
        try{
            URL eutilsurl = new URL(
                      "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?"
                      + "db=pccompound&term=%22"+inchiName+"%22[inchi]");
            BufferedReader in = new BufferedReader(
                                    new InputStreamReader(eutilsurl.openStream()));
            String inputline;
            while ((inputline=in.readLine())!=null)
                ne=ne+inputline;
        }catch (MalformedURLException e1) {
        }catch (IOException e2){
        }
        return ne;
    }
}