Ошибка при создании запроса на Android с ksoap2 - PullRequest
0 голосов
/ 14 марта 2019

Пытаюсь сделать запрос на мыльный сервис из приложения андроид, код такой.Ошибка, которую он мне выдает, находится в импульсе после вызова, который уже приходит с сообщением, в котором говорится, что «серверу не удалось обработать запрос. ---> СБОЙ ЧИТАТЬ В DSSubexploitation ---> Процедура или функция 'P_BDGX_Encuestas_Obtener_Recorrido'Я ждал параметра '@comcomarca', который не был указан. "Но параметры, если они происходят, два, которые необходимы, я помещаю soapUI capture, что если вы возвращаете данные Спасибо и извините за мой плохой английский введите описание изображения здесь

public class MainActivity extends Activity {



private final String NAMESPACE_M = "http://EINFOSAGEX/WebServices/";
private final String URL_M = "http://pruwseinfosagex.gobex.pri/WSSincroniza.asmx";
private final String SOAP_ACTION_M = "http://EINFOSAGEX/WebServices/ObtenerRecorrido";
private final String METHOD_NAME_M = "ObtenerRecorrido";

private final String NAMESPACE_ObtEnc = "http://EINFOSAGEX/WebServices/";
private final String URL_ObtEnc = "http://pruwseinfosagex.gobex.pri/WSSincroniza.asmx";
private final String SOAP_ACTION_ObtEnc= "http://EINFOSAGEX/WebServices/ObtenerEncuesta";
private final String METHOD_NAME_ObtEnc = "ObtenerEncuesta";



private String TAG ="LOG_AsyncTask";

AsynCallWS task = new AsynCallWS();
ProgressDialog dialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);



    Button btnClick = (Button) findViewById(R.id.bntClick);

    btnClick.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            task.execute();
        }
    });
}


private class AsynCallWS extends AsyncTask<Void,Void,Void>{

    @Override
    protected void onPostExecute(Void result) {

        Log.i(TAG, "onPostExecute");
    }

    @Override
    protected void onPreExecute() {

        Log.i(TAG, "onPreExecute");
    }
    @Override
    protected Void doInBackground(Void... voids) {
        Log.i(TAG, "doInBackground");
        //dialog.show();
        callWebserviceObtenerRecorrido();
        //callWebserviceObtenerEncuesta();
        return null;
    }
}

public void callWebserviceObtenerRecorrido() {

    //dialog.show();
    // Modelo el request
    SoapObject request = new SoapObject(NAMESPACE_M, METHOD_NAME_M);
    request.addProperty("idComarca","idComarca", 1004); // Paso parametros al WS
    //request.addAttribute("idComarca", 1004);
    request.addProperty("anio", "anio",2017); // Paso parametros al WS
    //request.addAttribute("anio", 2017);
    PropertyInfo stringArrayPropertyInfo = new PropertyInfo();

    // Modelo el Sobre
    SoapSerializationEnvelope envelope  = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope .dotNet = true;
    envelope .setOutputSoapObject(request);

    // Modelo el transporte
    HttpTransportSE transporte = new HttpTransportSE(URL_M);
    transporte.debug = true;


    Object response = null;
    try {
        // Llamada
        transporte.call(SOAP_ACTION_M, envelope );
        String result =
                envelope.getResponse().toString();

        // Resultado
        SoapPrimitive resultado = (SoapPrimitive) envelope .getResponse();

        Log.i("Resultado", resultado.toString());

    }catch (NullPointerException e) {
        Log.e("NullPointerException", e.getMessage());
        response = e.toString();

    } catch (Exception pe) {
        Log.e("ERROR", pe.getMessage());
        response = pe.toString();
    }

}


public void callWebserviceObtenerEncuesta() {

    //dialog.show();
    // Modelo el request
    SoapObject request = new SoapObject(NAMESPACE_ObtEnc, METHOD_NAME_ObtEnc);


    //request.addProperty("idComarca", 1004); // Paso parametros al WS
    //request.addAttribute("idComarca", 1004);




    //request.addProperty("anio", 2017); // Paso parametros al WS
    //request.addAttribute("anio", 2017);

    // Modelo el Sobre
    SoapSerializationEnvelope envelope  = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope .dotNet = true;
    envelope .setOutputSoapObject(request);

    // Modelo el transporte
    HttpTransportSE transporte = new HttpTransportSE(URL_ObtEnc);

    Object response = null;
    try {

        // Llamada
        transporte.call(SOAP_ACTION_ObtEnc, envelope );
        String result =
                envelope.getResponse().toString();

        // Resultado
        SoapPrimitive resultado = (SoapPrimitive) envelope .getResponse();

        Log.i("Resultado", resultado.toString());

    }catch (NullPointerException e) {
        Log.e("NullPointerException", e.getMessage());
        response = e.toString();

    } catch (Exception pe) {
        Log.e("ERROR", pe.getMessage());
        response = pe.toString();
    }

}


private void setupProgressDialog() {


}

}

...