Rechercher : dans
Par :

HttpClient pour appeler un webservice

Dernière réponse le 19 fév 2009 à 15:20:26 ironica, le 19 jui 2007 à 10:14:26 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « httpClient pour appeler un webservice » dans :
[Programmation] Les normes des webservices VoirLes webservices étaient à l'origine une idée simple: Appeller une méthode sur un serveur distant. L'appel et sa réponse sont écrits en XML, et les messages sont transporté par HTTP. L'idée de départ a vu sa complexité augmenter dramatiquement, et...
Centres d'appel (Help Desk / Call center) VoirIntroduction aux centres d'appels On appelle Centre d'appel (en anglais Call Center) une plate-forme, hébergée par l'entreprise ou externalisée, chargée d'assister les utilisateurs. Les centres d'appels permettent d'assister des clients dans le...

1

ironica, le 19 jui 2007 à 15:43:52

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(Standar­dWrapper.java:1089)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWr­apper.java:791)
	at org.apache.catalina.core.StandardWrapperValve.invoke(Standar­dWrapperValve.java:127)
	at org.apache.catalina.core.StandardContextValve.invoke(Standar­dContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHo­stValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo­rtValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(Standard­EngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd­apter.java:151)
	at org.apache.coyote.http11.Http11Processor.process(Http11Proce­ssor.java:870)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11Connection­Handler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(Poo­lTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(­LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.ru­n(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);

//////////////////////////////////////
		
	}
	
}

Répondre à ironica

2

jeun_programmeur, le 16 jan 2008 à 23:51:15

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

Répondre à jeun_programmeur

3

 Dide1980, le 19 fév 2009 à 15:20:26

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);

Répondre à Dide1980