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 ^^
Modifié par mrtoto, 04 August 2012 - 17:35.







Retour en haut







