我无法从我想要的属性中获取属性。它给出了arrayindexoutofbounds异常。而且无法找到价值。
我打印了我得到的完整信封但是我也没有得到属性值,我只得到属性值。 请帮助我。
这是代码
public CallSoap ReturnIssueDetails(String a,String b,int projectid,int issueid)
{
String[][] results = null;
CallSoap cs=new CallSoap(mContext);
SoapObject request = new SoapObject(WSDL_TARGET_NAMESPACE,"ReturnIssueDetails");
PropertyInfo pi=new PropertyInfo();
pi.setName("email");
pi.setValue(a);
pi.setType(String.class);
request.addProperty(pi);
pi=new PropertyInfo();
pi.setName("password");
pi.setValue(b);
pi.setType(String.class);
request.addProperty(pi);
pi=new PropertyInfo();
pi.setName("projectid");
pi.setValue(projectid);
pi.setType(int.class);
request.addProperty(pi);
pi=new PropertyInfo();
pi.setName("issueid");
pi.setValue(issueid);
pi.setType(int.class);
request.addProperty(pi);
String field,changesby,updatedate,newvalue,comments,lastvalue;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.setAddAdornments(true);
envelope.dotNet = true;
envelope.implicitTypes = true;
//envelope.
envelope.setOutputSoapObject(request);
//httpTransport = new HttpTransportSE(SOAP_ADDRESS);
Log.e("2", "2");
try {
httpTransport.call("http://tempuri.org/ReturnIssueDetails", envelope);
Log.e("3", "3");
SoapObject response = (SoapObject) envelope.getResponse();
//SoapObject responsex = (SoapObject) envelope.bodyIn;
Log.e("3.5", "3.5");
Log.e("responsex",envelope.getResponse().toString());
Log.e("count",response.getPropertyCount()+"");
SoapObject responsein = (SoapObject) response.getProperty(0);;
Log.e("count",responsein.getPropertyCount()+"");
SoapObject issuetype =(SoapObject) responsein.getProperty(0);
SoapObject severitytype =(SoapObject) responsein.getProperty(1);
SoapObject assignee =(SoapObject) responsein.getProperty(2);
SoapObject assigneeget =(SoapObject) responsein.getAttribute(0);
SoapObject issuedescription =(SoapObject) responsein.getProperty(3);
SoapObject changescomments =(SoapObject) responsein.getProperty(4);
Log.e("obj2", "obj2");
Log.e("count",issuetype.getPropertyCount()+"");
Log.e("count",severitytype.getPropertyCount()+"");
Log.e("count",assignee.getPropertyCount()+"");
Log.e("count",issuedescription.getPropertyCount()+"");
Log.e("count",changescomments.getPropertyCount()+"");
results=new String[changescomments.getPropertyCount()][6];
savePreferences("sizeIssuecomment", Integer.toString(changescomments.getPropertyCount()));
savePreferences("sizeIssuetype", Integer.toString(issuetype.getPropertyCount()));
savePreferences("sizeSeveritytype", Integer.toString(severitytype.getPropertyCount()));
savePreferences("sizeAssignee", Integer.toString(assignee.getPropertyCount()));
savePreferences("sizeIssuedescription", Integer.toString(issuedescription.getPropertyCount()));
cs.issue_types=new String[issuetype.getPropertyCount()];
cs.severity_types=new String[severitytype.getPropertyCount()];
cs.assignees=new String[assignee.getPropertyCount()];
cs.issue_description=new String[issuedescription.getPropertyCount()];
for(int i=0;i<issuetype.getPropertyCount();i++)
{
Object obj2 =(Object) issuetype.getProperty(i);
cs.issue_types[i]=obj2.toString();
Log.e("value",cs.issue_types[i]+"");
}
for(int i=0;i<severitytype.getPropertyCount();i++)
{
Object obj2 =(Object) severitytype.getProperty(i);
cs.severity_types[i]=obj2.toString();
Log.e("value",cs.severity_types[i]+"");
}
for(int i=0;i<assignee.getPropertyCount();i++)
{
Object obj2 =(Object) assignee.getProperty(i);
assignee.getAttribute(0);
Log.e("assign values", assigneeget.toString());
//Log.e("assign_atr values", assignee_atr.toString());
cs.assignees[i]=obj2.toString();
cs.assignees[i]=obj2.toString();
}
for(int i=0;i<issuedescription.getPropertyCount();i++)
{
Object obj2 =(Object) issuedescription.getProperty(i);
cs.issue_description[i]=obj2.toString();
}
for(int i=0; i<changescomments.getPropertyCount(); i++)
{
SoapObject obj2 =(SoapObject) changescomments.getProperty(i);
field= obj2.getProperty(0).toString();
Log.e("value : ",field+"");
changesby= obj2.getProperty(1).toString();
Log.e("value : ",changesby+"");
updatedate=obj2.getProperty(2).toString();
Log.e("value : ",updatedate+"");
newvalue= obj2.getProperty(3).toString();
Log.e("value : ",newvalue+"");
comments= obj2.getProperty(4).toString();
Log.e("value : ",comments+"");
lastvalue= obj2.getProperty(5).toString();
Log.e("value : ",lastvalue+"");
results[i][0]=field;
results[i][1]=changesby;
results[i][2]=updatedate;
results[i][3]=newvalue;
results[i][4]=comments;
results[i][5]=lastvalue;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.e("6", "6");
cs.issue_changes_comments=results;
return cs;
}