PDA

View Full Version : ارسال اطلاعات به وب سرویسی از نوع soap



roomezonline
سه شنبه 18 تیر 1392, 17:02 عصر
سلام خسته نباشید

من یه پرتال ارسال اس ام اس دارم که از شرکت ایمن سی ام اس گرفتم این شرکت یه وب سرویس در اختیار من گذاشته به این ادرس:

http://www.imencms.com/sms/sms.asmx

من با ASP.net به راحتی واسش کد نوشتم و استفاده کردم

حالا میخوام برای اندروید برنامه بنویسم که بشه از این وب سرویس استفاده کرد

من مرحله به مرحله طبق آموزشی که در این لینک معرفی کرده

http://www.c-sharpcorner.com/uploadfile/...sing-soap/ (http://www.c-sharpcorner.com/uploadfile/88b6e5/how-to-call-web-service-in-android-using-soap/)

جلو رفتم اما متاسفانه به نتیجه نرسیدم خطایی نداشتم اما موقعی که کلیک ارسال رو میزنم هیچ عملیاتی انجام نمیشه و پاسخی هم دریافت نمیکردم

<s:schema elementFormDefault="qualified" targetNamespace="ImenCMS_SMS_Service">
<s:element name="Send_x0020_One_x0020_SMS">
<s:complexType><s:sequence><s:element minOccurs="0" maxOccurs="1" name="MobileNo" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="SMSText" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="AcountID" type="s:string"/>

نوی سایتهای خارجی هم خیلی سرچ کردم نشد توی اموزشی که گفته بودید سورس خودش کار میکنه

احساس من در اینه که مشکل از شناسایی درست اکشن و ادرس دهی هست در عکس زیر نگاه کنید تمامی موارد خواسته شده با http شروع شدند اما این در حالی هست که توی وب سرویس من اینطور نیست چطور باید ادرس صحیح رو استخراج کنم مشکل عمده من در هیمنه مابقیش طبق اموزش چیز خاصی نداره

http://www.c-sharpcorner.com/UploadFile/88b6e5/how-to-call-web-service-in-android-using-soap/Images/AndWeb10.jpg

در صورت امکان بررسی کنید ببینید چطور میشه از این وب سرویس استفاده کرد

ولی باید عرض کنم که این وب سرویس برگردوندن جواب زیاد مهم نیست با ارسال پارمترها باید از طریق پرتال یه اس ام اس برای شماره مورد نظر ارسال بشه که این کار انجام نمیشه

نهایتا این وب سرویس 0 یا 1 رو برمیگردونه که نشانه این هست که ما بفهمیم پیام ارسال شده یا نه

وقتی ارسال میزنیم هیچ اس ام اسی از طریق پرتال که وب سرویس بهش متصل هست ارسال نمیشه

بازهم پیشاپیش تشکر

roomezonline
سه شنبه 18 تیر 1392, 21:55 عصر
دوستان گلم یکی راهنمایی کنه لطفا

rubiks.kde
سه شنبه 18 تیر 1392, 22:00 عصر
دوستان گلم یکی راهنمایی کنه لطفا

مشکلتون اینه که باید از soap چطوری استفاده کنید؟

roomezonline
سه شنبه 18 تیر 1392, 22:41 عصر
مشکلتون اینه که باید از soap چطوری استفاده کنید؟

من تمامی اطلاعات دارم دارم و طبق اموزش که لینکش رو گذاشتم انجام دادم اما نه خطایی داره نه اطلاعاتی ارسال میشه نه دریافت

ادرس وب سرویس

name space
target
url
parametr

امکانش هست شما یه سورس با این اطلاعات بنویسید؟ هر چی نیاز داشتین من در اختیارتون میزارم



واسه این :

<s:schema elementFormDefault="qualified" targetNamespace="ImenCMS_SMS_Service">
<s:element name="Send_x0020_One_x0020_SMS">
<s:complexType><s:sequence><s:element minOccurs="0" maxOccurs="1" name="MobileNo" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="SMSText" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="AcountID" type="s:string

این سه پارامتر ارسال بشه

ادرس وب سرویس


http://www.imencms.com/sms/sms.asmx

اطلاعات تکمیلی در مورد سرویس:
http://www.imencms.com/sms/sms.asmx?wsdl

مرسی

rubiks.kde
سه شنبه 18 تیر 1392, 23:14 عصر
من خودم به شخصه برای وب سرویس همیشه از json استفاده میکنم
فکرذم مشکلتون استفاده از soap توی اندوریده که دیدم نه

roomezonline
سه شنبه 18 تیر 1392, 23:24 عصر
من خودم به شخصه برای وب سرویس همیشه از json استفاده میکنم ولی برای استفاده از soap توی آندورید شما باید از کتابخونه ksoap استفاده کنی

دانلود ksoap (https://code.google.com/p/ksoap2-android/)

اینم یه آموزش (http://www.oguzozkeroglu.com/android-webservisten-donen-ic-ice-yapidaki-xmlin-parse-edilmesi/)


وب سرویس از قبل نوشته شده و در اختیار من نیست که چه جور باشه من و فقط میتونم استفاده بکنم

شما میگید برای وب سرویس که مشخصاتش رو دادم چگونه کد بنویسم

لینکی اموزشی که من دارم خیلی راحتر و بهتر از کد گوگل گفته اما مشکل اینجاست که جواب نگرفتم

میشه شما بررسی کنید

مشکل من سورس یادگیری وب سرویس نیست
مشکل من اینه که این کدها برای این وب سرویس جواب ندادن

roomezonline
چهارشنبه 19 تیر 1392, 00:02 صبح
من از این کد استفاده میکنم


package com.example.servicesms;

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

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class AndroidClientService extends Activity {

private static final String SOAP_ACTION = "ImenCMS_SMS_Service/SendOneSMSAgent";

private static final String OPERATION_NAME = "Send_x0020_One_x0020_SMS";

private static final String WSDL_TARGET_NAMESPACE = "ImenCMS_SMS_Service";

private static final String SOAP_ADDRESS = "http://www.ImenCms.com/SMS/SMS.asmx";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView textView = new TextView(this);

setContentView(textView);
//Initialize soap request + add parameters
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,
OPERATION_NAME);

//Use this to add parameters

request.addProperty("MobileNo","09167288894");
request.addProperty("SMSText","in text for test");
request.addProperty("AcountID","code");







SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;

envelope.setOutputSoapObject(request);

HttpTransportSE httpTransport = new HttpTransportSE(SOAP_ADDRESS);

try

{

httpTransport.call(SOAP_ACTION, envelope);

Object response = envelope.getResponse();



textView.setText(response.toString());

}

catch (Exception exception)

{

textView.setText(exception.toString());

}

}
}




وقتی برنامه رو اجرا میکنم همچین پیامی میده اینم عکسش:

106966

rubiks.kde
چهارشنبه 19 تیر 1392, 00:55 صبح
response رو به این صورت تعریف کن ببین درست میشه یا نه ؟

SoapObject response=(SoapObject)envelope.getResponse();

roomezonline
چهارشنبه 19 تیر 1392, 01:08 صبح
response رو به این صورت تعریف کن ببین درست میشه یا نه ؟

SoapObject response=(SoapObject)envelope.getResponse();


نه درست نشد همون طوری هستش

roomezonline
چهارشنبه 19 تیر 1392, 01:14 صبح
از این کد هم برای response استفاده کردم این شد نتیجه


SoapObject result = (SoapObject) envelope.bodyIn;
String response = result.getProperty(0).toString();


106971

rubiks.kde
چهارشنبه 19 تیر 1392, 02:46 صبح
از این کد هم برای response استفاده کردم این شد نتیجه


SoapObject result = (SoapObject) envelope.bodyIn;
String response = result.getProperty(0).toString();


106971

مشخصه دقیقا مشکلت توی همین خطه

roomezonline
چهارشنبه 19 تیر 1392, 05:01 صبح
خوب حالا مشکل پیدا شد چطور حلش کنیم؟

roomezonline
پنج شنبه 20 تیر 1392, 01:53 صبح
دوستان گلم یعنی این مسله اینقدر سخته که کسی نمیتونه جواب منو بده . یعنی تا الان کسی در زمینه اندروید با وب سرویس کار نکرده ؟!!!!!!!!!!!!!!!!!!!!!!!!!!:متعجب:

roomezonline
جمعه 21 تیر 1392, 11:33 صبح
-------------------------------

roomezonline
یک شنبه 23 تیر 1392, 11:12 صبح
مدیران محترم شما نظری ندارید؟!!!!