Operation Validation Rules and Error Messages

Validation rules are enforced during MBO development, and, in some cases, when you deploy the MBO to Unwired Server. Messages are generated when validation rules are violated.

MBO operation validation rules and error messages
Severity and message Cause Action

Error: Invalid operation name: '<Oper Name>'. A valid identifier name must begin with an alphabetic character or an underscore, followed by alphanumeric characters or underscores.

The operation name is invalid.

Enter a valid name.

Error: Invalid operation: '<Oper Name>', name cannot be a Java or C# language keyword.

The operation name is a Java or C# keyword, such as binary, boolean, byte, char, date, datetime, time, decimal, double, float, object, int, integer, long, short, string, switch, and so on.

Do not use Java or C# keywords as operation names.
Note: "create", "update", and "delete" are reserved keywords for operations if used for a different type of operation than that of the name. For example, an operation named "create" can only be used for a Create operation, and not for Update or Delete operations.

Error: Invalid operation name: '<Oper Name>' ,the length must be less than 64.

The length of the operation name is longer than 64 characters.

Enter a valid name shorter than 64 characters.

Error: Duplicate operation name: ‘{0}’. The name is case-insensitive.

Duplicate operation name.

Enter a valid and unique name.

Error: Duplicate name: '<Oper Name>' in the mobile business object.

The operation name is the same as the MBO name to which it belongs.

Enter a valid name.

Error: Duplicate name: '<Oper Name>' in the object query.

The operation name is the same as an object query for this MBO.

Enter a valid name.

Error:The name: '<Oper Name>' is a duplicate of the query name "FindAll". User checks to generate ‘FindAll’ query and also define an operation named ‘FindAll’. Use another valid name or uncheck the button to generate ‘FindAll’ query.

Error: The name: '<Oper Name>' duplicates with an attribute name.

The operation name is the same as an attribute name for the MBO.

Enter a valid name.

Warning: Operation name '<Oper Name>' starts with ‘findby’, which may cause name conflict when generating client code.

The operation name cannot start with "findby."

Enter a valid name.

Error:Invalid '<Oper Name>' name: name cannot be empty. User does not specify the name for operation. Specify a valid name for operation.

Warning: Operation is not bound to the back-end data source: '<Oper Name>'.

The operation is not bound to a data source.

Bind a data source to the operation.

Error: If a mobile business object has no attributes, the operation '<Oper Name>‘s type must be set to ‘OTHER’.

An operation type other than "other" has been defined for the MBO, and no attributes are defined.

Only "other" operations support no attributes. Change the operation type to "other", or add attributes to the MBO.

Error: argument '<Para Name>' cannot have ‘Fill from attribute’ as the type of the operation '<Oper Name>' is ‘OTHER’.

An "other" operation argument has a Fill from attribute mapping set.

Since "other" operations are static from a code generation perspective, remove all Fill from attribute mappings from "other" operation arguments.

Error: The response representation of the ''UPDATE'' operation ‘<Operation Name>’ with ''Apply results to the cache'' cache policy does not have an XSLT defined.

For restful Web service data sources, If an MBO update operation does not have an XSLT associated with it and the "Apply results to the cache" cache policy is set, after deployment to the server, NullPointException will be thrown during the execution.

Add an XSLT for the response representation.

Error:The ''UPDATE'' operation ‘<Operation Name>’ with ''Apply results to the cache'' cache policy does not have response representation. For restful web service data source, If an update operation of MBO doesn't have an XSLT associated with it and the "Apply results to the cache" cache policy is set, after deployment to the server, NullPointException will be thrown during the course of execution. Add a response representation for the Update operation and bind an XSLT for it.

Error: The ''UPDATE'' operation ''<Operation Name>'' with ''Apply results to the cache'' cache policy does not have XSLT.

For SOAP or WSDL based data sources, If an MBO update operation does not have an XSLT associated with it and the "Apply results to the cache" cache policy is set, after deployment to the server, NullPointException will be thrown during execution.

Add an XSLT for update operation.

Error: Operation ''{0}'' should not have the ''Invalidate the cache'' policy since the MBO is in a ''DCN'' cache group.

