insertItem

This API call inserts a new record into the ExtraView database. All fields are treated as optional, and all defined business rules are executed and checked before and after the record is inserted.

Input

Class

Name

Type

Required

Details

InsertItemRequest

userId

String

Yes

The callers user name

InsertItemRequest

password

String

Yes

The callers password

InsertItemRequest

sendEmail

boolean

Yes

 

InsertItemRequest

itemFields

Array[]

Yes

An array of ItemRecordField objects

ItemRecordField

fieldId

String

Yes

 

ItemRecordField

fieldTitle

String

Yes

 

ItemRecordField

fieldValue

String

No

 

ItemRecordField

row

int

No

 

Optional parameters for handling document and image files:

Class

Name

Type

Required

Details

ItemFileField

itemImages

Array[]

No

The array of image files and data

ItemFileField

itemDocuments

Array[]

No

The array of document files and data

ItemFileField

ddName

String

No

The data dictionary name of the file

ItemFileField

fileName

String

No

The target file name to be saved

ItemFileField

file

String

No

The file

ItemFileField

description

String

No

The description of the file

ItemFileField

charset

String

No

The charset of the file

ItemFileField

contentType

String

No

The content type - e.g. "image/GIF"

ItemFileField

rowId

 

 

The repeating row Id

ItemFileField

rowNumber

int

No

The row number - currently not supported

Output

Class

Name

Type

Required

Details

InsertItemResponse

success

boolean

Yes

True is succeeded False if failed

InsertItemResponse

returnCode

String

No

See Appendix for details

InsertItemResponse

returnMessage

String

No

Human readable message

InsertItemResponse

itemId

String

Yes

The Id of the insertd item

Note

If you encounter an error inserting large items with this command, the solution is to increase the WSDL package size - for example -

<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>

 In addition, you must increase the maximum size of the POST  request that Tomcat application server will accept.  Please see here for instructions.

Example

public static void testInsertItem(EVItemServiceStub stub) {
    try {
        InsertItemDocument reqEnvelope = InsertItemDocument.Factory.newInstance();
        InsertItemRequest request = reqEnvelope.addNewInsertItem().addNewRequest();
        request.setUserId(ServiceClientHelper.ADMIN_USER_ID);
        request.setPassword(ServiceClientHelper.ADMIN_PASSWORD);
        List items = new ArrayList();
        ItemRecordField item = null;
        for (int i = 0; i < 4; i++) {
            item = ItemRecordField.Factory.newInstance();
            item.setRow(0);
            // no repeating rows for this example
            switch (i) {
                case 0:
                    item.setFieldId("status");
                    item.setFieldValue("NEW");
                    break;
                case 1:
                    item.setFieldId("assigned_to");
                    item.setFieldValue(ServiceClientHelper.generatedUserId);
                    break;
                case 2:
                    item.setFieldId("short_description");
                    item.setFieldValue("This is the short desc or title");
                    break;
                case 3:
                    item.setFieldId("description");
                    item.setFieldValue("this is the long desc");
                    break;
                default:
                    item.setFieldId("unknown");
                    item.setFieldValue("");
                    break;
            }
            items.add(item);
        }
        request.setItemFieldsArray(items.toArray(new ItemRecordField[items.size()]));
        request.setSendEmail(false);
        InsertItemResponseDocument resEnvelope = stub.insertItem(reqEnvelope);
        InsertItemResponse response = resEnvelope.getInsertItemResponse().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");
    }
}

 

Example 2 - Handling Document & Image Fields

public static void testInsertItem(EVItemServiceStub stub) {
    try {
        File imageFile = new File("./test.GIF");
        DataInputStream dis = new DataInputStream(new FileInputStream(imageFile));
        BufferedReader br = new BufferedReader(new InputStreamReader(dis));
        List bFileList = new ArrayList();
        try {
            byte b;
            while (true) {
                b = dis.readByte();
                bFileList.add(b);
            }
        } catch (Exception e) { /* handle the EOF the lazy way. */
        }
        byte[] fileBytes = new byte[bFileList.size()];
        for (int i = 0; i items = new ArrayList(); ItemRecordField item = null;
        for (int i = 0; i < 4; i++) {
            item = ItemRecordField.Factory.newInstance();
            item.setRow(0);
            // no repeating rows for this example
            switch (i) {
                case 0:
                    item.setFieldId("status");
                    item.setFieldValue("NEW");
                    break;
                case 1:
                    item.setFieldId("assigned_to");
                    item.setFieldValue(ServiceClientHelper.generatedUserId);
                    break;
                case 2:
                    item.setFieldId("SHORT_DESCR");
                    item.setFieldValue("This is the short desc or title");
                    break;
                case 3:
                    item.setFieldId("DESCRIPTION");
                    item.setFieldValue("this is the long desc");
                    break;
                default:
                    item.setFieldId("unknown");
                    item.setFieldValue("");
                    break;
            }
            items.add(item);
        }
        request.setItemFieldsArray(items.toArray(new ItemRecordField[items.size()]));
        request.setSendEmail(false);
        List itemDocumentFields = new ArrayList();
        ItemFileField document = ItemFileField.Factory.newInstance();
        document.setCharset("UTF-8"); document.setContentType("image/gif");
        document.setDescription("This is a test image file in a document field!");
        document.setFile(fileBytes); document.setDdName("DOCUMENT");
        document.setFileName(imageFile.getName()); itemDocumentFields.add(document);
        request.setItemDocumentsArray(itemDocumentFields.toArray(new
            ItemFileField[itemDocumentFields.size()]));
        InsertItemResponseDocument resEnvelope = stub.insertItem(reqEnvelope);
        InsertItemResponse response = resEnvelope.getInsertItemResponse().getReturn();
        if (response.getSuccess()) {
            System.out.println("success: [" + response.getReturnCode() + "] : " +
                                              response.getReturnMessage());
            System.out.println("Item [" + response.getItemId() + "] was created.");
            CREATED_Item_ID = response.getItemId();
        } else {
            System.out.println("failure: [" + response.getReturnCode() + "] : " +
                                              response.getReturnMessage());
        }
        } catch (Exception e) {
            e.printStackTrace();
            System.err.println("\n\n\n");
        }
    }
    public static void testUpdateItem(EVItemServiceStub stub) {
        try {
            File imageFile = new File("./test.GIF");
            DataInputStream dis = new DataInputStream(new FileInputStream(imageFile));
            BufferedReader br = new BufferedReader(new InputStreamReader(dis));
            List bFileList = new ArrayList();
            try {
                byte b;
                while (true) {
                    b = dis.readByte();
                    bFileList.add(b);
                }
            } catch (Exception e) { /* handle the EOF the lazy way. */
            }
            byte[] fileBytes = new byte[bFileList.size()];
            for (int i = 0; i
                items = new ArrayList();
                ItemRecordField item = ItemRecordField.Factory.newInstance(); item.setRow(0);
                // no repeating rows for this example
                item.setFieldId("SHORT_DESCR");
                item.setFieldValue("This is the short desc or title -- changed!");
                items.add(item);
                request.setItemFieldsArray(items.toArray(new ItemRecordField[items.size()]));
                request.setSendEmail(false);
                List itemImageFields = new ArrayList();
                ItemFileField image = ItemFileField.Factory.newInstance();
                image.setCharset("UTF-8");
                image.setContentType("image/gif");
                image.setDescription("This is a test image file in a image field!");
                image.setFile(fileBytes);
                image.setDdName("IMAGE");
                image.setFileName(imageFile.getName());
                itemImageFields.add(image);
                request.setItemImagesArray(itemImageFields.toArray(new
                    ItemFileField[itemImageFields.size()]));
                UpdateItemResponseDocument resEnvelope = stub.updateItem(reqEnvelope);
                UpdateItemResponse response =
                    resEnvelope.getUpdateItemResponse().getReturn();
            if (response.getSuccess()) {
                System.out.println("success: [" + response.getReturnCode() + "] : " +
                                                  response.getReturnMessage());
                System.out.println("Item [" + response.getItemId() + "] was changed.");
                CREATED_Item_ID = response.getItemId();
            } else {
                System.out.println("failure: [" + response.getReturnCode() + "] : " +
                                                  response.getReturnMessage());
            }
            } catch (Exception e) {
                e.printStackTrace();
                System.err.println("\n\n\n");
            }
        }