Aller au contenu

Android avec un serviceweb


Recommended Posts

bonjour tout le monde voila mon code mais ça marche pas aidé moi SVP

coté webservice:

package ws;

import javax.jws.WebMethod;

import javax.jws.WebParam;

import javax.jws.WebService;

@WebService(serviceName="calcule",targetNamespace="http://ws/test")

public class Calculservice {

@WebMethod(operationName="hello")

public String hello(@WebParam(name="name")String name){

return "hello Mr "+name;

}

}

est voila la class main:

import javax.xml.ws.Endpoint;

import ws.Calculservice;

public class Main {

/**

* @param args

*/

public static void main(String[] args) {

String url="http://localhost:8685/";

Endpoint.publish(url, new Calculservice());

System.out.println("bien executé vois url dans un navigateur");

}

}

est voila code Android:

package com.example.applicationwebservice;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.ArrayList;

import java.util.List;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

import org.apache.http.client.HttpClient;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.params.BasicHttpParams;

import org.apache.http.params.HttpConnectionParams;

import org.apache.http.params.HttpParams;

import org.apache.http.protocol.HTTP;

import android.app.Activity;

import android.app.ProgressDialog;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.view.Menu;

import android.view.View;

import android.view.View.onclickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.Spinner;

import android.widget.TextView;

public class Main extends Activity implements onclickListener{

//private static String URL_WS="http://localhost:8685/ws/hello";

private Spinner spinnerFrom;

//private ProgressDialog dialog;

//private Handler mHandler;

private String resultat="initial";

private ProgressDialog dialog;

private Handler mHandler;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.spinner1, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinnerFrom = (Spinner) findViewById(R.id.spinner1);

spinnerFrom.setAdapter(adapter);

((TextView)findViewById(R.id.textView1)).setText("entrer deux nombre");

((TextView)findViewById(R.id.textView3)).setText(resultat);

((Button)findViewById(R.id.button1)).setonclickListener(this);

dialog = new ProgressDialog(this);

dialog.setMessage("Appel au webservice en cours...");

dialog.setCancelable(true);

mHandler = new Handler() {

public void handleMessage(Message msg) {

switch(msg.what){

case 1:

dialog.dismiss();

((TextView)findViewById(R.id.textView2)).setText(resultat);

break;

}

}

};

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

public void onclick(View arg0) {

if(arg0.getId()==R.id.button1){

dialog.show();

new Thread(new Runnable(){

public void run() {

try {

HttpParams httpParameters = new BasicHttpParams();

HttpConnectionParams.setConnectionTimeout(httpParameters, 3000);

HttpConnectionParams.setSoTimeout(httpParameters, 5000);

HttpClient httpclient = new DefaultHttpClient(httpParameters);

HttpPost httppost = new HttpPost("http://localhost:868.../ws/test/hello");

httppost.setHeader("Content-Type", "application/x-www-form-urlencoded");

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);

nameValuePairs.add(new BasicNameValuePair("name","toto"));

httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response = httpclient.execute(httppost);

InputStream is=response.getEntity().getContent();

InputStreamReader reader = new InputStreamReader(is,HTTP.UTF_8);

resultat+=reader.toString();

((TextView)findViewById(R.id.textView3)).setText(resultat);

mHandler.sendEmptyMessage(1);

} catch (Exception e) {

resultat="ERREUR";

}

};

}).start();

}

}

}

est j'ai ajouté <uses-permission android:name="android.permission.INTERNET"></uses-permission>

dans fichier de manifest

bref j'ai besoin comment savoir accéder à la methode hello lorsque j'ai exécute le programme il sera bloqué dans

Appel au webservice en cours...

merci d'avance ^^

Lien vers le commentaire
Partager sur d’autres sites

  • 3 weeks later...

Si tu souhaites une réponse soit plus explicite car en informatique ça ne marche pas ne veut rien dire.

As tu une exception ? Es-tu passé en mode debug pour voir quel bout de code n'était pas exécuté ?

D'une manière générale ne t'attend à avoir des réponses claires et précises avec ce genre de question :)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...