Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01Business

|-  LOGICIELS


|||-  

Invocation d'un service web

 

16 utilisateurs inconnus
Ajouter une réponse
 

 
Page photos
 
     
Vider la liste des messages à citer
 
 Page :
1
Auteur
 Sujet :

Invocation d'un service web

Prévenir les modérateurs en cas d'abus 
reyna
reyna
  1. Posté le 11/12/2017 à 01:09:58  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bnj
je suis entraine de créer une application web en utlisant java.Mais j'ai rencontré un probléme lors de l'invocation du service web.j'avais basé sur ce document http://www.netbeans.org/kb/doc​s/websvc/jax-ws.html pour faire l'invocation.Elle marche trés bien avec une simple classe java mais lorsque j'invoque mon service web par des servlets je me trouve devant un probléme d'absence du fichier wsdl :??: :??: :??:

  1. config
tintin10
Habitué (de 5 000 à 9 999 messages postés) Développeur
  1. Posté le 11/12/2017 à 18:30:56  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour. Il faudrait que tu postes ta classe s'il te plaît, et me dire exactement où ça plante.


---------------
Configuration matérielle : voir ce lien
Merci de respecter les règles du forum
(Publicité)
reyna
  1. Posté le 12/12/2017 à 17:17:12  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour
Premiérement merci pour votre réponse
Deuxiement je travaille sous java avec netbeans;normalement que j'ai la possiblité d'invoquer mon service web dans une servlet.Mon probleme c'est lorsque j'exécute le programme il ne trouve pas le fuchier wsdl.
et voici ma servlet:
Code :(Double-cliquez pour supprimer les numéros de ligne)
  1. package org.me.calculator.client;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.annotation.WebServlet;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import javax.xml.ws.WebServiceRef;
  11. import org.me.calculator.CalculatorWS_Service;
  12.  
  13. @WebServlet(name = "ClientServlet",urlPatterns = {"/ClientServlet"})
  14. public class ClientServlet extends HttpServlet{
  15.  @WebServiceRef(wsdlLocation = "WEB-INF/wsdl/localhost_8080/CalculatorWSApplication/CalculatorWS.wsdl")
  16.  private CalculatorWS_Service service;
  17.  /**Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
  18.    * @param request servlet request
  19.    * @param response servlet response
  20.    * @throws ServletException if a servlet-specific error occurs
  21.    * @throws IOException if an I/O error occurs*/
  22.  protected void processRequest(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
  23.    response.setContentType("text/html;charset=UTF-8");
  24.    PrintWriter out = response.getWriter();
  25.    try{
  26.      out.println("<html>");
  27.      out.println("<head>");
  28.      out.println("<title>Servlet ClientServlet</title>");
  29.      out.println("</head>");
  30.      out.println("<body>");
  31.      out.println("<h1>Servlet ClientServlet at "+request.getContextPath ()+"</h1>");
  32.      out.println("Erreuuuuuuuuuuuuur normal ");
  33.      try{
  34.        int i = 3;
  35.        int j = 4;
  36.        int result = add(i,j);
  37.        out.println("Result = "+result);
  38.      }
  39.      catch(Exception ex){
  40.        out.println("Erreuuuuuuuuuuuuur "+ex);
  41.      }
  42.      out.println("</body>");
  43.      out.println("</html>");
  44.    }
  45.    finally{
  46.      out.close();
  47.    }
  48.  }
  49.  // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  50.  /**Handles the HTTP <code>GET</code> method.
  51.    * @param request servlet request
  52.    * @param response servlet response
  53.    * @throws ServletException if a servlet-specific error occurs
  54.    * @throws IOException if an I/O error occurs*/
  55.  @Override
  56.  protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
  57.    processRequest(request,response);
  58.  }
  59.  /**Handles the HTTP <code>POST</code> method.
  60.    * @param request servlet request
  61.    * @param response servlet response
  62.    * @throws ServletException if a servlet-specific error occurs
  63.    * @throws IOException if an I/O error occurs*/
  64.  @Override
  65.  protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
  66.    processRequest(request,response);
  67.  }
  68.  /**Returns a short description of the servlet.
  69.    * @return a String containing servlet description*/
  70.  @Override
  71.  public String getServletInfo(){
  72.    return "Short description";
  73.  }
  74.  // </editor-fold>
  75.  private int add(int i,int j){
  76.    org.me.calculator.CalculatorWS port = service.getCalculatorWSPort();
  77.    return port.add(i,j);
  78.  }
  79. }

