Bonjour j'essaye de créer un service rest avec en paramètre une String ayant le contenu d'un fichier
1 2 3 4 5 6
| @PUT
@Path("sayPlainTextHello")
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello(@QueryParam("fileContent") String contentOfFile) {
return contentOfFile;
} |
Ensuite je me suis fait un petit client
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| String fileContent = "-----BEGIN CERTIFICATE-----\n"
+ "MIIEkTCCA3mgAwIBAgICQOUwDQYJKoZIhvcNAQELBQAwgYYxITAfBgNVBAoTGERD\n"
+ "Mi5TTVBURS5ET1JFTUlMQUJTLkNPTTEaMBgGA1UECxMRREMuRE9SRU1JTEFCUy5D\n"
+ "T00xHjAcBgNVBAMTFS5EQy5ET0xQSElOLkRDMi5TTVBURTElMCMGA1UELhMcdlVs\n"
+ "Zy8wVGwveTVyWEVGYlNiN3hGNzZGLzJVPTAeFw0wNzAxMDEwMDAwMDBaFw0yNTEy\n"
+ "MzEyMzU5NTlaMIGcMSEwHwYDVQQKExhEQzIuU01QVEUuRE9SRU1JTEFCUy5DT00x\n"
+ "GjAYBgNVBAsTEURDLkRPUkVNSUxBQlMuQ09NMTQwMgYDVQQDEytMRSBTUEIgTUQg";
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource resource = client.resource(monServerUrl);
System.out.println(resource.path("sayPlainTextHello").queryParam("fileContent", fileContent).accept(MediaType.TEXT_PLAIN).put(String.class)); |
ça se passe bien uniquement en fonction de la taille du contenu du fichier que je mets dans la String si je met un contenu trop grand j'ai une erreur
com.sun.jersey.api.client.UniformInterfaceException: PUT http://serverUrl:8080/sayPlainTextHello?fileContent=-----BEGIN+CERTIFICATE-----%0AMIIEkTCCA3mgAwIBAgICQOUwDQYJKoZIhvcNAQE+...line is too long, please switch to wrapped mode too see whole line...
Je sais que je peux utiliser des InputStream ou du File en paramètre mais pour x raison il me faut le contenu du fichier dans une String, y'a t'il une façon de le faire? sans que j'ai une erreur.
Merci
Partager