【发布时间】:2016-07-24 09:37:26
【问题描述】:
我在 Android 中有一个使用 ksoap2 的 Web 客户端,但我无法将字符串数组作为参数传递给 Web 服务。我在下面附上了我的代码和服务。
服务:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mys="http://182.73.50.69:6510/Myservice" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays ">
<soapenv:Header/>
<soapenv:Body>
<mys:addworkload>
<!--Optional:-->
<mys:member>Antony</mys:member>
<!--Optional:-->
<mys:prj>
<!--Zero or more repetitions:-->
<arr:string>Prj1</arr:string>
<arr:string>Prj2</arr:string>
<arr:string>Prj3</arr:string>
</mys:prj>
<!--Optional:-->
<mys:val>
<!--Zero or more repetitions:-->
<arr:int>2</arr:int>
<arr:int>2</arr:int>
<arr:int>2</arr:int>
</mys:val>
<!--Optional:-->
<mys:date>2016-05-29</mys:date>
</mys:addworkload>
</soapenv:Body>
</soapenv:Envelope>
安卓代码:
SoapObject Search= new SoapObject(Constants.NAMESPACE, "addworkload");
List<String> companies = new ArrayList<>();
companies.add("Prj1");
companies.add("Prj2");
companies.add("Prj3");
List<String> ones = new ArrayList<>();
ones.add("2");
ones.add("2");
ones.add("2");
SoapObject soapCompanies = new SoapObject(Constants.NAMESPACE, "prj");
for (String i : companies){
soapCompanies.addProperty("string", i);
}
request.addSoapObject(soapCompanies);
SoapObject val = new SoapObject(Constants.NAMESPACE, "val");
for (String i : ones){
val.addProperty("int", i);
}
request.addSoapObject(val);
请告诉我我在哪里错过了这里的链接..
【问题讨论】:
-
嘿,你检查过我的解决方案了吗?
标签: android web-services wsdl ksoap2 android-ksoap2