et le service est une simple fonction d'addition:*
Code :(Double-cliquez pour supprimer les numéros de ligne)
  1. package org.me.Calculator;
  2.  
  3. import javax.jws.WebService;
  4. import javax.jws.WebMethod;
  5. import javax.jws.WebParam;
  6.  
  7. @WebService(serviceName = "CalculatorWS")
  8. public class CalculatorWS{
  9.  /**This is a sample web service operation*/
  10.  @WebMethod(operationName = "add")
  11.  public int add(@WebParam(name = "i") int i,@WebParam(name = "j") int j){
  12.    int k = i + j;
  13.    return k;
  14.  }
  15. }

Merci bcp

Edit par Tintin10 : rajout des balises de code
Message édité par Tintin10 le 12/12/2017 à 20:11:36
  1. config
tintin10
Habitué (de 5 000 à 9 999 messages postés) Développeur
  1. Posté le 12/12/2017 à 20:13:51  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
O.K.. J'imagine que ça plante là-dessus :
Code :(Double-cliquez pour supprimer les numéros de ligne)
  1. @WebServiceRef(wsdlLocation = "WEB-INF/wsdl/localhost_8080/CalculatorWSApplication/CalculatorWS.wsdl")

Peut-être un problème de "classpath". As-tu essayé plutôt :
Code :(Double-cliquez pour supprimer les numéros de ligne)
  1. @WebServiceRef(wsdlLocation = "/WEB-INF/wsdl/localhost_8080/CalculatorWSApplication/CalculatorWS.wsdl")

Sinon, il faudrait que tu me donnes l'endroit où se trouve ce dossier WEB-INF.


---------------
Configuration matérielle : voir ce lien
Merci de respecter les règles du forum
reyna
  1. Posté le 12/12/2017 à 20:30:47  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Salut
oui j'avais essayé plusieurs fois.sa plante tjrs de la méme cause;vous pouvez trouver tout le projet sur ce lien de github: https://github.com/safahope/Ca​lulatorWS
Merci

(Publicité)
  1. config
tintin10
Habitué (de 5 000 à 9 999 messages postés) Développeur
  1. Posté le 13/12/2017 à 20:41:29  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Merci pour l'accès à l'ensemble du code. J'ai quelques questions :
- quel serveur utilises-tu ?
- j'ai vu un fichier .war, mais il ne contient pas de fichier .wsdl. Si c'est à partir de ce fichier que tu exécutes ton application, l'erreur paraît logique. Dans ce cas, il faudrait regarder du côté de sa génération, donc dans la configuration Apache Ant.


---------------
Configuration matérielle : voir ce lien
Merci de respecter les règles du forum
 Page :
1

Aller à :
 

Sujets relatifs
W7 erreur service control manager Microsoft Office Entreprise 2007 va-t-il être mis hors service le 10/1
Windows 10 et l'ornière sur la route de Windows as a Service W10 :La mort du service pack !!!
Win10 : Office 2010 Service Pack 1 (SP1 / KB2460049)  
Plus de sujets relatifs à : Invocation d'un service web

Les 5 sujets de discussion précédents Nombre de réponses Dernier message
Java : construire une interface graphique 4
je cherche des expliquations sur les serveurs SMTP 3
Video Marketing-Need Help. 1
Coder/configurateur TeamSpeak 0
Besoin d'une commande en powershell via logiciel SCCM 2