Type soapfault - faultcode: 'SOAP-ENV: Exception dans android
Je sais déjà même type qusetion est présente dans de SI, mais je n'ai pas trouver les solutions. j'ai eu ce
SoapFault - faultcode: 'SOAP-ENV:Server' faultstring: 'Procedure 'login' not present' faultactor: 'null' detail: null
exception lorsque vous essayez d'obtenir de réponse de mon localserver..
mon code wsdl hould comme:
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xs0="http://www.processmaker.com"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
targetNamespace="http://www.processmaker.com">
<types>
<xs:schema elementFormDefault="qualified"
targetNamespace="http://www.processmaker.com">
<xs:element name="login">
<xs:complexType>
<xs:sequence>
<xs:element name="userid" type="xs:string"/>
<xs:element name="password" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</definitions>
et mon fichier de classe est :
public class MainActivity extends Activity {
String str = null;
SoapObject request;
TextView tv;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.textView1);
myasynctask MAT = new myasynctask();
MAT.execute();
}
class myasynctask extends AsyncTask<String, Void, String> {
String str;
private static final String SOAP_ACTION = "http://www.processmaker.com/login";
private static final String METHOD_NAME = "login";
private static final String NAMESPACE = "http://www.processmaker.com/";
private static final String URL = "http://10.0.2.2:80/sysworkflow/en/classic/services/soap2";
@Override
protected String doInBackground(String... params) {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("userid", "admin");
request.addProperty("password", "admin");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(URL);
try {
ht.call(SOAP_ACTION, envelope);
final SoapPrimitive response = (SoapPrimitive) envelope
.getResponse();
str = response.toString();
} catch (Exception e) {
e.printStackTrace();
}
//Log.d("WebRespone", str);
return str;
}
@Override
public void onPostExecute(String result) {
//TODO Auto-generated method stub
Toast.makeText(MainActivity.this, result, Toast.LENGTH_LONG).show();
tv.setText(result);
super.onPostExecute(result);
}
@Override
protected void onPreExecute() {
//TODO Auto-generated method stub
super.onPreExecute();
}
}
}
Merci de m'aider à résoudre ce problème...
Pouvez-vous partager l'url du wsdl je.e de l'URL. Quand j'essaie de le voir, l'ensemble de la méthode , pas en mesure de voir quelque chose?
il est localhost url...si vous voulez, je suis prêt à partager mon code WSDL...j'ai mis ici que ce que je veux...c'est de vous connecter..
il est localhost url...si vous voulez, je suis prêt à partager mon code WSDL...j'ai mis ici que ce que je veux...c'est de vous connecter..
OriginalL'auteur Vini | 2013-09-27
Vous devez vous connecter pour publier un commentaire.
Remplacer
Avec
essayez ceci, HttpTransportSE ht = new HttpTransportSE(URL,10000);
il ne reçoit aucune réponse..
Grâce yarr..vraiment utile pour moi..
Vous êtes les bienvenus.
OriginalL'auteur Melih Mucuk
Il peut aussi y avoir d'incompatibilité d'erreur dans le nom de la méthode. Comme vous avez un nom de méthode nommée
notifyme
et vous pouvez l'avait écrit commenotify_me
.OriginalL'auteur Aakib Jabbar