With HTTP POST the data goes fine, when I send data with SOAP it goes empty/null

Ulas KAYALAR 236 Reputation points
2021-08-15T15:36:21.903+00:00

With HTTP POST the data goes fine, when I send data with SOAP it goes empty/null. I detected this by keeping a log on the server. Because the variables I send on the java side seem to be full.

public class YLogin extends AppCompatActivity {
EditText yoneticieposta, yoneticiparola;
Button yoneticiDGiris;
String Eposta, Parola, ReturnResult;

/*Web Service*/
public static String URL="https://api.example.com/MCG-WS.asmx?WSDL";
public static String NAMESPACE="http://tempuri.org";

/*Login API*/
public static String SOAP_ACTION_LOGIN="http://tempuri.org/LoginAPI";
public static String METHOD_NAME_LOGIN="LoginAPI";

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

    yoneticieposta = (EditText) findViewById(R.id.yoneticiepostaTx);
    yoneticiparola = (EditText) findViewById(R.id.yoneticiparolaTx);
    yoneticiDGiris = (Button) findViewById(R.id.yoneticiDGirisYapBt);
    yoneticiDGiris.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Eposta = yoneticieposta.getText().toString();
            Parola = yoneticiparola.getText().toString();

            if(Eposta.isEmpty() || Parola.isEmpty()){
                Toast.makeText(YLogin.this, "E-posta veya parola kısımlarını doldurun.", Toast.LENGTH_SHORT).show();
            }else{
                new LoginAsyncTask().execute(Eposta, Parola);
            }
        }
    });
}

private class LoginAsyncTask extends AsyncTask<String, Void, String> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... strings){

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME_LOGIN);


        PropertyInfo infoEposta = new PropertyInfo();
        infoEposta.setName("eposta");
        infoEposta.setType(String.class);
        infoEposta.setValue(strings[0].toString());
        request.addProperty(infoEposta);

        PropertyInfo infoParola = new PropertyInfo();
        infoParola.setName("parola");
        infoParola.setType(String.class);
        infoParola.setValue(strings[1].toString());
        request.addProperty(infoParola);

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

        envelope.dotNet =true;
        envelope.setOutputSoapObject(request);

        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

        try {
            androidHttpTransport.call(SOAP_ACTION_LOGIN, envelope);
            if (envelope.bodyIn instanceof SoapFault) {
                SoapFault error = (SoapFault) envelope.bodyIn;
                System.out.println("TTTTTTTTTTTTTT Error message : " + error.toString());
            }
            if (envelope.bodyIn instanceof SoapObject) {
                SoapObject result = (SoapObject) envelope.bodyIn;
                if(result!=null){
                    ReturnResult = result.getProperty(0).toString();
                }
            }

        }
        catch(Exception e){
            e.printStackTrace();
            return e.toString();
        }

        return ReturnResult;
    }

    @Override
    protected void onPostExecute(String result) {

        if(result.equals("başarılı")){
            Intent intent = new Intent(YLogin.this, dashboard.class);
            intent.putExtra("yoneticiEposta", Eposta);
            startActivity(intent);
        }else{
            Toast.makeText(YLogin.this, "E-posta veya parolanız yanlış, tekrar deneyin.", Toast.LENGTH_SHORT).show();
        }
    }
}


request.addProperty("eposta", Eposta);
request.addProperty("parola", Parola);

Even if I try, the problem still persists.

What could be the reason for the data to go empty/null? Could you help?

.NET
.NET
Microsoft Technologies based on the .NET software framework.
3,452 questions
{count} vote

0 additional answers

Sort by: Most helpful