updateItem
This API call updates an existing record in the ExtraView database. Except for the itemId, all fields are treated as optional. However, all defined business rules are executed and checked before and after the record is updated, therefore fields that are required or become required due to the rules must be provided.
Input
Class |
Name |
Type |
Required |
Details |
UpdateItemRequest |
userId |
String |
Yes |
The callers user name |
UpdateItemRequest |
password |
String |
Yes |
The callers password |
UpdateItemRequest |
itemId |
int |
? |
The int item id. This field is optional if itemIdStr is given, else it is required. It is recommended that you use itemIdStr |
UpdateItemRequest |
itemIdStr |
String |
? |
The String item Id. This field is optional if itemId is used. It is recommended that you use itemIdStr |
UpdateItemRequest |
sendEmail |
boolean |
Yes |
|
UpdateItemRequest |
itemFields |
Array[] |
Yes |
|
ItemRecordField |
fieldId |
String |
Yes |
|
ItemRecordField |
fieldTitle |
String |
Yes |
|
ItemRecordField |
fieldValue |
String |
No |
|
ItemRecordField |
row |
Integer |
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 |
UpdateItemResponse |
success |
boolean |
Yes |
True is succeeded False if failed |
UpdateItemResponse |
returnCode |
String |
No |
See Appendix for details |
UpdateItemResponse |
returnMessage |
String |
No |
Human readable message |
UpdateItemResponse |
itemId |
int |
Yes |
The int value of the ID of the inserted item |
UpdateItemResponse |
itemIdStr |
String |
Yes |
The recommended field to obtain the ID of the inserted item |
Example
public static void testUpdateItem(EVItemServiceStub stub) {
try {
UpdateItemDocument reqEnvelope = UpdateItemDocument.Factory.newInstance();
UpdateItemRequest request = reqEnvelope.addNewUpdateItem().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);
UpdateItemResponseDocument resEnvelope = stub.updateItem(reqEnvelope);
UpdateItemResponse response = resEnvelope.getUpdateItemResponse().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");
}
}