Я надеюсь, что вы добавили ksoap2
файл jar в качестве внешнего или внутреннего файла jar в свой проект, а также добавили uses-permission
для доступа к ИНТЕРНЕТУ в Manifest
.
Необходимо использовать точное имя параметра вследующий код, который был в вашем Soap-Service на стороне сервера.
request.addProperty("userNAme", user_id);
request.addProperty("passWOrd", password);
Здесь UserNAme & passWord - это параметры, которые находятся в SOAP(ЗАПРОС) ФАЙЛ XML .Но user_id & пароль - это строковые переменные, хранящие информацию о пользователе.
Как обрабатывать ваш ответ :: -
try
{
httptransport.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
resultstring = response.toString();
/** do what ever you want with your response, it is stored in "resultString" as a String, you can change it your own form as per usage. **/
}
Для вашей справки.Я использовал что-то вроде следующего для использования Soap, надеюсь, это поможет вам.
public void SoapService()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
username = userid.getText().toString();
password = passid.getText().toString();
PropertyInfo UserInfo = new PropertyInfo();
UserInfo.setName("xUserName");
UserInfo.setValue(username);
UserInfo.setType(string.class);
request.addProperty(UserInfo);
PropertyInfo PwdInfo = new PropertyInfo();
PwdInfo.setName("xPassword");
PwdInfo.setValue(password);
PwdInfo.setType(string.class);
request.addProperty(PwdInfo);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE transportSE = new HttpTransportSE(URL);
try
{
transportSE.call(SOAP_ACTION, envelope);
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
Log.i("myLogin", response.toString());
CheckResponse = response.toString();
if(CheckResponse.equals(fake))
{
intent = new Intent(LoginActivity.this, RunApp.class);
startActivity(intent);
}else
{
Toast.makeText(LoginActivity.this, "Please check your Username and Password" , Toast.LENGTH_SHORT).show();
}
}catch(Exception e)
{
e.printStackTrace();
}
Toast.makeText(LoginActivity.this, CheckResponse, Toast.LENGTH_SHORT).show();
}// end of SoapService
В моем случае xUserName и xPassword - это параметры SoapRequest. подделка - это строка с текстом Вход успешный .
Надеюсь, это поможет вам.
Попробуйте добавить Журнал в свойпроект и получить точное местоположение проблемы.
Веселого и счастливого программирования ...