2014-10-11 1 views
0

извините, если вопрос слишком прост, но я не знаю ответа. Что мне нужно сделать, так это вызвать метод веб-службы используя приложение java. Здесь вы можете найти веб-сервис: http://muovi.roma.it/ws/xml/autenticazione/1 И я хочу Призовите метод, называемый «autenticazione.Accedi:»Вызвать метод веб-службы из внешнего приложения Java (Android)

У меня есть пример pyhton, который делает это:

from xmlrpclib import Server 
from pprint import pprint 

DEV_KEY = 'Inserisci qui la tua chiave' 

s1 = Server('http://muovi.roma.it/ws/xml/autenticazione/1') 
s2 = Server('http://muovi.roma.it/ws/xml/paline/7') 

token = s1.autenticazione.Accedi(DEV_KEY, '') 

res = s2.paline.Previsioni(token, '70101', 'it') 
pprint(res) 

Но мне нужен такая же операция в Java ... Может ли кто-нибудь помочь мне в этой проблеме?

спасибо

+0

какой способ (GET, POST ..)? –

+0

На самом деле, я не знаю – fancoolo

ответ

0

Я рекомендую вам использовать этот проект в качестве библиотеки.

https://github.com/matessoftwaresolutions/AndroidHttpRestService

Это делает легкую сделку с APIs, сетевые проблемами управления и т.д.

Вы можете найти образец использования там.

Вам нужно только:

  • Создайте свой URL
  • Сообщите компонент для выполнения в POST/GET и т.д. Режим
  • Создайте свой JSON

Я надеюсь, что это помогает! !!

+0

Я проверю ... спасибо за обмен – fancoolo

+1

Я разработал этот компонент. Все, кто пользуется им, находят это легким из-за объяснения (README) образца. Если вам нужна дополнительная помощь, я могу ответить вам как можно скорее. Спросите меня, что вам нужно. –

+0

Я еще не пробовал, но с помощью этой библиотеки можно вызвать методы веб-сервиса? – fancoolo

-1
package com.example.jojo.gridview; 
import android.util.Log; 
import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.util.ArrayList; 
import java.util.List; 
/** 
* Created by jojo on 12/10/15. 
*/ 
public class WebService { 
    String url="http://192.168.1.15/Travel_Dairy/"; 


    String invokeGetWebservice(String webUrl) 
    { 
     String result = ""; 
     webUrl=webUrl.replace(" ","%20"); 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpGet httpget = new HttpGet(webUrl); 
     HttpResponse response; 
     try { 
      response = httpclient.execute(httpget); 
      HttpEntity entity = response.getEntity(); 
      if (entity != null) { 
       InputStream inputstream= entity.getContent(); 
       BufferedReader bufferedreader = new BufferedReader(
         new InputStreamReader(inputstream), 2 * 1024); 
       StringBuilder stringbuilder = new StringBuilder(); 
       String currentline = null; 
       try { 
        while ((currentline = bufferedreader.readLine()) != null) { 
         stringbuilder.append(currentline + "\n"); 
        } 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       result = stringbuilder.toString(); 
       Log.e("Result", result); 
       inputstream.close(); 
       return result; 
      } 
     } catch (ClientProtocolException e1) { 

      Log.e("ClientProtocolException", e1.toString()); 
      return result; 

     } catch (IOException e1) { 

      Log.e("IOException", e1.toString()); 
      return result; 

     } 
     return result; 
    } 
    public List<DataModel> getTrips() { 
     String getname="view_details.php?"; 
     String completeurlforget=url+getname; 
     //String seturl= "ur_id="+userid; 
     //String finalurl=completeurlforget+seturl; 
     String result=invokeGetWebservice(completeurlforget); 
     try { 
      JSONArray jsonarry=new JSONArray(result); 
      List<DataModel> ar=new ArrayList(); 
      for(int i=0;i<jsonarry.length();i++) 
      { 
       JSONObject jsonobj=jsonarry.getJSONObject(i); 
       DataModel user=new DataModel(); 
       user.setName(jsonobj.getString("name")); 
       user.setImage(jsonobj.getString("image")); 
       ar.add(user); 
      } 
      return ar; 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 
} 
+0

Вы предоставили блок кода, но не дали никакой другой обратной связи. Подумайте о добавлении некоторого объяснения вместе с кодом, чтобы сделать этот ответ лучше. – chembrad