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