If you are creating request and response business objects based on an XML
schema document, you must create a business object definition for each type of
XML document to be processed. The business object definition contains
structure information that is contained in the XML document's
schema. For example, if there is one request stream (a single schema
document), but four possible response stream types (four separate schema
documents), you must define five business object definitions. On the
other hand, if the request and response stream use the same schema, you need
only one business object definition. You can use the XML Object
Discovery Agent (ODA) to generate business object definitions based on schema
documents.
For information about how to define business object definitions for XML
documents, either using the XML ODA or manually, see the Data Handler
Guide.
The XML ODA does not support schemas that include multiple files for
element definitions with similar names. Accordingly, the XML ODA will
not correctly generate IBM WebSphere business object definitions for such
schemas. To work around this problem:
- Identify elements that are being used in multiple included files with
different definitions for the same name.
- Rename the element name in one of the included file by appending
"1" at the end of the name and save the modified file.
- Use XML ODA to generate CW Business Object definition for the schema and
save the file to a .in file.
- Open the .in file and replace the element name back to the original
name by removing all "1"s and re-save the .in file.
- Load in the business object definition file into your repository and
things should work now.
For example, schema file
BilingOrderCompletionContract.xsd, includes two files,
CRS.xsd and ORDERINP.xsd. And
ORDERINP.xsd includes DELV.xsd which also
includes DELVTAGS.xsd. The workaround for this
example is as follows:
- Identify element definitions with similar names: both
CRS.xsd and DELVTAGS.xsd have an element
called SLOT
- Rename element SLOT to SLOT1 in
CRS.xsd and save the file.
- Use the XML ODA to generate business object definition for
BillingOrderCompletionContract schema and save the definition to
BillingContract.in.
- Open BillingContract.in in a word processing
application, replace SLOT1 with SLOT, and re-save the
file.
- Repos_Copy BillingContract.in into your
repository.
- Note:
- With release 2.3 of the adapter for Telcordia, the XML ODA cannot
automatically select a key attribute for the top-level business object.
For business objects at all other levels, the XML ODA sets the first attribute
as the key. Accordingly, when you save XML ODA-generated objects in
Business Object Designer, an error message informs you that the top-level
object is missing a key attribute. Assign a key attribute that reflects
your business data and business object requirements, then re-save the
objects.
