0
我现在使用ksoap2从Web服务获取数据到我的Android手机。是否可以列出.asmx Web服务的方法?
我想获取方法并将它们放入ArrayList
。它是可移动的吗?
是否有可能获得来自Web服务的URL
所有method
?
我现在使用ksoap2从Web服务获取数据到我的Android手机。是否可以列出.asmx Web服务的方法?
我想获取方法并将它们放入ArrayList
。它是可移动的吗?
是否有可能获得来自Web服务的URL
所有method
?
是的,您可以通过为每个调用指定方法名称来调用所有方法。 如:
public static String connect(String methodName, String[] args,String[] values) {
try {
SoapObject request = new SoapObject(YOUR_NAMESPACE, methodName);
int i = 0;
for (String s : args) {
PropertyInfo propInfo = new PropertyInfo();
propInfo.name = s;
propInfo.type = PropertyInfo.STRING_CLASS;
request.addProperty(propInfo, values[i]);
i++;
}
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(
YOUR_URL);
androidHttpTransport.call(YOUR_NAMESPACE + methodName, envelope);
SoapPrimitive resultsRequestSOAP = (SoapPrimitive) envelope
.getResponse(); // Receiving return string
String result = resultsRequestSOAP.toString();
if (result != null) {
return result;
}
return "";
} catch (Exception ex) {
ex.printStackTrace();
Log.d("Web Service Exception", ex.toString());
return "";
}
}
和使用辅助方法,如
public static String Get_ID(parameter) {
String[] args = new String[1];
String[] values = new String[1];
args[0] = "parameter";
values[0] = parameter;
String result = connect("Get_ID", args, values);
return result;
}
如果你有一个以上的方法,然后用repeate特定参数和方法名辅助方法。然后可以调用此辅助方法来获取活动中的数据。
我已经更新了我的问题。你能看出它有可能吗?非常感谢您的考虑。 –
是的,你可以。如果你想访问每个方法,首先创建一个像上面提到的帮助方法。然后指定参数作为参数。 – userDroid