Statut HTTP 405 – Erreur de méthode non autorisée pour l’API Rest

Je pose cette question après avoir fait des recherches. J’ai suivi les solutions données pour ce genre d’erreur mais je n’ai pas travaillé pour moi. Toutes les suggestions pour savoir où cela ne va pas dans le code ci-dessous.Je crée une API REST mais quand je demande l’URL, il me donne l’erreur 405.

http://localhost:8080/Project/services/start/version 

Ci-dessous l’extrait de code.

 @Path("/start") public class StartService { @GET @Path("/version") @Produces({"text/plain","application/xml","application/json"}) public Ssortingng getVersion() { Ssortingng ver=""; try{ Runtime rt = Runtime.getRuntime(); Process pr = rt.exec("C:\\server\\dgr -v" ); BufferedReader stdInput = new BufferedReader(new InputStreamReader (pr.getInputStream())); BufferedReader input = new BufferedReader(stdInput); // Ssortingng ver =""; SsortingngBuffer verOutput = new SsortingngBuffer(); while((ver = input.readLine()) != null){ verOutput.append(ver + "\n"); System.out.println(ver); } }catch (Throwable t) { t.printStackTrace(); } finally { } return ver; } } 

web.xml:

   eLicensingWeb JAX-RS REST com.sun.jersey.spi.container.servlet.ServletContainer  com.sun.jersey.config.property.packages com.cem.plc.service  1   JAX-RS REST /services/*   index.jsp   

@Produces({"text/plain","application/xml","application/json"}) changez ceci en @Produces("text/plain") et essayez,

J’ai également eu ce problème et j’ai pu le résoudre en activant le support CORS sur le serveur. Dans mon cas, c’était un serveur Azure et c’était facile: Activer CORS sur Azure

Vérifiez donc comment votre serveur fonctionne et activez CORS. Je n’avais même pas besoin d’un plugin de navigateur ou d’un proxy 🙂

Ajouter

 @Produces({"image/jpeg,image/png"}) 

à

 @POST @Path("/pdf") @Consumes({ MediaType.MULTIPART_FORM_DATA }) @Produces({"image/jpeg,image/png"}) //@Produces("text/plain") public Response uploadPdfFile(@FormDataParam("file") InputStream fileInputStream,@FormDataParam("file") FormDataContentDisposition fileMetaData) throws Exception { ... }