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 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 fileBytes[i] = bFileList.get(i);
}
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 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 fileBytes[i] = bFileList.get(i);
}
UpdateItemDocument reqEnvelope = UpdateItemDocument.Factory.newInstance();
UpdateItemRequest request = reqEnvelope.addNewUpdateItem().addNewRequest();
request.setUserId(ServiceClientHelper.ADMIN_USER_ID);
request.setPassword(ServiceClientHelper.ADMIN_PASSWORD);
request.setItemId(CREATED_Item_ID);

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