• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps SOAP with Java: Server did not recognize the value of HTTP Header SOAPAction

ulaskayalar

Lurker
Aug 11, 2021
1
0
Java:
 EditText yoneticieposta, yoneticiparola;
    Button yoneticiDGiris;
    String Eposta, Parola, ReturnResult;

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

    /*Login API*/
    public static String SOAP_ACTION_LOGIN="https://com/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);

                SoapFault error = (SoapFault)envelope.bodyIn;
                System.out.println("TTTTTTTTTTTTTT Error message : "+error.toString());

                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();
            }
        }
    }

Error message : SoapFault - faultcode: 'soap:Client' faultstring: 'Server did not recognize the value of HTTP Header SOAPAction: .' faultactor: 'null' detail: org.kxml2.kdom.Node@ab2eee9

System.err: java.lang.ClassCastException: org.ksoap2.SoapFault cannot be cast to org.ksoap2.serialization.SoapObject at com.medcongozetim.app.YLogin$LoginAsyncTask.doInBackground(YLogin.java:92)
 
Last edited:

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones