android调用.net的web service

a222123 2011-03-18 11:59:44

List<MFirst> list=null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
// MFirstManager mfirstmanager=new MFirstManager();
list=new ArrayList<MFirst>();


SoapObject request = new SoapObject("http://tempuri.org/", "GetAllMFirst");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);

envelope.dotNet = true;
envelope.setOutputSoapObject(request);
AndroidHttpTransport ht = new AndroidHttpTransport("http://192.168.1.70/AndroidService/AndroidService.asmx");
ht.debug=true;
//(new MarshalBase64()).register(envelope);//放在没错
try {
//报这个android.os.NetworkOnMainThreadException 错误
ht.call("http://tempuri.org/GetAllMFirst",envelope);
SoapObject soapObject = (SoapObject) envelope.getResponse();
if(soapObject.getName()=="anyType")
{
for(int i=0;i<soapObject.getPropertyCount();i++)
{
MFirst m=new MFirst();
SoapObject soapChilds =(SoapObject)soapObject.getProperty(i);
m.setAutoId(soapChilds.getProperty("AutoId").toString());
m.setFirstName(soapChilds.getProperty("FirstName").toString());
m.setFirstImg(soapChilds.getProperty("FirstImg").toString());
m.setFirstKjid(Integer.parseInt(soapChilds.getProperty("FirstKjid").toString()));
list.add(m);
}
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();

}

...全文
439 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
whb2597758 2011-07-27
  • 打赏
  • 举报
回复
ht.call("http://tempuri.org/GetAllMFirst",envelope);

里面的 是 命名空间,注意核对下!

dotnet=true 没有用,建议取消掉!
wangfishxxd 2011-06-20
  • 打赏
  • 举报
回复
看下。。。
JayHualy 2011-04-07
  • 打赏
  • 举报
回复
那个dotnet=true有什么作用啊。我加上这句之后,在内网调webservice就报提交参数不对的错误。。。。
求高人解答啊~~~
男主角 2011-03-18
  • 打赏
  • 举报
回复
还是来学习了。没看懂
a222123 2011-03-18
  • 打赏
  • 举报
回复
就到 ht.call("http://tempuri.org/GetAllMFirst",envelope);就出错了。
a222123 2011-03-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zzbinfo 的回复:]
楼主的分享精神是我获益良多,我证好要找这方面的资料,多谢了。
[/Quote]
说实话,现在做这个的真的不是那么多,资料真的不好找。。。
为了找到到接收集合的方法找了好久没找到,上面的方法是和同事一步步调试搞出来的。。。
大家有什么好的资料,技术,一定要共享哦。。。哈哈。
zzbinfo 2011-03-18
  • 打赏
  • 举报
回复
楼主的分享精神是我获益良多,我证好要找这方面的资料,多谢了。
a222123 2011-03-18
  • 打赏
  • 举报
回复
http://android.yyable.com/reference/android/os/StrictMode.html
a222123 2011-03-18
  • 打赏
  • 举报
回复
错误解决啦。是版本问题。上面代码完全可以在2.2以下的版本跑起来...
我现在用3.0,3.0以上新添加了控制,要加一些官方的代码,网站发给大家,大家可以去看看。。。
老外的东西我也不大看的懂。。。感觉差多不就试试,现在OK了。。代码给大家分享下...

public class MFirstManager {

List<MFirst> list=null;
public void onCreate() {

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // or .detectAll() for all detectable problems
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
}


//获得所有的一级菜单
public List<MFirst> GetAllMFirst()
{
onCreate();
list=new ArrayList<MFirst>();

SoapObject request = new SoapObject("http://tempuri.org/", "GetAllMFirst");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);

envelope.dotNet = true;
envelope.setOutputSoapObject(request);
AndroidHttpTransport ht = new AndroidHttpTransport("http://192.168.1.70/AndroidService/AndroidService.asmx");
(new MarshalBase64()).register(envelope);//放在没错
try {
ht.call("http://tempuri.org/GetAllMFirst",envelope);
SoapObject soapObject = (SoapObject) envelope.getResponse();
if(soapObject.getName()=="anyType")
{
for(int i=0;i<soapObject.getPropertyCount();i++)
{
MFirst m=new MFirst();
SoapObject soapChilds =(SoapObject)soapObject.getProperty(i);
m.setAutoId(soapChilds.getProperty("AutoId").toString());
m.setFirstName(soapChilds.getProperty("FirstName").toString());
m.setFirstImg(soapChilds.getProperty("FirstImg").toString());
m.setFirstKjid(Integer.parseInt(soapChilds.getProperty("FirstKjid").toString()));
list.add(m);
}
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();


}
return list;
}
}

iampy 2011-03-18
  • 打赏
  • 举报
回复
报网络连接错误?是不是虚拟机没连上网络,把具体的日志拿过来看看
a222123 2011-03-18
  • 打赏
  • 举报
回复
自己顶下,要沉啦....求帮助

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