通过ksoap2访问.NET Webservice 的数据库
来源:互联网 发布:维生素vb对皮肤的作用 编辑:程序博客网 时间:2024/04/30 14:03
通过2天的摸索,从一开始用序列化-反序列化方式开始就没成功过,似乎是因为语言不同导致序列化不成功。后来就用RPC方式,可以获取单独对象,但是数组集合的获取没想到合理方式。最后只是简单的修改了下代码,通过Ksoap 的 soapobject 对象获取了集合
转载自:http://blog.csdn.net/xzd171/article/details/6236257
下面是服务端代码(webservice)
/// <summary> /// Service1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] // [SoapRpcService]//指定使用rpc方式 public class Service1 : System.Web.Services.WebService { // [SoapRpcMethod, WebMethod]//具体方法中也要指定rpc方式 [WebMethod] public string HelloWorld() { return "Hello World"; } // [SoapRpcMethod, WebMethod]//具体方法中也要指定rpc方式 [WebMethod] public Person GetPerson() { Person p = new Person(1,"xzd",34); return p; } // [SoapRpcMethod, WebMethod]//具体方法中也要指定rpc方式 [WebMethod] public Person SetPerson(string name,int age) { Person p = new Person(1, name, age); return p; } [WebMethod] //[SoapRpcMethod, WebMethod] 具体方法中也要指定rpc方式 public List<Person> GetPersonlist() { return PersonManager.GetPersonlist(); } }
下面是客户端代码
TextView tvResult ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); SoapObject request = new SoapObject("http://tempuri.org/", "GetPersonlist"); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10); envelope.dotNet = true; envelope.setOutputSoapObject(request); AndroidHttpTransport ht = new AndroidHttpTransport("http://192.168.1.101/Service/Service1.asmx"); (new MarshalBase64()).register(envelope);//放着没错 tvResult = (TextView)findViewById(R.string.hello); try { ht.call("http://tempuri.org/GetPersonlist",envelope); SoapObject soapObject = (SoapObject) envelope.getResponse(); String names=""; if(soapObject.getName()=="anyType") { for(int i=0;i<soapObject.getPropertyCount();i++) { SoapObject soapChilds =(SoapObject)soapObject.getProperty(i); names+= soapChilds.getProperty("Name").toString()+","+ soapChilds.getProperty("Id").toString()+","+ soapChilds.getProperty("Age").toString(); } } tvResult.setText(names); } catch (Exception e) { // TODO Auto-generated catch block tvResult.setText(e.getMessage().toString()); } }
转载自:http://blog.csdn.net/xzd171/article/details/6236257
- 通过ksoap2访问.NET Webservice 的数据库
- 通过ksoap2访问donet webservice
- android通过ksoap2对webservice的解析
- KSOAP2 访问WebService
- OPhone通过KSoap2调用Webservice
- Android采用KSOAP2访问webservice
- android通过ksoap2调用java写的CXF 的webservice
- Android 的网络编程(5)-通过ksoap2调用webservice示例
- 用ksoap2-android 访问webservice设置超时的问题
- Android通过ksoap2使用webservice服务
- Android通过ksoap2这个框架调用webservice
- android ksoap2调用.net Webservice 方法总结
- C++通过webservice 访问C#数据库
- Android通过ksoap2传递复杂数据类型,服务端为CXF发布的webservice,亲手写的代码
- 通过ADO.NET访问数据库
- 通过.NET访问Oracle数据库
- 通过ADO.NET访问数据库
- 通过.NET访问 Oracle数据库
- VisualSVN Server和TotoiseSVN的配置和基本使用方法
- ASP.NET用LINQ to SQL做的用户登录程序
- Android用Ksoap2类库调用.Net(C#)WebService类的实现
- LINQ查询返回DataTable类型
- poj 1790 Base Numbers(dp)
- 通过ksoap2访问.NET Webservice 的数据库
- milestone等系列android手机无法adb下使用sqlite3问题
- 在Android中查看和管理sqlite数据库
- 百度快照-更新原理-更新方法-更新技术-更新技巧
- POJ 2492 (并查集)
- 一闪一闪的小星星 - 玻璃瓶里的电子萤火虫
- 我的.Net武器库
- Nokia是否还有未来 - 小议诺基亚和微软的战略布局
- 边缘特征提取方法