【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
一样写了它。推荐阅读
- 如何将我的Android模拟器连接到我的本地Web服务器
- 更新到角度6后找不到app-root
- Android重新使用游标
- SQLite Android数据库游标窗口分配2048 kb失败
- sql android忽略重复检索内容
- 可能尚未为Cursor android初始化局部变量
- Android(无法从CursorWindow读取第0行,第3列。在从中访问数据之前,请确保正确初始化Cursor)
- 如何在android中使用游标(sqlite查询)搜索数据库
- 在Glassfish 5.0中部署ADF WEbapp时出错