PDA

View Full Version : مشکل با ارسال پارا متر به وب سرویس



hamid_hr
سه شنبه 21 مرداد 1393, 18:30 عصر
سلام
من یه وب سرویس ساختم
این هدر تابع اون
public string ExecuteReader(string SqlCmd)

اینم کدهایی که برا اتصال از اندروید نوشتم

SoapObject request = new SoapObject(NAMESPACE, "ExequteReader");

PropertyInfo p = new PropertyInfo();
p.setName("SqlCmd");
String strr = "select top(1)* from city";
p.setValue(strr);
p.setType(String.class);
request.addProperty(p);

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

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call("AryaSystem/ExecuteReader", envelope);

Object result = (Object)envelope.getResponse();


تابع طرف سرور اجرا میشه ولی اون متغییر SqlCmd مقدار نداره !!!!!!!!
مشکل این کدهای من کجاس؟

hamid_hr
چهارشنبه 22 مرداد 1393, 10:13 صبح
سلام
کسی نمیتونه کمک کنه؟

Nevercom
چهارشنبه 22 مرداد 1393, 15:42 عصر
احتمالاً از kSOAP استفاده می کنید، توصیه ای برای اصلاح کد فعلیتون ندارم چون خودم برای استفاده از SOAP از سایتی استفاده کردم که تمام کلاس ها رو برای Generate کرد و ازش استفاده کردم.
شما هم می تونید آدرس WSDL وب سرویس رو به سایت بدید تا کلاس ها رو براتون تولید کنه و اگر مایل بودید کدها رو بررسی کنید:
http://www.wsdl2code.com/pages/home.aspx

rezaricky
چهارشنبه 22 مرداد 1393, 19:53 عصر
سلام
توی سایت stackoverflow یکی از کاربران هم دقیقا سوالی مثل سوال شما پرسیده.این جا (http://stackoverflow.com/questions/7814164/android-ksoap2-parameter-issues)
مثل اینکه مشکلش با این کد حل شده :

request.addProperty("name", "my_Name");

شما هم کدتون رو به این شکل تغییر بدین شاد مشکل حل شد :متفکر:

request.addProperty("SqlCmd", "SELECT TOP(1)FROM CITY");