The ‘Invalidate the cache’ policy was set on an operation whose MBO is in a ‘DCN’ cache group.

Remove the policy from the operation.

Warning: No arguments are available from the root element: ''{0}''

A root element was specified without an argument from the “Define Representation” dialog for a RESTful Web service Request.

Select a root element that includes at least one argument.

Warning: No arguments are available from the root element ''{0}'' of the request representation ''{1}''

The MBO developer clicks “OK” to close the “Define Representation” dialog after specifying a root element without an argument when creating a new operation for a RESTful MBO.

Click “Edit” again to invoke the Define Representation dialog and select a valid root element.

Error: The default XSLT cannot be generated. Define the XSLT manually.

The MBO developer selects a root element without an argument from the “Define XSLT” dialog when adding an XSLT to the response.

Click “Cancel” to close the “Define XSLT” dialog, select a valid root element, and click “Add” again.

Warning: Specify an XML representation for the successful state transfer

An XSLT has not been added from the “Define Representation” dialog for a RESTful response.

Click “Add” to add an XSLT.

Error: The details or reference of the representation ''{0}'' is missing in operation: ''{1}''

For a RESTful response, “Response” is selected but an XSLT has not been added, or a reference set. For RESTful request, “Request” is selected, but an XSD file has not been set, or a valid root element is missing. Set from the “New Operation” wizard for a RESTful Response.

If the error is for response, then click “Edit” button for response to invoke “Define Representation” dialog, and add at least one XSLT. If the error is for request, then click “Edit” button for request to invoke “Define Representation” dialog select a valid root element .

Warning: For operation ''<name>'' with cache policy ''Apply merge of operation input/output'', if any output mappings are defined, all primary key attributes should be mapped to output results. The following primary key attributes are not mapped: <list of attribute names>.

The operation is using the “Apply merge of operation input/output” cache policy, and at least one output mapping was added for an attribute of the MBO. There may be output mappings for some primary key attributes (if there is more than one primary key attribute defined), but not all primary key attributes have output mappings defined.

Add output mappings for all primary key attributes of the MBO that has the operation.

Error: For operation ''<name>'' with cache policy ''Apply output of ENTITY READ'', all primary key attributes must be mapped to output results. The following primary key attributes are not mapped: <list of attribute names>.

The operation is using the “Apply output of ENTITY READ operation” cache policy, and not all primary key attributes have output mappings defined.

Add output mappings for all primary key attributes of the MBO that has the operation.

Error: For operation ''<name>'' with cache policy ''Apply output of ENTITY READ'', all primary key attributes must be mapped to output results, but the operation does not have output.

The operation is using the “Apply output of ENTITY READ operation” cache policy, which requires all primary key attributes be mapped to operation results. But the operation does not define any output results.

Define output results for the operation that can be mapped into all the primary key attributes of the MBO containing the operation.

Warning: Operation ''<name>'' does not have output mappings to all MBO attributes in the composite graph and will result in inconsistent data contents between Unwired Server Cache and EIS data source.

The operation is using the “Apply merge of operation input/output” cache policy, but does not have output mappings defined for all attributes of all MBOs in the composite graph. As a result, the cache may only reflect changes to the attributes that have output mappings, but not the other attributes of the composite graph.

Define output mappings for all attributes of all MBOs in the composite graph.

Error: Operation ''<name>'' should not set both ''Invalidate the cache'' and ''Apply merge'' policies when multiple output results are mapped.

If the operation uses the “Apply merge of operation input/output” cache policy and outputs to all the MBOs in the composite graph, the “Invalidate the cache” policy is redundant and has a negative impact on performance.

Select either the “Invalidate the cache” or “Apply merge of operation input/output” cache policy, but not both.

Error: A mobile business object cannot have more than one operation of type ''ENTITY READ''. Mobile business object ''<name>'' already has an ''ENTITY READ'' operation.

There is already an ENTITY READ operation defined for the MBO.

Do not define more than one ENTITY READ operation in a composite graph.

Error: All primary key attributes, except those propagated from load arguments, must be mapped into input arguments for the ''ENTITY READ'' operation ''<name>''.

