This API call allows you to search the ExtraView database and to return a set of records that match the search criteria. This function is equivalent to the search capability within the browser version of ExtraView. It is extremely powerful as multiple search filters can be set on different fields. For example, it is straightforward to set up a search that responds to a query such as “tell me all the open items against a specific module within a specific product that contain a specific keyword.
Input
Class |
Name |
Type |
Required |
Details |
ExecuteItemSearchRequest |
userId |
String |
Yes |
The callers user name |
ExecuteItemSearchRequest |
password |
String |
Yes |
The callers password |
ExecuteItemSearchRequest |
status |
String |
No |
The status of the items being collected |
ExecuteItemSearchRequest |
pageLength |
Integer |
No |
The page length |
ExecuteItemSearchRequest |
persistHandle |
String |
No |
A random string to persist the data |
ExecuteItemSearchRequest |
recordStart |
Integer |
No |
The starting index of records returned |
ExecuteItemSearchRequest |
recordCount |
Integer |
No |
The count of records |
ExecuteItemSearchRequest |
returnRawXML |
boolean |
No |
If you want the raw XML returned with the parse fields. This should be set to false for performance. |
ExecuteItemSearchRequest |
fieldMetaData |
Array[] |
No |
An array of FieldMetaData objects |
FieldMetaData |
id |
String |
Yes |
An array of FieldMetaData objects |
FieldMetaData |
fixedValue |
String |
Yes |
An array of FieldMetaData objects |
FieldMetaData |
value |
String |
No |
An array of FieldMetaData objects |
Output
Class |
Name |
Type |
Required |
Details |
ExecuteItemSearchResponse |
success |
boolean |
Yes |
True is succeeded False if failed |
ExecuteItemSearchResponse |
returnCode |
String |
No |
See Appendix for details |
ExecuteItemSearchResponse |
returnMessage |
String |
No |
Human readable message |
ExecuteItemSearchResponse |
xmlResults |
String |
No |
The search results in XML format |
ExecuteItemSearchResponse |
itemRecords |
Array[] |
Yes |
An array of ItemRecord objects |
ItemRecord |
numberOfItemRecordFields |
int |
Yes |
The number of field records in the child array |
ItemRecord |
itemRecordFields |
Array[] |
Yes |
An array of ItemRecordField objects |
ItemRecordField |
fieldId |
String |
Yes |
The id of the field |
ItemRecordField |
fieldTitle |
String |
Yes |
The title of the field |
ItemRecordField |
fieldValue |
String |
Yes |
The value of the field |
ItemRecordField |
row |
int |
Yes |
The repeating row value |
Example
public static void testExecuteIssueSearch(EVReportServiceStub stub) {
try {
ExecuteItemSearchDocument reqEnvelope = ExecuteItemSearchDocument.Factory.newInstance();
ExecuteItemSearchRequest request =
reqEnvelope.addNewExecuteItemSearch().addNewRequest();
request.setUserId(ServiceClientHelper.ADMIN_USER_ID);
request.setPassword(ServiceClientHelper.ADMIN_PASSWORD);
request.setPageLength(100);
request.setRecordStart(1);
request.setRecordCount(120);
request.setPersistHandle(ServiceClientHelper.randStr);
request.setReturnRawXML(true);
request.setStatus("");
ExecuteItemSearchResponseDocument resEnvelope = stub.executeItemSearch(reqEnvelope);
ExecuteItemSearchResponse response =
resEnvelope.getExecuteItemSearchResponse().getReturn();
if (response.getSuccess()) {
System.out.println("success: [" + response.getReturnCode() + "] : " +
response.getReturnMessage());
} else {
System.out.println("failure: [" + response.getReturnCode() + "] : " +
response.getReturnMessage());
}
} catch (Exception e) {
e.printStackTrace();
System.err.println("nnn");
}
}