Known Issues for Sybase Unwired WorkSpace – Mobile Business Object Development

Learn about known issues and apply workarounds for Unwired WorkSpace and mobile business object (MBO) development.

Issue #Description
RTC-153
URL template missing from operations bound to REST Web service data sources shows error in the Property view but not in the MBO diagram.

Deployment fails for projects that are missing the URL template.

Workaround: From Unwired WorkSpace:
  1. Click the operation. 
  2. In the Definition section of the Properties view, click Edit.
  3. In the Edit definition dialog, click OK to close the dialog. 
  4. Redeploy the project.
RTC-151
When the MBO Developer adds load arguments that map to personalization keys, selecting Refresh may fail due to missing default values for the load arguments. The default values of the personalization keys are not used when performing the refresh. 

Workaround:  Unmap the personalization key field, which allows you to specify the necessary default values so that the execution to the EIS retrieves MBO metadata successfully.

RTC-138
Poor Unwired WorkSpace performance when editing an Unwired WorkSpace project that contains many MBOs (hundreds), when accessing the project from poor performing environments. For example from a virtual machine (VM).
Workaround: A best practice is to separate the MBOs into different projects then deploy them into a single application. This practice also makes MBO development easier. For example, the developer need not search hundreds of MBOs to find a particular MBO to view or edit. In cases where it is not possible to split large numbers of MBOs into separate projects, try either:
  • Accessing the project from a personal computer that provides good performance, or
  • Modifying Eclipse startup options to increase the stack and memory (heap) size. For example:
    -Xms1024M -Xmx1152M -XX:MaxPermSize=512M  
RTC-50
After performing an Update deployment of an MBO to Unwired Server, if an MBO is deleted from the client application that has an old subscription, the MBO is deleted from the EIS and Unwired Server cache, but not from the device's local database.

Workaround: After an Update deployment, synchronize client applications that have old subscriptions. After that, all operations are processed correctly.

RTC-26
The Web service connection profile must be connected when the users deploy, build deployment packages, and generate Object API code.

If you try to perform any of the above tasks without being connected to the Web service connection profile, you see a null OperationMetaData exception error message and the task fails.

Workaround: Ensure that Unwired WorkSpace is connected to the connection profile to which the Web service MBO is bound.

RTC-25
Do not map client parameters to a structure type operation argument's field, always create a structure client parameter and map it to the operation argument at the structure's root level.

Unwired WorkSpace does not generate an error when you improperly map the client parameter, which may cause a runtime error.

Workaround: When mapping client parameters to operation parameter arguments to determine how the client passes information to the EIS, map them only to top level arguments for all EIS types.

CR-713043
Foreign key constraint violation error message.

You see a foreign key constraint violation error message if you create an MBO by dragging and dropping a table in which the foreign key and the primary key are both "identity" types.

Workaround: The MBO is created, and you can safely ignore these error messages.

CR-709701
Mapping an MBO create, update, or delete operation parameter to both a personalization key and a client parameter may cause failure on device.

If both are mapped, the client parameter value is ignored and the personalization key value is used. You may see:

Client parameter 'GENERALDATA' might not be used, 
as the mapped argument has 'Fill from Attribute' or 
'Personalization Key' specified.

Although deployment and code generation succeeds, you may still get a NullPointerException in the server log during runtime, and the operation fails on the device.

Workaround: Map create, update, or delete operation parameters to either a personalization key or a client parameter, but not both.

CR-709076
After Unwired WorkSpace crashes, the current Eclipse workspace retains inconsistent states that may prevent a successful restart.

Workaround: This is a known Eclipse issue. Remove the following file from the problematic Eclipse workspace, then restart Unwired WorkSpace: <The workspace used in the previous crash>\.metadata\.plugins\org.eclipse.core.resources\.snap.

CR-705643
Unwired WorkSpace does not refresh the attributes of a MBO based on a stored procedure after the stored procedure definition has been changed in the EIS.

Workaround: After changing the stored procedure definition in the EIS re-create the JDBC MBO.

CR-705313
Messages about missing directories and directory contents when you generate ObjectAPI code.
When the MBO developer regenerates ObjectAPI code from the Unwired WorkSpace Code Generation wizard, if Clean up destination before code generation is selected in the Configure Options page, an error similar to this appears in the Error Log view:
Resource '/<Mobile Application Project name>
/Generated Code/temp_afx does not exist. Resource '
/<Mobile Application Project name>/Generated Code/genfiles' 
does not exist.

Workaround: Ignore the error messages. The objectAPI code generates successfully.

CR-702696
Adding load arguments with "Propagate to attributes" that have no corresponding datasource columns, then selecting Refresh, may fail due to missing load argument default values.

Workaround: Unmap the "Propagate to attribute" field, which allows you to specify the necessary default values so that the execution to the EIS successfully retrieves MBO metadata.

CR-702691
Calls from Unwired WorkSpace to the EIS during MBO creation/development cannot distinguish syntax from data errors.

When adding an operation and corresponding SQL statement, Unwired WorkSpace executes the SQL statement to verify it is correct. Sometimes the return error is not a syntax error but a data error (for example, a foreign key restriction). The EIS API cannot distinguish syntax from data errors and exits the wizard.  

Workaround: Be aware of the EIS schema to which you are binding the MBO. For example, verify that database data is correct, and enter the correct default values so the SQL statements execute correctly.

