2011-10-17 2 views
-1

Tout d'abord merci pour toutes les réponses, ce sujet peut être fermé car j'ai fait ce que je veux déjà. J'ai mentionné comment appeler un webmethod .NET ci-dessous.Comment appeler une méthode Web .NET?

http://aaarkonusurum.blogspot.com/2011/10/android-ile-dataset-donen-bir-net.html

+0

Si vous pouvez renoncer à utiliser DataTable et Utilisez vos propres objets et collections Je peux vous envoyer un échantillon pour appeler webMethod et utiliser json – breceivemail

+0

Qu'en est-il de 'KusmanCustomAdapter'? Est-ce qu'il remplit les données? – kisp

+0

@breceivemail pas vraiment, j'ai besoin d'appeler cette webmethod :(Je sais ce que vous voulez dire et je l'utilise quand je crée un service web mais cette fois je dois utiliser de cette façon –

Répondre

0

Si vous avez besoin seulement une méthode pour appeler une méthode WebService, utilisez ceci:

public static SoapPrimitive callWebServiceMethod(String url, 
      String namespace, String methodName, 
      HashMap<String, Object> parameters, String soapAction) 
      throws IOException, XmlPullParserException, SoapFault { 

     SoapObject request = new SoapObject(namespace, methodName); 

     if (parameters != null) { 
      String[] keys = new String[0]; 
      keys = (String[]) parameters.keySet().toArray(keys); 
      Object[] vals = (Object[]) parameters.values().toArray(); 

      for (int i = 0; i < parameters.size(); i++) { 
       request.addProperty(keys[i], vals[i]); 
      } 
     } 

     SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
        SoapEnvelope.VER11); 
     envelope.dotNet = true; 

     envelope.setOutputSoapObject(request); 
     HttpTransportSE androidHttpTransport = new HttpTransportSE(url, 
       60 * 1000); 

     androidHttpTransport.call(soapAction, envelope); 
     return (SoapPrimitive) envelope.getResponse(); 
    } 

et dans votre activité:

private static final String NAMESPACE = "http://tempuri.org/"; 
private static final String METHOD_NAME = "MethodName"; 
private static final String SOAP_ACTION = "http://tempuri.org/MethodName"; 

     String url = "http://..."; 

     HashMap<String, Object> parameters = new HashMap<String, Object>(); 
     parameters.put("param1", param1); 
     parameters.put("param2", param2); 
     //... 

     SoapPrimitive response = callWebServiceMethod(url, 
       NAMESPACE, METHOD_NAM, parameters, 
       SOAP_ACTION); 

     String webServiceResult = response.toString(); 
+0

ce n'est pas ce que je veux faire J'ai besoin de faire ma propre structure d'enveloppe de savon Je ne peux pas envoyer un ensemble de données de cette façon. –

Questions connexes