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

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