Troubleshooting Message Definition Objects

You can identify message definitions that require troubleshooting using the Problems view and the WorkSpace Navigator:

Problem #1:

A message definition that has a long name, or contains components with long names, fails to generate. When generating message definition objects, you may receive the following error:

Could not find the specified source file:

C:/Sybase/or50Dt/Eclipse/workspace/WorkSpaceProject/MessageDesigns/.wfbin/parsers/<message name>Parser.java

Solution #1:

Rename the message definition and its fields, containers, and other message components to names that are under 50 characters.

Problem #2:

A message definition fails to generate if any of its methods exceeds 65535 bytes, due to the static constraints of a class file. When generating message definition objects, you may receive the following error:

java.lang.Exception: Failed compiling.

Solution #2:

Limit class size by limiting the number of fields to 70 in each container. If a container requires more than 70 fields, split up the single container by adding multiple ordered containers and setting each container's Termination Type to None. This spreads the 70+ fields among several containers instead of putting all fields in a single container. Save the message definition and try to generate it again.

Problem #3

After generating objects from a message definition, the artifacts such as the JSO are not found in the expected directory.

Solution #3

This can occur when two message definitions are created with the same name and the operating system is not case-sensitive. For example, using the Message Definition editor, you can create two message definitions named PurchaseOrder and purchaseorder. On a Unix system, these will be two separate message definitions. However, on Windows, these will be seen as having the same name and therefore, there is a risk that one directory could overwrite the other. To prevent this issue from occuring, consider capitalization when determining naming conventions to be used for message definitions. See Creating a Message Definition

Developing Custom Classes for Transforming Message Definition Fields

Testing a Message Definition

Custom Wire Formats

Send your feedback on this help topic to Sybase Tech Pubs: pubs@sybase.com