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.
| 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. | 
| 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>' 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. | 
| 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: Parameter '<Para Name>' cannot have ‘Fill from attribute’ as the type of the operation '<Oper Name>' is ‘OTHER’. | An "other" operation parameter 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 parameters. |