بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

آموزش ارتباط با سرور به کمک soap به همراه Sample

مدیریت گفتگو
ahmad_r 12 سال پیش
آخرین تغییر: 7 سال پیش

با سلام

مدتی دنبال ارتباط با سرور به کمک soap بودم تا بالاخره به نتیجه رسیدم . میگذارم برای دوستانی که احیانا مشکل دارند. انشاالله که مفید باشه. در ضمن یه تشکر ویژه از  آقای محمد حسین زاده بابت راهنمایی هاشون

کلیت کار:

1- اضافه کردن لایبری ksoap2 به پروژه

2- تشخیص و مقدار دهی پارامترهای اصلی (namespace, url, soapaction,...)

این قسمت تشخیص پارامترها خیلی منو اذیت کرد چون تا حالا با وب سرویس کار نکرده بودم. برای اینکار به آدرس وب سرویس با پسوند asmx یه ?WSDL اضافه کنید و یا روی   Service Description کلیک کنید تا چیزی شبیه عکس زیر ببینید و متغیرهای زیر رو تو برنامه تون تعریف و مقداردهی کنید

    private final String  NAMESPACE   = "http://www.w3schools.com/webservices/";
private final String URL = "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL";
private final String SOAP_ACTION = "http://www.w3schools.com/webservices/CelsiusToFahrenheit";
private final String METHOD_NAME = "CelsiusToFahrenheit";
private static String fahren;

3- ارتباط با سرور ( آدرس سرور sample که کار آن  تبدیل واحد سلسیوس به فارنهایت است)

 
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

request.addProperty("Celsius", txtEnter.getText().toString());

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

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

try {
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);

SoapObject response = (SoapObject) envelope.bodyIn;

if (response != null)
fahren = response.getProperty(0).toString();

txtResult.setText(fahren);

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

**** برنامه اندروید Sample    **** (به روز شد)

لینک آموزش مرحله به مرحله

نظرات

ahmad_r 12 سال پیش
ممنون. فقط یه سوال بی ربط . چطوری تو نظر لینک اضافه کردی؟ از تگ a استفاده کردی؟ (چون نظرات قابل تغییر و حذف کردن نیستند تست نکردم)
hamidd 12 سال پیش
لینک مورد نظر رو بنویسید خود سایت متوجه میشه لینکه و به جای url متن "لینک" رو قرار میده و به url مورد نظر لینک میشه.
مجتبی یگانه 12 سال پیش
دقیقا ، اما اگر لینک طولانیه یا متن فارسی در URL لینک هست ، بهتره از سرویس های کوتاه کننده لینک مثل این لینک استفاده کنید
mghaffari 11 سال پیش
اگه میشه sample رو دوباره آپلود کنید
ahmad_r 11 سال پیش
لینک sample به روز شد
alihomayouni 11 سال پیش
میشه لطف کنید و لینک لایبری رو قرار بدید؟ سمپل هم دانلود نمیشه. ممنون
afr_msb 11 سال پیش
دوست گرامی لازم است از شما تشکر کنم زیرا این بحث واقعا مشکل مرا حل کرد
M.GA 11 سال پیش
با تشکر از آموزشتون مشکل من رو حل کردید.از اینکه تجربیاتتون رو در اختیار دیگران قرار می دهید ممنونم
133321 7 سال پیش
چرا سمپل دانلود نمیشه. من لازمش دارم. ممکنه مجدد بذارید؟

پاسخ‌ها 1

manavi 11 سال پیش

دوست گرامی، من هم از شما تشکر می کنم، راهنمایی شما بسیار مفید بود

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .