roomezonline

ارسال اطلاعات به وب سرویسی از نوع soap

9 ارسال در این موضوع قرار دارد

سلام خسته نباشید

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

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

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

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

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

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

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

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

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

720x449http://www.c-sharpcorner.com/UploadFile/88b6e5/how-to-call-web-service-in-android-using-soap/Images/AndWeb10.jpg[/img]

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

با تشکر

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

بدین صورت عمل کنید :

public static String ServerIP = "http://192.168.10.8/";    public static String SOAP_ACTION = "http://tempuri.org/CelesiusToFarenheit";public static String NAMESPACE = "http://tempuri.org/";public static String METHOD_NAME = "CelesusTOFahrenheit";public static String URL = ServerIP+"Service.asmx?WSDL";SoapObject request = new SoapObject(ServerInfo.NAMESPACE, ServerInfo.METHOD_NAME_Player_GetByName);               request.addProperty("ID",ID);        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);        envelope.setOutputSoapObject(request);        envelope.dotNet = true; try {            HttpTransportSE androidHttpTransport = new HttpTransportSE(ServerInfo.URL);            //this is the actual part that will call the webservice            androidHttpTransport.call(ServerInfo.SOAP_ACTION1_Player_GetByName, envelope);            // Get the SoapResult from the envelope body.            SoapObject result = (SoapObject)envelope.bodyIn;            if(result != null)            {                         }            else            {                  Toast.makeText(getApplicationContext(), "No Response",Toast.LENGTH_LONG).show();            }

فقط توجه نمایید،باید آی پی و اطلاعات سرور خود را بجای  این کدها وارد نمایید.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کد من در نهایت شد این در ضمن من ادرس هاست رو با پینگ کردن ادر سایت www.imencms.com  نوشتم اما باز نتیجه ای حاصل نشد

package com.webservice;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.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class WebServiceDemoActivity extends Activity {public static String ServerIP = "http://46.105.250.179/";   public static String SOAP_ACTION = "ImenCMS_SMS_Service/SendOneSMSAgent";public static String NAMESPACE = "ImenCMS_SMS_Service";public static String METHOD_NAME = "Send_x0020_One_x0020_SMS";public static String URL = ServerIP+"/sms/sms.asmx?wsdl";Button btnFar,btnCel,btnClear;EditText txtFar,txtCel;   @Override   public void onCreate(Bundle savedInstanceState)    {       super.onCreate(savedInstanceState);       setContentView(R.layout.main);              btnFar = (Button)findViewById(R.id.btnFar);       btnCel = (Button)findViewById(R.id.btnCel);       btnClear = (Button)findViewById(R.id.btnClear);       txtFar = (EditText)findViewById(R.id.txtFar);       txtCel = (EditText)findViewById(R.id.txtCel);       txtFar.setText("09167288894");       txtCel.setText("test");       btnFar.setOnClickListener(new View.OnClickListener()        {		public void onClick(View v) 		{	    	SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);      	    	 request.addProperty("MobileNo",txtFar.getText().toString());                request.addProperty("SMSText",txtCel.getText().toString());                request.addProperty("AcountID","");	        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);	        envelope.setOutputSoapObject(request);	        envelope.dotNet = true;	        	    		    	try {	    			        		        	 HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);	             //this is the actual part that will call the webservice	             androidHttpTransport.call(SOAP_ACTION, envelope);	             // Get the SoapResult from the envelope body.	             SoapObject result = (SoapObject)envelope.bodyIn;	             if(result != null)	             {	             	             }	             else	             {	                   Toast.makeText(getApplicationContext(), "Nooo Response",Toast.LENGTH_LONG).show();	        		        		        		        		        		             	    	} 	    	} catch (Exception e) {	    		e.printStackTrace();	    	}		    	}		}	);              btnCel.setOnClickListener(new View.OnClickListener()        {		public void onClick(View v) 		{			txtCel.setText("");			txtFar.setText("");		}	});   }}

لطفا بگید چیکار کنم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

لطفا اگر وب سرویس شما روی نت میباشد آدرس آن را برام پیغام خصوصی کنید تا نگاهی بهش بندازم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اطلاعات مورد نیاز رو پیام خصوصی کردم

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مدیر انجمن برای پاسخ دادن به سوال من باید بیشتر از این منتظر بمونم؟!!!!!

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

لطفا کدتون رو دیباگ کنید و مقدار نهایی  متغیر result را قرار دهید..

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

  if(result != null)                     {//اینجا باید مقدار رو بگیرید و برای کاربر نمایش دهید.                                          }                     else                     {                           Toast.makeText(getApplicationContext(), "Nooo Response",Toast.LENGTH_LONG).show();                                      } 

سعی کنید کمی توجه کنید به کدهاتون و پشت سر هم پست ندهید که  چرا جواب قرار داده نشد ، مدیران سایت در حد توان خود تایمی را برای مدیریت انجمن قرار میدهند.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با تشکر از توجهتون

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

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

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

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

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری