I'm trying from Android studio to consume a webservice but I just did not get it and I do not know what else to try.
The soap data are:
SOAP 1.1
The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /SGAWebservice.asmx HTTP/1.1
Host: tickobexazsga01.westeurope.cloudapp.azure.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/KBXGetEmpresa"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<UserCredentials xmlns="http://tempuri.org/">
<userName>string</userName>
<password>string</password>
<EmpleadoOid>guid</EmpleadoOid>
</UserCredentials>
</soap:Header>
<soap:Body>
<KBXGetEmpresa xmlns="http://tempuri.org/">
<aCodigoEmpresa>string</aCodigoEmpresa>
</KBXGetEmpresa>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<KBXGetEmpresaResponse xmlns="http://tempuri.org/">
<KBXGetEmpresaResult>string</KBXGetEmpresaResult>
</KBXGetEmpresaResponse>
</soap:Body>
</soap:Envelope>
My code:
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import org.ksoap2.transport.HttpTransport;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
public class MainActivity extends AppCompatActivity {
String TAG = "Response";
Button bt;
EditText empresa;
String getEmp;
SoapPrimitive resultString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = (Button) findViewById(R.id.bt);
empresa = (EditText) findViewById(R.id.IntroducirEmpresa);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getEmp = empresa.getText().toString();
AsyncCallWS task = new AsyncCallWS();
task.execute();
}
});
}
private class AsyncCallWS extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
Log.i(TAG, "onPreExecute");
}
@Override
protected Void doInBackground(Void... params) {
Log.i(TAG, "doInBackground");
calculate();
return null;
}
@Override
protected void onPostExecute(Void result) {
Log.i(TAG, "onPostExecute");
Toast.makeText(MainActivity.this, "Response" + resultString.toString(), Toast.LENGTH_LONG).show();
}
}
public void calculate() {
String SOAP_ACTION = "http://tempuri.org/KBXGetEmpresa";
String METHOD_NAME = "KBXGetEmpresa";
String NAMESPACE = "http://tempuri.org/";
String URL = "http://10.0.2.2:1506/SGAWebservice.asmx";
try {
SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME);
Request.addProperty("KBXGetEmpresaResult", getEmp);
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(Request);
HttpTransport transport = new HttpTransport(URL);
transport.call(SOAP_ACTION, soapEnvelope);
resultString = (SoapPrimitive) soapEnvelope.getResponse();
Log.i(TAG, "Result Empresa: " + resultString);
} catch (Exception ex) {
Log.e(TAG, "Error: " + ex.getMessage());
}
}
}
The error is:
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
Process: com.example.montsemaqueda.montsebarra, PID: 27806
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:354)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljavax/microedition/io/Connector;
at org.ksoap2.transport.ServiceConnectionMidp.<init>(Unknown Source:5)
at org.ksoap2.transport.HttpTransport.getServiceConnection(Unknown Source:4)
at org.ksoap2.transport.HttpTransport.call(Unknown Source:27)
at com.example.montsemaqueda.webservice3.MainActivity.calculate(MainActivity.java:93)
at com.example.montsemaqueda.webservice3.MainActivity$AsyncCallWS.doInBackground(MainActivity.java:58)
at com.example.montsemaqueda.webservice3.MainActivity$AsyncCallWS.doInBackground(MainActivity.java:48)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassNotFoundException: Didn't find class "javax.microedition.io.Connector" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/base.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_resources_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/lib/x86, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at org.ksoap2.transport.ServiceConnectionMidp.<init>(Unknown Source:5)
at org.ksoap2.transport.HttpTransport.getServiceConnection(Unknown Source:4)
at org.ksoap2.transport.HttpTransport.call(Unknown Source:27)
at com.example.montsemaqueda.webservice3.MainActivity.calculate(MainActivity.java:93)
at com.example.montsemaqueda.webservice3.MainActivity$AsyncCallWS.doInBackground(MainActivity.java:58)
at com.example.montsemaqueda.webservice3.MainActivity$AsyncCallWS.doInBackground(MainActivity.java:48)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Suppressed: java.io.IOException: No original dex files found for dex location /data/app/com.example.montsemaqueda.montsebarra-gjN5dEvHhNfVW7UscmzTJQ==/split_lib_resources_apk.apk
at dalvik.system.DexFile.openDexFileNative(Native Method)
at dalvik.system.DexFile.openDexFile(DexFile.java:354)
at dalvik.system.DexFile.<init>(DexFile.java:101)
at dalvik.system.DexFile.<init>(DexFile.java:75)
at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394)
at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354)
at dalvik.system.DexPathList.<init>(DexPathList.java:164)
E/AndroidRuntime: at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:74)
at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73)
at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88)
at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74)
at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40)
at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:727)
at android.app.LoadedApk.getClassLoader(LoadedApk.java:810)
at android.app.LoadedApk.getResources(LoadedApk.java:1032)
at android.app.ContextImpl.createAppContext(ContextImpl.java:2345)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5749)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I/Process: Sending signal. PID: 27806 SIG: 9
Application terminated.