Stack Exchange
How to SOAP Parsing in Android?
Am new to this SOAP web service.This is my ksoap lib dependancy,
 repositories {
    maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }
}
dependencies {
    compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.1'
}

Please look on to my SOAP request and response 
 POST /loyaltywebservice/LoyaltyWebService.asmx HTTP/1.1
Host: host url is here
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/AttemptLogin"

<?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>
    <UserCredential xmlns="http://tempuri.org/">
      <userName>string</userName>
      <password>string</password>
    </UserCredential>
  </soap:Header>
  <soap:Body>
    <AttemptLogin xmlns="http://tempuri.org/">
      <LoyalCustCode>string</LoyalCustCode>
      <PwdStr>string</PwdStr>
    </AttemptLogin>
  </soap:Body>
</soap:Envelope>

And while am parsing am getting web service authentication fail.But which is working in "POSTMAN".The following code i have tried,and the username and password i have just changed because i cant open the credential.So i just have added 1234.Have a look on my code.And please help me where am doing mistake.
    public void soapLogin() {
    try {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {

                    //Prepare the header with the authentication data.
                    Element headers = new Element().createElement(UrlActivity.NAMESPACE, "UserCredential");

                    Element username = new Element().createElement(UrlActivity.NAMESPACE, "userName");
                    username.addChild(Node.TEXT, "test");
                    headers.addChild(Node.ELEMENT, username);

                    Element pass = new Element().createElement(UrlActivity.NAMESPACE, "password");
                    pass.addChild(Node.TEXT, "1234");
                    headers.addChild(Node.ELEMENT, pass);

                    // Soap Request
                    final SoapObject request = new SoapObject(UrlActivity.NAMESPACE, UrlActivity.METHOD_NAME);
                    request.addProperty("LoyalCustCode","12345");
                    request.addProperty("PwdStr","12345");

                    final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                    // add header to envelope
                    envelope.headerOut = new Element[1];
                    envelope.headerOut[0] = headers;
                    envelope.setOutputSoapObject(request);

                    //Add the header to the envelope.
                    final HttpTransportSE androidHttpTransport = new HttpTransportSE(UrlActivity.URL);
                    androidHttpTransport.debug = true;
                    androidHttpTransport.call(UrlActivity.SOAP_ACTION, envelope);
                    Log.d("Login", "Request:- "+androidHttpTransport.requestDump);

                    final SoapPrimitive result = (SoapPrimitive)envelope.getResponse();
                    Log.d("Login", "Response:- "+androidHttpTransport.responseDump);
                    // final SoapObject result = (SoapObject) envelope.getResponse();
                    String response = result.toString();
                    Log.d("Login", "Response:- "+response);
                }catch (Exception ex){
                    Log.e("Login", "soapLogin:- "+ex.getMessage());
                }
            }
        }).start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}


What kind of error?Share your error log

soapcliente I/Resultado:: Function AttemptLogin Error :-2147467261

Please post you log because in one line log not easy to get exact idea that where is the problem(Androin Or PHP)?

Ninja am getting only this error nothing much am getting that why am confused

    final SoapObject request = new SoapObject(UrlActivity.NAMESPACE, UrlActivity.METHOD_NAME);
                        // TODO the two params are child soap objects not properties
                        SoapObject loyal = new SoapObject(UrlActivity.NAMESPACE, "LoyalCustCode");
                        loyal.setInnerText("1234");
                        request.addSoapObject(loyal);

                        loyal = new SoapObject(UrlActivity.NAMESPACE, "PwdStr");
                        loyal.setInnerText("1234");
                        request.addSoapObject(loyal);
//Params are different than child node


First you need to Add these in your build.gradle
repositories {
    maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }
}
dependencies {
    compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.1'
}

Then use below code for Get API Response-
            SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
            SoapObject loyal = new SoapObject(NAMESPACE, "LoyalCustCode");
            loyal.setInnerText("custcode");
            request.addSoapObject(loyal);

            loyal = new SoapObject(NAMESPACE, "PwdStr");
            loyal.setInnerText("pass");
            request.addSoapObject(loyal);

            Element headers = new Element().createElement(NAMESPACE, "UserCredential");

            Element username = new Element().createElement(NAMESPACE, "userName");
            username.addChild(Node.TEXT, "test");
            headers.addChild(Node.ELEMENT, username);

            Element pass = new Element().createElement(NAMESPACE, "password");
            pass.addChild(Node.TEXT, "1234");
            headers.addChild(Node.ELEMENT, pass);

            SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelope.headerOut = new Element[1];
            envelope.headerOut[0] = headers;
            envelope.setOutputSoapObject(request);

            HttpTransportSE ht = new HttpTransportSE(URL);
            try {
                ht.call(SOAP_ACTION, envelope);
                SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
                resultado = response.toString();
                Log.i("Resultado: ", resultado);
            } catch (Exception e) {
                Log.i("Error: ", e.getMessage());
                e.printStackTrace();
                return false;
            }

