|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
COBOL, DFDL and importing the CobolDataDefinitionFormat |
« View previous topic :: View next topic » |
Author |
Message
|
EnOne |
Posted: Tue Sep 02, 2014 11:38 am Post subject: COBOL, DFDL and importing the CobolDataDefinitionFormat |
|
|
 Centurion
Joined: 09 Oct 2002 Posts: 100 Location: Kansas City
|
I am starting to work with DFDL instead of MRM on Broker 8.0.0.4
When I create a DFDL from a COBOL copybook there are two xsd files in the following file structure created.
Sample name for the copybook COPY0001.cbl
I created a new Library COPY0001_DFDL_Library, imported the cbl file and created the new DFDL.
Code: |
\COPY0001_DFDL_Library\
.project
COPY0001.xsd
\COPY0001_DFDL_Library\importFiles
COPY0001.cbl
\COPY0001_DFDL_Library\log
COPY0001.cobol.report.txt
\COPY0001_DFDL_Library\IBMDefined
CobolDataDefinitionFormat.xsd
|
Everything worked until I created a second DFDL Library following the same steps as before.
Code: |
\COPY0002_DFDL_Library\
.project
COPY0002.xsd
\COPY0001_DFDL_Library\importFiles
COPY0002.cbl
\COPY0001_DFDL_Library\log
COPY0002.cobol.report.txt
\COPY0001_DFDL_Library\IBMDefined
CobolDataDefinitionFormat.xsd
|
I was returned a laundry list of problems when I tried to deploy the new DFDL library to the same execution group as the first one.
What I eventually found was that you are unable to deploy multiple CobolDataDefinitionFormat.xsd files even if they are in different libraries to the same execution group.
My solution has been to create a third Library just for the CobolDataDefinitionFormat.xsd
Code: |
\CobolDataDefinition_DFDL_Project\
.project
\CobolDataDefinition_DFDL_Project\IBMdefined\
CobolDataDefinitionFormat.xsd
|
then manually edit the other two project to reference the same CobolDataDefinitionFormat.xsd file
BEFORE
Code: |
<xsd:import namespace="http://www.ibm.com/dfdl/CobolDataDefinitionFormat" schemaLocation="IBMdefined/CobolDataDefinitionFormat.xsd"/> |
AFTER
Code: |
<xsd:import namespace="http://www.ibm.com/dfdl/CobolDataDefinitionFormat" schemaLocation="../CobolDataDefinition_DFDL_Project/IBMdefined/CobolDataDefinitionFormat.xsd"/> |
finally delete the CobolDataDefinitionFormat.xsd from their libraries.
Yes, CobolDataDefinitionFormat.xsd is identical in each library
This seems complicated and is an overly manual process. I was wondering if someone came up with a more elegant solution. I do need to keep the new DFDL Libraries separate so creating a super-library for each execution group that contains all the xsd files isn't an feasible option. |
|
Back to top |
|
 |
kimbert |
Posted: Tue Sep 02, 2014 12:29 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
EnOne said:
Quote: |
What I eventually found was that you are unable to deploy multiple CobolDataDefinitionFormat.xsd files even if they are in different libraries to the same execution group |
That could be misunderstood. I assume that you have deployed them as Independent Resources ( i.e. not in an Application ).
There is a rule in WMB v8 and IIB v9 - you cannot have two copies of the same xsd in the same Application. In your case, you were not using any Applications ( correct me if I am wrong on that ) but all xsds that are deployed to the Execution Group as Independent Resources are subject to the rule as well.
The answer is to put each model into its own Application. If you need two models in the same Application then you will need to perform the fixup that you described.
IBM recognises that this is a problem for users - you can expect this to be fixed in a future version of the product. _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. |
|
Back to top |
|
 |
EnOne |
Posted: Wed Sep 03, 2014 7:13 am Post subject: |
|
|
 Centurion
Joined: 09 Oct 2002 Posts: 100 Location: Kansas City
|
Correct, I was using independent message flows and independent data structures not applications.
Thank you for the information that it will be addressed in a future version.
my execution group looks like this now
Code: |
TBROKER1
TEMP
TESTING
MessageFlow1
MessageFlow2
CobolDataDefinition_DFDL_Library
IBMDefined/CobolDataDefinitionFormat
COPY0001_DFDL_Library
COPY0001
COPY0002_DFDL_Library
COPY0002
|
TBROKER1 - name of Broker
TEMP, TESTING - execution groups
MessageFlow1, MessageFlow2 - message flows
CobolDataDefinition_DFDL_Library, COPY0001_DFDL_Library, COPY0002_DFDL_Library - libraries
CobolDataDefinitionFormat, COPY0001, COPY0002 - DFDL |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|