Some or all of the MBO's primary key attributes are not used as Fill from attributes for the operation input arguments.

Use all primary key attributes of the MBO containing the ENTITY READ operation as Fill from attributes for the operation arguments (primary key attributes propagated from load arguments do not need to be mapped).

Error: An ''ENTITY READ'' operation is defined for mobile business object ''<mbo name>'' but can only be defined for the root mobile business object of the composite graph: ''<root mbo name>''.

An ENTITY READ operation is used to update the cache with an instance of a composite graph; this is currently supported only for the root of the composite graph.

Do not define an ENTITY READ operation on child MBOs of a composite graph; only on the root MBO.

Error: The operation ''<name>'' has set the ''Apply output of ENTITY READ'' cache policy, but there is no ''ENTITY READ'' operation defined.

The “Apply output of ENTITY READ operation” cache policy is used to invoke an ENTITY READ operation to update the cache, after the original operation is done. It is an error if the ENTITY READ operation is not defined.

Either do not use the “Apply output of ENTITY READ operation” cache policy, or define an ENTITY READ operation.

Error: An operation in a mobile business object that is the target of a composite relationship should not set the ''Apply output of ENTITY READ'' cache policy: ''<name>''.

The “Apply output of ENTITY READ operation” cache policy must only be used in an operation defined on the root MBO of a composite graph.

Do not use the “Apply output of ENTITY READ operation” cache policy in an operation in a child MBO.

Error: All attributes, except those propagated from load arguments, must be mapped to results for the ''ENTITY READ'' operation ''<name>''.

An ENTITY READ operation updates the cache with an instance of a complete composite graph, and requires all attributes of the composite graph have output mappings defined.

Make sure output results are defined that can be used as input to all attributes of all MBOs in the composite graph, and then define output mappings for all attributes of all MBOs in the composite graph (attributes propagated from load arguments do not require output mappings).

Error: For operation ''<name>'' with cache policy ''Apply merge of operation input/output'', when mapping multiple results, all attributes must be mapped (except attributes propagated from load arguments).

For a Create or Update operation using the “Apply merge of operation input/output” cache policy to update the cache with a complete instance of a composite graph, output mappings must be defined for all attributes of all MBOs in the composite graph. This error displays if attributes from more than one MBO have output mappings defined, but not all attributes from all MBOs.

Define output mappings for all attributes of all MBOs in the composite graph (attributes propagated from load arguments do not require output mappings).

Error: There is no output result for the ''ENTITY READ'' operation ''<name>''.

An ENTITY READ operation updates the cache with an instance of a complete composite graph, and requires all attributes of the composite graph have output mappings defined.

Make sure output results are defined that can be used as input to all attributes of all MBOs in the composite graph.

Warning: ''ENTITY READ'' operation ''<name>'' has been defined, but no operation has set the ''Apply output of ENTITY READ'' cache policy.

If no operation sets the “Apply output of ENTITY READ operation” cache policy, the ENTITY READ operation is not used.

Define a Create or Update operation on the root MBO of the composite graph, which uses the “Apply output of ENTITY READ operation” cache policy.

Warning: ''CREATE'' Operation ''<name>'' uses the ''Apply output of ENTITY READ'' cache policy, so only primary key attributes must be mapped to output columns. Additional output mappings will be ignored.

The ENTITY READ operation invoked by the CREATE operation only requires the primary key as input, so the CREATE operation only needs to output the primary key.

Remove output mappings for non-primary key attributes.

Warning: ''UPDATE'' Operation ''{0}'' uses the ''Apply output of ENTITY READ'' cache policy, so output mappings are not required and

The ENTITY READ operation invoked by the UPDATE operation only requires the primary key as input, which should be provided as input to the UPDATE operation, and so the UPDATE operation does not need to define any output mappings.

Remove all output mappings.

Warning: Operation ''<name>'' defines output mappings but does not set an ''Immediately update the cache'' policy. Output mappings will be ignored.

Output mappings are only needed if the operation updates the cache directly or via an ENTITY READ operation.

Remove all output mappings, or set an ''Immediately update the cache'' policy.