Accessing Webservices using SOAP Example - ANDROID - Helper

Saturday, April 21, 2012

Accessing Webservices using SOAP Example


Android – Accessing Webservices using SOAP Example

Source main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Celsius to Farenheit" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width=" fill_parent"
        android:layout_height="wrap_content"
        android:numeric="integer"
        android:singleLine="true" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Convert to Farenheit" />


    <TextView
        android:id="@+id/tv_result"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="" />

</LinearLayout>

Source WebserviceActivity.java

package com.webserviceexample;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class WebserviceActivity extends Activity {

            private final String NAMESPACE = "http://tempuri.org/";
            private final String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";
            private final String SOAP_ACTION = "http://tempuri.org/CelsiusToFahrenheit";
            private final String METHOD_NAME = "CelsiusToFahrenheit";

            Button b;

            TextView tv;

            EditText et;

            public void onCreate(Bundle savedInstanceState) {
                        super.onCreate(savedInstanceState);
                        setContentView(R.layout.main);

                        et = (EditText) findViewById(R.id.editText1);

                        tv = (TextView) findViewById(R.id.tv_result);

                        b = (Button) findViewById(R.id.button1);

                        b.setOnClickListener(new OnClickListener() {
                                    public void onClick(View v) {

                                                String result = getFahrenheit(et.getText().toString());

                                                tv.setText(result+"° F");
                                    }
                        });

            }

            public String getFahrenheit(String celsius) {

                        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

                        PropertyInfo celsiusPI = new PropertyInfo();
                        celsiusPI.setName("Celsius");
                        celsiusPI.setValue(celsius);
                        celsiusPI.setType(double.class);
                        request.addProperty(celsiusPI);

                        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                                                SoapEnvelope.VER11);
                        envelope.dotNet = true;
                        envelope.setOutputSoapObject(request);
                        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

                        try {
                                    androidHttpTransport.call(SOAP_ACTION, envelope);
                                    SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
                                    Log.i("Webservice Output", response.toString());

                                    return response.toString();

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

                        return null;
            }
}

Note:
·         Add Internet Permission in your AndroidManifest.xml file.
·         Download ksoap2.jar and add to buildpath.

The output will be



47 comments:

  1. i am using this code. but i am getting output as null0 F

    ReplyDelete
  2. i am using your code. but i am getting output as null0 F

    ReplyDelete
  3. nice blog ! i think all having prob because of webservice

    ReplyDelete
  4. it gives my this error

    the application has stopped unexpected.please try again .

    ReplyDelete
  5. Thanks.This code works fine.nice work

    ReplyDelete
  6. hi, can you suggest me which is the best json or soap ? main thing is security and code efficiency . because up to now i am just using only json. so if soap is better then json then i will use that. but i think its too lengthy for code developing compare to json.

    ReplyDelete
  7. return null; is not required.

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. the application has stopped unexpected.please try again

    ReplyDelete
  10. Not working i get only null value

    ReplyDelete
  11. web hosting Pakistan
    As an entrepreneur, you only think about your business venture and leave everything to us.

    ReplyDelete
  12. Its a great example given by you that is provide the logic of how android access the web services using the SOAP.Through this blog i have got the ideas to implement the android apps...Thanks

    Android App Development

    ReplyDelete
  13. I feel pleasure to read the content that you are posting.
    click over here now

    ReplyDelete
  14. Thanks for sharing apk Games this great list. There is no doubt it’s important to do a natural link building without spamming to gain better places in Google.

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. This code is very help for me..........
    Thanks.....

    ReplyDelete
  17. Excellent article you have shared thanks for sharing. I appreciated of you.iPhone Apps Development Company

    ReplyDelete
  18. Good work by the blog writer! such a nice and informative article keep sharing more articles.

    appsocio

    ReplyDelete
  19. i have got the many ideas form your post. keep posting.

    ReplyDelete
  20. Hello there! I just want to offer you a big thumbs up for your great info you have right here on this post. I'll be coming back to your web site for more soon.
    Digital Marketing Company in Pune | Software Development Company

    ReplyDelete
  21. hgow i can upload pdf file using ksoap ? my email id vaishali27.idnani@gmail.com

    ReplyDelete
  22. Macular Degeneration
    This is a great post. So clear and easy to follow. Thanks for the tangible and attainable help. All your hard work is much appreciated.

    ReplyDelete
  23. This is a nice post in an interesting line of content.Thanks for sharing this article, great way of bring this topic to discussion.
    android app development in Mumbai
    iphone app development in Mumbai
    ios apps development Bangalore
    android app development in bangalore

    ReplyDelete
  24. SOAP was developed as an intermediate language so that applications built on various programming languages could talk easily to each other and avoid the extreme development effort. Most app development company are emphasis on this technology.

    app development company

    ReplyDelete
  25. Hi Team,
    I just stumbled on your post.
    Good Stuff!
    I'm just reaching out because I recently published an article on 9 Benefits of cloud computing for businesses that might be a good fit.
    Visit: https://www.passogen.com
    Either way, keep up the awesome work. :-)

    ReplyDelete
  26. Great post Thank you for sharing such a informative article. So clear and easy to follow. Thanks for the tangible and attainable help. All your hard work is much appreciated.
    Low Vision aids

    ReplyDelete
  27. Awesome post. Uniqwebtech, Top digital marketing company offering Digital services namely SEO,SMO,SEM,Content Marketing, Video Marketing, Web development and Social Media Marketing Solutions.

    ReplyDelete
  28. Great post Thank you for sharing such a informative article. So clear and easy to follow.
    mobile app development company in san francisco

    ReplyDelete
  29. Really nice article thank you for sharing such a informative article. So clear and easy to follow. Thanks for the tangible and attainable help.
    Augmented Reality App development

    ReplyDelete
  30. Thanks for sharing such a greatinformation I must say very informative blog post. Keep it up!!
    free ebook for mobile app development

    ReplyDelete
  31. Highly Commendable blog! Keep up the great work.i have got the many ideas form your post. keep posting.

    Free guide for macular degeneration glasses

    ReplyDelete
  32. Main thing is security and code efficiency . because up to now i am just using only json. so if soap is better then json then i will use that.

    Eye Health

    ReplyDelete
  33. I would like to thank you for the efforts you had made for writing this wonderful piece of writing.
    Cost to build app like Practo
    Redbus like App development cost
    taxi booking app like ola

    ReplyDelete
  34. Hi Jack!!!
    Nice post. its a great example given by you that is provide the logic of how android access the web services using the SOAP.Through this blog i have got the ideas to implement the android apps.
    Android App Development Company in Pune

    ReplyDelete
  35. Thank you for sharing this valuable content with us.
    Sr. Software Develop
    Sagacity Solutions India

    ReplyDelete
  36. great post. Thanks for sharing.
    We are an experienced team in one of the Best software company and product specialist for software development and implementation. Sovereign provides Website Design, Wordpress Development and Mobile App Development, Digital marketing and SEO Services.

    ReplyDelete
  37. Great to see such blog posts. Nice topic shared here. I learn a lot from you and the way of explanation is just wow. Thanks for such a beautiful explanation.
    smart audit

    ReplyDelete