CR-702643
Output mapping warning message for multilevel insert operations

During deployment, output mappings are automatically generated for Create operations to support multi-level insert operations. The set of generated output mappings may not be the same as the output mappings configured in Unwired WorkSpace for the operation. However, the final set of output mappings is a union of the two sets, so the user-configured output mappings are retained. The MBO developer may see a warning in the output mapping tab indicating that some output mappings are ignored when using the "Apply Output of ENTITY READ" operation cache policy.

Workaround: Ignore the warning since the output mappings are automatically generated during deployment.

CR-703200
MBO operations that include old value arguments that use large object types should be ignored, but SQL clauses still include the old value arguments.

Unwired WorkSpace automatically creates an MBO with old value arguments for operations. If the datasource includes operation arguments with large object types (BigString/BigBinary), Unwired WorkSpace shows a warning message that says the old value argument with large object types are ignored, but the SQL definition generated still includes the old value argument with the large object type.

Workaround: Manually remove any SQL clauses that include old value arguments with large object types.

CR-702005
MBO operations bound to SAP BAPIs that use the "Invalidate the cache" policy may not refresh the Unwired Server cache.

Since SAP BAPI operations run asynchronously within the SAP system, the operation may not complete before Unwired Platform attempts to refresh the cache with new or updated results if you are using the "Invalidate the cache" policy.

Workaround: Do not use the "Invalidate the cache" policy with MBO operations that are bound to an SAP BAPI.

CR-701440
After starting Unwired WorkSpace, you may see Eclipse OSGI bundle related error message(s) in the Error Log view, for example, org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException.

Workaround: Ignore these errors.

CR-689859
Sybase Unwired Platform Unwired WorkSpace Welcome page moves to standby mode after Eclipse is started.

This is due to a known Eclipse 3.7 bug (https://bugs.eclipse.org/bugs/show_bug.cgi?id=355560). In standby mode, the Welcome page is docked to the right as a view in the Mobile Development perspective, since the Problem View is part of the Mobile Development perspective.

Workaround: Double-click the docked Welcome page to extend it to full screen.

CR-689707
Default runtime values requirements.

For an MBO operation, a non-nullable argument must get its runtime value from one of the following: client parameter, personalization key, default value, or fill-from-attribute. If a non-nullable argument already uses a fill-from-attribute or client parameter, its default value is ignored. Unwired WorkSpace still allows the user to input a default value.

Workaround: In this case, you need not set the default value, because it is not used during runtime.

CR-688956
Unwired WorkSpace fails during preview or test execute.

During MBO development, if the data volume is large, for example, either a large number of rows, or a large object in the returned result, Unwired WorkSpace may run out of memory and fail when you click Preview or Test Execute.

Workaround: Either do not select these options, or increase the Java VM arguments -Xss -Xms, and -Xmx in UnwiredWorkSpace.bat to increase the stack and memory (heap) size.

CR-688576
The Oracle datatype NCLOB is not supported.
Workaround: Convert the CLOBS datatype to a varchar datatype. There are two ways to do this:
  • Create a stored procedure and call it from the MBO. In the stored procedure, convert the CLOBS to varchar:
  • Create this Transact-SQL® statement, which fetches 4000 bytes of the CLOB: select dbms_lob.substr( x, 4000, 1 ) from T.

    The maximum varchar length allowed in Transact-SQL statements is 4000 bytes. You can increase this to 32KB. Sybase recommends that you use a stored procedure to process the BLOB in this way. For example:

    declare 
      my_var long; 
    begin 
      for x in ( select X from t ) 
      loop 
        my_var := dbms_lob.substr( x.X, 32000, 1 );
.
CR-682651
Unwired WorkSpace does not support saving files as PDF.

Invoking File > Save As Image File from the Object Diagram context menu fails if PDF is the image format.

This is a known Eclipse GMF bug. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=338380

Workaround: None.

CR-677453
If you uninstall Unwired WorkSpace, then reinstall it in a different directory, you get an ClassNotFoundException message if the old workspace is used and you connect using the JDBC connection profile.
Workaround: Update the driver definition to point to the correct path:
  1. From Unwired WorkSpace, select Window > Preferences > Sybase, Inc > Connectivity > Driver Definitions.
  2. Select the driver type, and click Edit.
  3. Click the Jar List tab, and edit the path of the JDBC driver.
  4. Reimport any mobile application projects that require the updated driver for connecting to the database.
CR-676634
For Web Service and other data sources with complex structures and deeply nested element trees, StackOverflow or OutOfMemory messages may occur, or some of the operation input parameters may not be generated properly.
In some cases, you see this error:
The assigned stack size and/or heap size is 
not sufficient for the attempted operation.

Workaround: Increase the stack and heap size of the Eclipse runtime parameter in UnwiredWorkSpace.bat with -Xmx, -Xms, -Xss arguments, or reduce the complexity or nested level of the Web Service definition of the MBO operation.

CR-642942
Cannot generate code with Javadoc option enabled to a folder containing Chinese characters.

When using the Code Generation wizard, if you enable the option to generate Javadoc, you cannot generate the code to a folder containing Chinese characters without first changing the language for non-Unicode programs to Chinese.

Workaround:
  1. Select Start > Settings > Control Panel.
  2. Double-click Regional and Language Options, then click the Advanced tab.
  3. From the drop-down list, select Chinese, and click Apply.
  4. Click OK.