Я новичок в Android, и я хотел позвонить в веб-службу wcf.Я нашел библиотеку ksoap2 и заявил, что применил найденные примеры. Приложению не удалось выдать следующее сообщение об ошибке: java.net.SocketTimeoutException: Тайм-аут соединения.Я установил права доступа к файлу manafist следующим образом:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Я также добавил прокси, порт, имя пользователя и пароль из приложения настройки эмулятора-> беспроводные и сетевые-> мобильные сети-> ДоступИмена точек.Я также добавил следующую строку из конфигурации запуска к дополнительным параметрам командной строки эмулятора:
-dns-server ns15.unitechost.in
Но, тем не менее, это не сработало, приветствуется любая помощь.
Обновление
Я настроил параметр прокси-сервера из командной строки при запуске AVD с помощью следующей команды:
emulator -avd <avd_name> [-<option> [<value>]] ... [-<qemu args>]
Теперь я получил следующее исключение:
org.xmlpull.v1.XmlPullParserException: unexpected type (position:TEXT HTTP/1.1 500 Int...@11:1 in java.io.InputStreamReader@40531d48)
Я видел примеры использования веб-службы .asmx с использованием ksoap2. Можно ли это сделать и на веб-службе .svc?Я использую прикрепленный код, я получил от одного, если примеры:
import org.ksoap2.SoapEnvelope;
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.util.Log;
import android.widget.TextView;
public class Main extends Activity {
/** Called when the activity is first created. */
private static final String SOAP_ACTION = "http://tempuri.org/Istock/getCountry";
private static final String OPERATION_NAME = "getCountry";
private static final String WSDL_TARGET_NAMESPACE = "http://tempuri.org/";
private static final String SOAP_ADDRESS = "http://127.0.0.1:8080/Service1.svc";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textView = new TextView(this);
setContentView(textView);
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
OPERATION_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);
try
{
httpTransport.call(SOAP_ACTION, envelope);
Object response = envelope.getResponse();
textView.setText(response.toString());
System.out.println(response.toString());
}
catch (Exception exception)
{
String exceptionStr=exception.toString();
textView.setText(exceptionStr);
System.out.println(exceptionStr);
Log.i("TAG",exceptionStr);
}
}
}
Спасибо,