vầng , tình hình là ntn ạ , e làm 1 con service và e đưa csdl lên bây h e gọi nó về e làm theo cách trên mạng , cái đó cũng gân như của anh , nhưng k hiểu sao khi e làm xong e chạy cái app của e thì bị out ra ạ package com.example.webservice2; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapPrimitive; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.AndroidHttpTransport; ; public class phim { String Usercode; String Firtsname; @SuppressWarnings("null") public phim getallphim() { final String SOAP_ACTION = "http://tempuri.org/KQHT"; final String METOHD_NAME = "KQHT"; final String NAMESPACE = "http://tempuri.org/"; final String URL = "http://qlcl.vnkweb.com/Examview.asmx?WSDL"; SoapObject table = null; SoapObject client = null; SoapObject tableRow = null; SoapObject responseBody = null; @SuppressWarnings("unused") AndroidHttpTransport transport = null; SoapSerializationEnvelope sse = null; sse = new SoapSerializationEnvelope(SoapEnvelope.VER11); sse.addMapping(NAMESPACE, "phim", this.getClass()); sse.dotNet = true; AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport( URL); phim setphim = new phim(); try { client = new SoapObject(NAMESPACE, METOHD_NAME); sse.setOutputSoapObject(client); sse.bodyOut = client; androidHttpTransport.call(SOAP_ACTION, sse); responseBody = (SoapObject) sse.getResponse(); responseBody = (SoapObject) responseBody.getProperty(1); table = (SoapObject) table.getProperty(0); tableRow = (SoapObject) table.getProperty(0); setphim.Usercode = tableRow.getProperty("Usercode").toString(); setphim.Firtsname = tableRow.getProperty("Firtsname").toString(); return setphim; } catch (Exception e) { setphim.Usercode = e.toString(); setphim.Firtsname = e.toString(); return setphim; } } }
file e code ạ https://www.dropbox.com/s/v2ln3kee3c7nlsm/webservice.rar
Ve co ban la source cua ban ko chay dc nha: Sau khi xem qua thi co mot so van de nhu sau: 1, ban fai copy file ksoap2 vao thu muc libs va reference toi no, dong thoi cho no do uu tien cao nhat. 2, Cai webservice select no se return ve 1 dataset ban tham khao code o day ma sua lai. String NAMESPACE="http://tempuri.org/"; String METHOD_NAME="getListStudent"; String SOAP_ACTIONS="http://tempuri.org/getListStudent"; String URL="http://10.0.2.2:1057/WebSite2/Service.asmx"; SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME); SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet=true; envelope.setOutputSoapObject(request); HttpTransportSE androidhttpTranport=new HttpTransportSE(URL); try { androidhttpTranport.call(SOAP_ACTIONS, envelope); SoapObject reponse=(SoapObject)envelope.getResponse(); SoapObject reponseDataset=(SoapObject)reponse.getProperty(1); SoapObject reponseDataTable=(SoapObject)reponseDataset.getProperty(0);
bạn có thể hướng dẫn kĩ mình cách lấy đường dẫn String URL="http://10.0.2.2:1057/WebSite2/Service.asmx"; này k vì đường dẫn service của mình trên mạng nó k như thế này
bạn có thể tải code về sửa giúp mình đc k , bạn nói chung chung quá , mình xem code nhiều lúc k hieiẻu :'( t mới học nên hơi kém mong cậu thông cảm , giúp t nhé , t đang làm để làm báo cáo , hôm nay mà không xong là tớ out :'(
bạn cứ tải code của mình về làm nhé , , về thẻ thì oke có tiền mình đưa bạn ngay , bây h mình bận tí lên k bật được máy tình , oke ban tks bạn rất nhiều
Bạn ơi bạn có thể làm cho mình bài này đc k , tải code của t về làm cũng đc hay cụa làm mới cũng đc miễn sao search đc là được , oke mình đang rất cần cái này cậu à
public class phim { String Usercode; String Firtsname; ArrayList sdtuyen = new ArrayList();
Handler hander;
public void getallphim() { hander = new Handler(); Thread th = new Thread(new Runnable() {
@Override public void run() { // TODO Auto-generated method stub final String SOAP_ACTIONS = "http://tempuri.org/KQHT"; final String METOHD_NAME = "KQHT"; final String NAMESPACE = "http://tempuri.org/"; final String URL = "http://qlcl.vnkweb.com/Examview.asmx"; SoapObject request = new SoapObject(NAMESPACE, METOHD_NAME); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.dotNet = true; request.addProperty("UserCode", "1"); // request.addProperty("faultactor", "a"); envelope.setOutputSoapObject(request); HttpTransportSE androidhttpTranport = new HttpTransportSE(URL); try { androidhttpTranport.call(SOAP_ACTIONS, envelope); SoapObject reponse = (SoapObject) envelope.getResponse(); SoapObject reponseDataset = (SoapObject) reponse .getProperty(1); if (reponseDataset.getPropertyCount() > 0) { SoapObject reponseDataTable = (SoapObject) reponseDataset .getProperty(0);
if (reponse != null) {
for (int i = 0; i < reponseDataTable .getPropertyCount(); i++) { SoapObject temp = (SoapObject) reponseDataTable .getProperty(i); // cho nay lay data cua tung row // student sv=new student(); // sv.id=temp.getProperty(0).toString(); // sv.masv=temp.getProperty(1).toString(); // sv.hoten=temp.getProperty(2).toString(); // sv.lop=temp.getProperty(3).toString(); // myadapter.add(sv);
} hander.post(new Runnable() {
@Override public void run() { // TODO Auto-generated method stub // Sau khi lay xong lam gi do de thay doi tren giao dien } }); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); th.start();
mình gà quá mình vẫn chưa làm ra :( , bạn làm chi tiết xong đóng cái file của bạn làm lại xong gửi cho mình đc k cái project ý ở csdl của mình có các cột là usercode , firstname,lastname,classname,modulesname,noid,dataexam,examtimename,examzo omname,costs,testid,fee, status . service :http://qlcl.vnkweb.com/Examview.asmx?WSDL
This comment has been removed by the author.
ReplyDelete1.Trước tiên bạn tạo webservice chạy test bằng C# xem ok chưa nếu ok chuyển sang b2
ReplyDelete2.để kết nối webservice với android trong vd trên bạn fai down ksoap2...........jar về (cái này lên mang search down)
3.down ksoap2 về rồi thì hãy chọn project của bạn chuôt fai chọn properties chọn java build path và bạn chỉnh lại đường dẫn cho file ksoap2 mà bạn đã down về.
4. bạn chạy xem nó láy được chưa.
5. nếu chưa bạn hãy chạy debug xem bị sai ở đâu rồi mới sửa tiếp
6. debug = cách nhấn F11 chạy ché độ debug(ko chi c# cú đặt break point là ok) cái này fai chọn tưng ché độ
f6 chạy từng dòng
f5 chạy vào trong hàm
f8 chạy qua luôn.
bạn thử xem có gì liên hên lại. ok chú bạn may mắn lần sau.
anh ơi anh rảnh không e nhờ a 1 tẹo đc k ạ
ReplyDeleteco gi em cu hoi
Deletevầng , tình hình là ntn ạ , e làm 1 con service và e đưa csdl lên bây h e gọi nó về e làm theo cách trên mạng , cái đó cũng gân như của anh , nhưng k hiểu sao khi e làm xong e chạy cái app của e thì bị out ra ạ
Deletepackage com.example.webservice2;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
;
public class phim {
String Usercode;
String Firtsname;
@SuppressWarnings("null")
public phim getallphim() {
final String SOAP_ACTION = "http://tempuri.org/KQHT";
final String METOHD_NAME = "KQHT";
final String NAMESPACE = "http://tempuri.org/";
final String URL = "http://qlcl.vnkweb.com/Examview.asmx?WSDL";
SoapObject table = null;
SoapObject client = null;
SoapObject tableRow = null;
SoapObject responseBody = null;
@SuppressWarnings("unused")
AndroidHttpTransport transport = null;
SoapSerializationEnvelope sse = null;
sse = new SoapSerializationEnvelope(SoapEnvelope.VER11);
sse.addMapping(NAMESPACE, "phim", this.getClass());
sse.dotNet = true;
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(
URL);
phim setphim = new phim();
try {
client = new SoapObject(NAMESPACE, METOHD_NAME);
sse.setOutputSoapObject(client);
sse.bodyOut = client;
androidHttpTransport.call(SOAP_ACTION, sse);
responseBody = (SoapObject) sse.getResponse();
responseBody = (SoapObject) responseBody.getProperty(1);
table = (SoapObject) table.getProperty(0);
tableRow = (SoapObject) table.getProperty(0);
setphim.Usercode = tableRow.getProperty("Usercode").toString();
setphim.Firtsname = tableRow.getProperty("Firtsname").toString();
return setphim;
} catch (Exception e) {
setphim.Usercode = e.toString();
setphim.Firtsname = e.toString();
return setphim;
}
}
}
file e code ạ
https://www.dropbox.com/s/v2ln3kee3c7nlsm/webservice.rar
code ban down ve ko dc. ban xem lai co gi minh get ve kiem tra xem. Hoac ban fai post Ex len de check .
Deletebạn tải lại xem giúp mình nhé
Deletehttps://www.dropbox.com/s/ugv7jyjyj9284lw/webser.rar
file thư viện
https://www.dropbox.com/s/ugv7jyjyj9284lw/webser.rar
tks bạn nhiều nhé
link media : nếu cậu k tải đc ở dropbox
Deletehttp://www.mediafire.com/download/g7w65b7ioh0hm8h/Desktop.rar
mình nói qua về con service kia của mình , mình đã cho câu truy vấn select*from bang where masv="" rồi bạn à ,
ReplyDeleteVe co ban la source cua ban ko chay dc nha:
ReplyDeleteSau khi xem qua thi co mot so van de nhu sau:
1, ban fai copy file ksoap2 vao thu muc libs va reference toi no, dong thoi cho no do uu tien cao nhat.
2, Cai webservice select no se return ve 1 dataset ban tham khao code o day ma sua lai.
String NAMESPACE="http://tempuri.org/";
String METHOD_NAME="getListStudent";
String SOAP_ACTIONS="http://tempuri.org/getListStudent";
String URL="http://10.0.2.2:1057/WebSite2/Service.asmx";
SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidhttpTranport=new HttpTransportSE(URL);
try {
androidhttpTranport.call(SOAP_ACTIONS, envelope);
SoapObject reponse=(SoapObject)envelope.getResponse();
SoapObject reponseDataset=(SoapObject)reponse.getProperty(1);
SoapObject reponseDataTable=(SoapObject)reponseDataset.getProperty(0);
if(reponse!=null)
{
for(int i=0;i<reponseDataTable.getPropertyCount();i++)
{
SoapObject temp=(SoapObject)reponseDataTable.getProperty(i);
student sv=new student();
sv.id=temp.getProperty(0).toString();
sv.masv=temp.getProperty(1).toString();
sv.hoten=temp.getProperty(2).toString();
sv.lop=temp.getProperty(3).toString();
myadapter.add(sv);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
bạn có thể hướng dẫn kĩ mình cách lấy đường dẫn
ReplyDeleteString URL="http://10.0.2.2:1057/WebSite2/Service.asmx";
này k
vì đường dẫn service của mình trên mạng nó k như thế này
bạn có thể tải code về sửa giúp mình đc k , bạn nói chung chung quá , mình xem code nhiều lúc k hieiẻu :'( t mới học nên hơi kém mong cậu thông cảm , giúp t nhé , t đang làm để làm báo cáo , hôm nay mà không xong là tớ out :'(
ReplyDeleteok, 1 card vietel 50 nhan tin cho nguoi yeu. bat teamviewer len.
ReplyDeletehiện tai thì mình chưa có tiền nhưng lúc có chắc chắn mình sẽ đưa bạn , oke đã là đàn ông , nói là sẽ làm oke bạn
ReplyDelete169 191 423
2457
bạn cứ tải code của mình về làm nhé , , về thẻ thì oke có tiền mình đưa bạn ngay , bây h mình bận tí lên k bật được máy tình , oke ban tks bạn rất nhiều
ReplyDeleteBạn ơi vẫn không được , t test thử trên máy thật rồi bạn à
ReplyDeleteBạn ơi bạn có thể làm cho mình bài này đc k , tải code của t về làm cũng đc hay cụa làm mới cũng đc miễn sao search đc là được , oke mình đang rất cần cái này cậu à
ReplyDeleteSource nay minh chay tren may minh thay ok roi:
ReplyDeletepackage com.dt.test.testservice;
import java.io.IOException;
import java.util.ArrayList;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import android.os.Handler;
public class phim {
String Usercode;
String Firtsname;
ArrayList sdtuyen = new ArrayList();
Handler hander;
public void getallphim() {
hander = new Handler();
Thread th = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
final String SOAP_ACTIONS = "http://tempuri.org/KQHT";
final String METOHD_NAME = "KQHT";
final String NAMESPACE = "http://tempuri.org/";
final String URL = "http://qlcl.vnkweb.com/Examview.asmx";
SoapObject request = new SoapObject(NAMESPACE, METOHD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true;
request.addProperty("UserCode", "1");
// request.addProperty("faultactor", "a");
envelope.setOutputSoapObject(request);
HttpTransportSE androidhttpTranport = new HttpTransportSE(URL);
try {
androidhttpTranport.call(SOAP_ACTIONS, envelope);
SoapObject reponse = (SoapObject) envelope.getResponse();
SoapObject reponseDataset = (SoapObject) reponse
.getProperty(1);
if (reponseDataset.getPropertyCount() > 0) {
SoapObject reponseDataTable = (SoapObject) reponseDataset
.getProperty(0);
if (reponse != null) {
for (int i = 0; i < reponseDataTable
.getPropertyCount(); i++) {
SoapObject temp = (SoapObject) reponseDataTable
.getProperty(i);
// cho nay lay data cua tung row
// student sv=new student();
// sv.id=temp.getProperty(0).toString();
// sv.masv=temp.getProperty(1).toString();
// sv.hoten=temp.getProperty(2).toString();
// sv.lop=temp.getProperty(3).toString();
// myadapter.add(sv);
}
hander.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// Sau khi lay xong lam gi do de thay doi tren giao dien
}
});
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
th.start();
//return sdtuyen;
}
}
mình gà quá mình vẫn chưa làm ra :( , bạn làm chi tiết xong đóng cái file của bạn làm lại xong gửi cho mình đc k cái project ý
ReplyDeleteở csdl của mình có các cột là usercode , firstname,lastname,classname,modulesname,noid,dataexam,examtimename,examzo
omname,costs,testid,fee, status .
service :http://qlcl.vnkweb.com/Examview.asmx?WSDL
bạn có thể làm để nó search đc luôn cho mình nhé, bạn tư duy nhanh làm đc chứ mình gà quá , k thể nghĩ đc :'(
ReplyDeletetức là lấy đc csdl về điện thoại nhé