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");
    }
}