PDA

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



peach2
جمعه 25 بهمن 1392, 11:36 صبح
سلام
من الان چند هفنه هست دنبال این موضوع هستم اما به جای نمیرسم
من میخوام از طریق اندروید به یک وب سرویس وصل بشم اما چند راه امتحان کردم اما نشد یک راهی پیدا کردم که کد های wsdl رو کپی میکنم به پروژه خودم و روش راست کلیک میکنم و generate client رو میزنم و خودش کلاس های وب سرویس رو تولید میکنه اما به این دستور (java.rmi.RemoteException) خطا میده و وقتی میزنم خطا رو اصلاح کنه این فایل (]JRE system library[javaSE-1.6] ) رو به پروژه اضافه میکنه و هیچ ارور پروژه نداره ولی در موقع اجرا میگه اول ارور ها را رفع کنید در حالی که هیچ ارور نیست
لطفا کمک کنید

jafaripur
جمعه 25 بهمن 1392, 13:19 عصر
چرا خودت رو به دردسر می ندازی ؟ از کتابخانه ksoap استفاده کن.

peach2
جمعه 25 بهمن 1392, 13:42 عصر
از این کتابخانه هم استفاده کردم اما نمیتونم مقداری که برمیکرده رو بگیرم
میشه کمک کنید لطفا

jafaripur
جمعه 25 بهمن 1392, 14:40 عصر
مثلا چه مقداری باید برگردونه ؟
وب سرویس رو تو php تست کن ببین اصلا درست هستش یا نه.

peach2
جمعه 25 بهمن 1392, 18:35 عصر
بله وب سرویس کاملا درست کار میکنه
بعضی وقتا یک متغیر برمیکردونه بعضی وقتا هم آرایه

jafaripur
جمعه 25 بهمن 1392, 19:46 عصر
کدهات رو بنویس که اطلاعات رو میگیری، اینجوری نمی شه گفت.

peach2
جمعه 25 بهمن 1392, 23:37 عصر
try {
androidHttpTransport.call(SOAP_ACTION, envelope);

SoapPrimitive resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();


lblResult.setText(resultsRequestSOAP.toString());


} catch (Exception e) {


}

jafaripur
شنبه 26 بهمن 1392, 00:09 صبح
این رو امتحان کن:

SoapObject resultsRequestSOAP = (SoapObject)envelope.bodyIn;
lblResult.setText(resultsRequestSOAP.getPropertyAs String(0));

اگر کار نکرد، کل کد رو هم بزار.

peach2
شنبه 26 بهمن 1392, 21:51 عصر
اینم کد کامل مشکلم حل نشد

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);
request.addProperty("username",tu.getText().toString());
request.addProperty("password",tp.getText().toString());
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
envelope.setOutputSoapObject(request);
envelope.dotNet = true;

try {
androidHttpTransport.call(SOAP_ACTION1, envelope);
SoapObject result = (SoapObject)envelope.bodyIn;
Toast.makeText(getApplicationContext(), result.getPropertyAsString(0),Toast.LENGTH_LONG).s how();

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

jafaripur
شنبه 26 بهمن 1392, 22:15 عصر
اگر وب سرویس دات نیستش اون خط هفت رو پاک کن.
باید درست کار کنه اگه نمی شه مشکل از وب سرویس هستش.
اگر وب سرویس هم درست باشه شاید NameSpace و Action رو اشتباه میدی.

peach2
یک شنبه 27 بهمن 1392, 19:09 عصر
ممنون از راهنمای اما مشکلم حل نشد
هیچ راهی نیست که از کد های که خود اکلیپس برا جاوا تولید میکنه برا اندروید استفاده کرد ؟من اصلا از این کد جواب نمیگیرم‌

jafaripur
یک شنبه 27 بهمن 1392, 21:15 عصر
java با آندروید یکپارچه هستش و به راحتی می تونید از قدرت جاوا تو آندروید استفاده کنید.

peach2
دوشنبه 28 بهمن 1392, 20:18 عصر
میدونم‌ همون اول نوشتم به یک خط ایراد میده اگه اون حل بشه همه مشکلاتم حل میشه چند هفته هست دارم‌کار میکنم واقعا خستم کرده

parvizwpf
چهارشنبه 30 بهمن 1392, 23:22 عصر
چرا مستقیم سرویس رو نمیخونید؟ تا مستقیم دیتا رو بگیرید بارید سمت برنامه. البته من با این soap تا حالا کار نکردم نمیدونمم چیه.

peach2
پنج شنبه 01 اسفند 1392, 12:48 عصر
میخوام مستقیم بخونم اما نمیشه
هیچ کس هیچ راهی نداره؟