如何发送" ArrayOfString"在SOAP请求? [英] How to send "ArrayOfString" in soap request?
本文介绍了如何发送" ArrayOfString"在SOAP请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是期待一个字符串数组的方法 - 我只想送与参数相关的一个值(FIRST_NAME)属性 - 它可以在SOAPUI
The method I am using is expecting an array of string - I only want to send one value (first_name) associated with the parameter "attributes" - It works in SOAPUI
SoapObject request2 = new SoapObject(NAMESPACE, METHOD_NAMEdoselect);
request2.addProperty("sid", usersid);
request2.addProperty("objectType","cnt");
request2.addProperty("whereClause","first_name = 'Olivia'");
request2.addProperty("maxRows",-1);
request2.addProperty("attributes","first_name");
从requestdump这表明它发送一个字符串,而不是一个数组。我如何使它成为一个Arrayofstring?
我似乎无法找到任何这信息。
From the requestdump it shows it's sending a string rather than an array. How do I make it an Arrayofstring? I can't seem to find any info on this.
如果您需要任何更多的信息只是让我知道!
If you need any more info just let me know!
推荐答案
试试这个办法,希望这将帮助你解决你的问题。
public class Array implements KvmSerializable {
private String sid;
private String objectType;
private String whereClause;
private String maxRows;
private String attributes;
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getObjectType() {
return objectType;
}
public void setObjectType(String objectType) {
this.objectType = objectType;
}
public String getWhereClause() {
return whereClause;
}
public void setWhereClause(String whereClause) {
this.whereClause = whereClause;
}
public String getMaxRows() {
return maxRows;
}
public void setMaxRows(String maxRows) {
this.maxRows = maxRows;
}
public String getAttributes() {
return attributes;
}
public void setAttributes(String attributes) {
this.attributes = attributes;
}
@Override
public Object getProperty(int arg0) {
// TODO Auto-generated method stub
switch (arg0){
case 0:
return sid;
case 1:
return objectType;
case 2:
return whereClause;
case 3:
return maxRows;
case 4:
return attributes;
default:
return null;
}
}
@Override
public int getPropertyCount() {
return 5; //number of passing parameters
}
@Override
public void getPropertyInfo(int arg0, Hashtable arg1, PropertyInfo arg2) {
switch(arg0)
{
case 0:
arg2.type = PropertyInfo.STRING_CLASS;
arg2.name = "sid";
break;
case 1:
arg2.type = PropertyInfo.STRING_CLASS;
arg2.name = "objectType";
break;
case 2:
arg2.type = PropertyInfo.STRING_CLASS;
arg2.name = "whereClause";
break;
case 3:
arg2.type = PropertyInfo.OBJECT_CLASS;
arg2.name = "maxRows";
break;
case 4:
arg2.type = PropertyInfo.OBJECT_CLASS;
arg2.name = "attributes";
break;
default:break;
}
}
@Override
public void setProperty(int arg0, Object arg1) {
switch(arg0)
{
case 0:
sid = (String)arg1;
break;
case 1:
objectType = (String)arg1;
break;
case 2:
whereClause = (String)arg1;
break;
case 3:
maxRows = (String)arg1;
break;
case 4:
attributes = (String)arg1;
break;
default:
break;
}
}
}
Array array = new Array();
array.setFirstname(firstname);
array.setLastname(lastname);
array.setAddress(address);
array.setCity(city);
array.setState(state);
在doInBackground补充一点:
PropertyInfo pInfo = new PropertyInfo();
pInfo.setName("array");
pInfo.setValue(array);
pInfo.setType(array.getClass());
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty(pInfo);
这篇关于如何发送" ArrayOfString"在SOAP请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文