consume webService

0

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.
    
asked by Montse Mkd 23.07.2018 в 12:11
source

0 answers