HttpClient pour appeler un webservice

Fermé
ironica Messages postés 145 Date d'inscription jeudi 14 juin 2007 Statut Membre Dernière intervention 8 mai 2013 - 19 juil. 2007 à 10:14
 Dide1980 - 19 févr. 2009 à 15:20
bonjour tout le monde,
je suis entrain de realiser une petit appli en java, et je vx faire appel a un webservice.
pour cela, je vx utiliser du httpClient, (HttpMethod, GetMethod, HttpClient() )

comme jutilise eclipse, je n'ai pas les jar de httpClient.
est ce que quelqu'un peut me dire SVP où je peux les trouver ??
jai regarder sur le site httpclient de appache, mais ce n'est pas des jar que je trouve .

merci bcp davance

2 réponses

ironica Messages postés 145 Date d'inscription jeudi 14 juin 2007 Statut Membre Dernière intervention 8 mai 2013 4
19 juil. 2007 à 15:43
aidez moi les gars SVP;
j''ai testé deux jar differents,
jai la meme erreur.
19 juil. 2007 15:39:42 org.apache.catalina.core.ApplicationContext log
INFO: La servlet MyServlet est marqué comme indisponible
19 juil. 2007 15:39:42 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Exception lors de l'allocation pour la servlet MyServlet
java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpMethod
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
	at java.lang.Class.getConstructor0(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1089)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
	at java.lang.Thread.run(Unknown Source)


voici le code de ma servlet

package com.***.NouveauSalarie;



import java.io.IOException;
 

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.*;
import java.net.*;





public class MyServlet extends HttpServlet {


	private static final long serialVersionUID = 42L;
	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
	 	String lenom = request.getParameter("nom");
		System.out.println("le nom tapé est :" + lenom);
	

		String leprenom = request.getParameter("prenom");
		System.out.println("le prenom tapé est :" + leprenom);
		
		String lafonction = request.getParameter("fonction");
		System.out.println("le fonction tapée est :" + lafonction);
		
		
		NouveauSalarie salarie = new NouveauSalarie(lenom, leprenom, lafonction);
		
		System.out.println("le prenom enregistré est :" + salarie.getnom() + " "+ salarie.getprenom() + " "+ salarie.getfonction());
		
		RequestDispatcher dispatcher = request.getRequestDispatcher("acceuil.jsp");
		dispatcher.forward(request, response); 
		
		


/////////////////////////////////////////////

	HttpClient client = new HttpClient();



 //establish a connection within 15 seconds



 HttpMethod method = null;



 //create a method object

   method = new GetMethod("http://localhost:5555/invoke/applA.gestionSalarie.service/creationSalarie?nom=" + URLEncoder.encode(salarie.getnom(),"UTF-8") + "&prenom="+ java.net.URLEncoder.encode(salarie.getprenom(),"UTF-8") + "&fonction="+ URLEncoder.encode(salarie.getprenom(),"UTF-8"));



// execute the method

       client.executeMethod(method);

     String body = method.getResponseBodyAsString();

      int status = method.getStatusCode();
      System.out.println("body :" + body + " "+ "status : " +  status);

//////////////////////////////////////
		
	}
	
}
0
jeun_programmeur
16 janv. 2008 à 23:51
je bien savoir est ce qu'il est possible de faire une application en java pour fair appeler a un telephone par internet (appeler pas gratuitement bien sur)
et si possible est ce que vous pouvez m'aider
0
Salut,

Voici mon code qui ne marche pas avec la dernière version de httpclient d'Apache. J'utilise la version 3.1.

        Document doc = createDomDocument(service, null);
        
        OutputFormat of = new OutputFormat(doc,XML_ENCODING,true);
        XMLSerializer xmlSerializer = new XMLSerializer(of);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        xmlSerializer.setOutputByteStream(baos);
        
        try {
            xmlSerializer.serialize(doc);
        } catch (IOException ioe){
            throw new YourServiceException("Impossible de serializer la requete", ioe);
        }
        
        HttpClient client = new HttpClient();
        
        PostMethod postMethod = new PostMethod(msUrlService);
        postMethod.setRequestBody(new String(baos.toByteArray()));

        try {
            client.executeMethod(postMethod);
        } catch (IOException ioe){
            throw new YourServiceException("Impossible d'executer une requette HTTP", ioe);
        }

        Document reponseDoc;
        try {
            reponseDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(postMethod.getResponseBodyAsStream()));
        } catch (ParserConfigurationException pce){
            throw new YourServiceException("Configuration du parser fausse", pce);
        } catch (SAXException saxe){
            throw new YourServiceException("Impossible de parser la reponse du serveur", saxe);
        } catch (IOException ioe){
            throw new YourServiceException("Impossible de parser la reponse du serveur", ioe);
        }

        return createJavaBeans(reponseDoc);
0