Comment passer un paramètre à un webservice en utilisant ksoap2?
Je suis à l'aide de l'IDE Eclipse pour développer une application android. Je suis en train d'essayer de vous connecter à un .net webservice. Je suis en utilisant ksoap2 version 2.3
Quand je suis à l'appel d'une webmethod sans paramètres, il fonctionne très bien. Quand je viens de passer un paramètre à la webmethod, j'obtiens la valeur null (pendant le débogage le webservice, j'ai découvert que) et j'obtiens une valeur null de webmethod dans le code côté client.
Code:
package com.examples.hello;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloActivity extends Activity {
/** Called when the activity is first created. */
private static final String SOAP_ACTION = "http://Innovation/HRService/stringBs";
private static final String METHOD_NAME = "stringBs";
private static final String NAMESPACE = "http://Innovation/HRService/";
private static final String URL = "http://196.205.5.170/mdl/hrservice.asmx";
TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv=(TextView)findViewById(R.id.text1);
call();
}
public void call()
{
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
//PropertyInfo PI = new PropertyInfo();
//request.addProperty("a", "myprop");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
envelope.dotNet=true;
envelope.encodingStyle = SoapSerializationEnvelope.XSD;
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
Object result = (Object)envelope.getResponse();
String results = result.toString();
tv.setText( ""+results);
} catch (Exception e) {
tv.setText(e.getMessage());
}
}
}
Pourquoi dois-je obtenir la réponse null, comment puis-je passer un paramètre à un service web à l'aide de ksoap2?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Au lieu de
essayez d'utiliser
Je ne suis pas attendre sur ksoap2 mais je suis sûr que cela définit la valeur du premier paramètre à votre site web fonction de service. A fonctionné parfaitement pour moi.
Appel webservice en passant des paramètres de j2me
Essayer de commenter la ligne:
J'ai fait la même chose que vous avez fait et quand j'ai lu à propos de cette propriété étant un vraiment moche hack, j'ai commenté pour des fins de test et de mon paramètre s'est passé correctement.
Je travaille depuis 2 jours maintenant et j'ai finalement obtenu la solution. Je soumettre mon code complet et espérons que cela aidera. Il Peut passer des Paramètres et obtenir de réponse.
À l'intérieur de la WebService fichier .net C#:
À l'intérieur de l'Android code:
Choses à vérifier:
Vous aurez à déclarer le type de paramètre dans le code client: