String methodName = "HelloWorld";
HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
ht.debug = true;
ArrayList<User> list=new ArrayList<User>();
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
User user = new User();
user.setProperty(0, "zhi");
user.setProperty(1, 18);
list.add(user);
PropertyInfo pi = new PropertyInfo();
pi.setName("User");//webservice接口的参数名,大小写必须跟dotnet中的webservice暴露出来的名字一致
pi.setValue(list);
pi.setType(list.getClass());
soapObject.addProperty(pi);//将自定参数加入请求对象中
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = ht;
// 设置与.Net提供的Web Service保持较好的兼容性
envelope.dotNet = false;
envelope.setOutputSoapObject(soapObject);//设置请求参数
envelope.addMapping(SERVICE_NS, "List<User>", list.getClass());//传对象时必须,参数namespace是webservice中指定的, name是服务器类型的名称, claszz是自定义类的类型
ht.call(SERVICE_NS + methodName, envelope);请指教下代码有什么问题?
HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
ht.debug = true;
ArrayList<User> list=new ArrayList<User>();
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
User user = new User();
user.setProperty(0, "zhi");
user.setProperty(1, 18);
list.add(user);
PropertyInfo pi = new PropertyInfo();
pi.setName("User");//webservice接口的参数名,大小写必须跟dotnet中的webservice暴露出来的名字一致
pi.setValue(list);
pi.setType(list.getClass());
soapObject.addProperty(pi);//将自定参数加入请求对象中
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = ht;
// 设置与.Net提供的Web Service保持较好的兼容性
envelope.dotNet = false;
envelope.setOutputSoapObject(soapObject);//设置请求参数
envelope.addMapping(SERVICE_NS, "List<User>", list.getClass());//传对象时必须,参数namespace是webservice中指定的, name是服务器类型的名称, claszz是自定义类的类型
ht.call(SERVICE_NS + methodName, envelope);请指教下代码有什么问题?
public List<User> HelloWorld(List<User> user)
{
List<User> uslist = new List<User>();
User us = new User();
us.Name = "Hello " + user[0].Name;
us.Age = user[0].Age;
uslist.Add(us);
return uslist;
} 这是.net webservices中的方法