Friday, 5 September 2014

Android : common service caller class with ksoap2 library


package com.mastermoin.java;

import java.io.IOException;

import org.ksoap2.serialization.Marshal;
import org.ksoap2.serialization.MarshalDate;
import org.ksoap2.serialization.MarshalFloat;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

public class ServiceCaller {

       private boolean isResultVector = false;

       public Object call(String soapAction, SoapSerializationEnvelope envelope,
                     String URL) {

              Object result = null;

              Marshal dateMarshal = new MarshalDate();
              dateMarshal.register(envelope);
              Marshal floatMarshal = new MarshalFloat();
              floatMarshal.register(envelope);

              final HttpTransportSE transportSE = new HttpTransportSE(URL);

              transportSE.debug = false;

              try {
                     transportSE.call(soapAction, envelope);
                     if (!isResultVector) {
                           result = envelope.getResponse();
                     } else {
                           result = envelope.bodyIn;
                     }
              } catch (final IOException e) {
                     e.printStackTrace();
              } catch (final XmlPullParserException e) {
                     e.printStackTrace();
              } catch (final Exception e) {
                     e.printStackTrace();
              }
              return result;
       }

}

No comments:

Post a Comment