SoapFault - faultcode('SOAP-ENV:android中的异常)

【SoapFault - faultcode(' SOAP-ENV:android中的异常)】出门莫恨无人随,书中车马多如簇。这篇文章主要讲述SoapFault - faultcode:' SOAP-ENV:android中的异常相关的知识,希望能为你提供帮助。
我知道SO中已存在相同类型的问题,但我没有找到解决方案。我懂了

SoapFault - faultcode: 'SOAP-ENV:Server' faultstring: 'Procedure 'login' not present' faultactor: 'null' detail: null

尝试从我的本地服务器获取响应时出现异常
我的wsdl代码应该像:
< 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>

我的班级文件是:
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(); }}

}
请帮我解决这个问题......
答案更换
private static final String NAMESPACE = "http://www.processmaker.com/";


private static final String NAMESPACE = "http://www.processmaker.com";

另一答案方法名称中也可能存在不匹配错误。就像你有一个名为notifyme的方法名称,你可能像notify_me一样写了它。

    推荐阅读