Author |
Message
|
KIT_INC |
Posted: Wed Jul 18, 2012 6:07 pm Post subject: java.lang.StackOverflowError when building bar file |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
I have a flow that contains a SOAP request node and a WSDL was provided by a client. I imported the WSDL into the message set which creates a deployable WSDL.
I droped the deployable WSDL to the flow and create the bar filw with the flow and the message set. But I got error and the bar file was not created.
The Error I received was
Processing file messageSet.mset
Failed to add file messageSet.mset to archive file.
java.lang.StackOverflowError
The clients said the WSDL was tested with SOAP UI and it works.
Where should I go from here ? Is there any other diagnostic information I can get to perform further PD ?
The environment is broker tookit V7003 on Windows |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Jul 19, 2012 4:50 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Yes, you can collect a user trace.
Try reimporting the WSDL, by right-clicking the message set project, select "New Message Definition File From."
You need two projects, a Message Flow project and a Message Set project. The WSDL belongs in the Message Set project.
Project -> Clean -> All _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
KIT_INC |
Posted: Thu Jul 19, 2012 6:14 pm Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
Hi lancelotlinc. how can I collect a user trace for building of the bar file. Yes, I have a message flow project and a message set project and I have cleaned project many times. Is there any place where I can get more diagnostic information on this java.lang.StackOverflowError. Since the error is happening at building of bar file time, there must be some kind of log that the toolkit is using for reporting hopefully this kind of error. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Fri Jul 20, 2012 5:15 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
You can turn on user trace and system trace for many mqsi commands. There are commands that IBM support will tell you to run. Open a PMR and they can provide the detail (I don't remember the detail, or I would post it for you).
Did you reimport the WSDL using the Import Wizard as described? , by right-clicking the message set project, select "New Message Definition File From." _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
KIT_INC |
Posted: Mon Jul 23, 2012 6:57 am Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
Quote: |
Did you reimport the WSDL using the Import Wizard as described? , by right-clicking the message set project, select "New Message Definition File From." |
I created a new workspace and a new message set project and create new message definition file from WSDL file. The msxd was created successfully with some warnings (against different attributes) saying
Quote: |
Attribute 'CUS_SIGN_DATE' has default CWF Length of zero. If it is used in a CWF message, review if zero is a suitable value. Physical format: 'Binary1'. LookupCustomer_InlineSchema1.mxsd TE_WSDL_MSP/TE_WSDL_MS/com/hertz/crm/v1 line 1532 Message Set Problem |
which I have seen in many other situations and I ignore them because I am not using CWF.
I then create the bar file and got the same error.
That is it fails solid with just the message set and nothing else in the work space.
Quote: |
You can turn on user trace and system trace for many mqsi commands |
I tried to see if I got the same error using mqsicreatbar command (then I can do tracing as suggested).
On this page of the V7 info cneter
http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fan19540_.htm&resultof=%22%6d%71%73%69%63%72%65%61%74%65%62%61%72%22%20
Quote: |
it says "You must run the command from the eclipse directory. The default location of the eclipse directory is C:\Program Files\IBM\WMBT700\eclipse on Windows 32–bit editions |
I am running V7 under WINXP (32 bit). But I do not have elcipse under C:\Program Files\IBM\WMBT700\
I try it anyway from the MQSI command console
Quote: |
C:\Program Files\IBM\WMBT700>mqsicreatebar -data C:\H\TEST_WSDL -b TEST.bar -p TEST_BAR -o C:\H\TEST_WSDL\TE_WSDL_MSP\TE_WSDL_MS\messageSet.mset
BIP0964E Incorrect "-o or -p" argument supplied to mqsicreatebar.
File "C:/H/TEST_WSDL/TE_WSDL_MSP/TE_WSDL_MS/messageSet.mset" does not exist or the project has not been specified with the -p flag.
BIP0964E Incorrect "-o or -p" argument supplied to mqsicreatebar.
File "C:/H/TEST_WSDL/TE_WSDL_MSP/TE_WSDL_MS/messageSet.mset" does not exist or the project has not been specified with the -p flag.
BIP0964E Incorrect "-o or -p" argument supplied to mqsicreatebar.
File "C:/H/TEST_WSDL/TE_WSDL_MSP/TE_WSDL_MS/messageSet.mset" does not exist or the project has not been specified with the -p flag.
BIP0964E Incorrect "-o or -p" argument supplied to mqsicreatebar.
File "C:/H/TEST_WSDL/TE_WSDL_MSP/TE_WSDL_MS/messageSet.mset" does not exist or the project has not been specified with the -p flag.
BIP0965E Error compiling files in mqsicreatebar.
The message is:
""
|
I then create a project TEST_BAR in the work space C:/H/TEST_WSDL and re-issue the command
Quote: |
C:\Program Files\IBM\WMBT700>mqsicreatebar -data C:\H\TEST_WSDL -b TEST.bar -p TEST_BAR -o C:\H\TEST_WSDL\TE_WSDL_MSP\TE_WSDL_MS\messageSet.mset
BIP0964E Incorrect "-o or -p" argument supplied to mqsicreatebar.
File "C:/H/TEST_WSDL/TE_WSDL_MSP/TE_WSDL_MS/messageSet.mset" does not exist or the project has not been specified with the -p flag.
BIP0964E Incorrect "-o or -p" argument supplied to mqsicreatebar.
File "C:/H/TEST_WSDL/TE_WSDL_MSP/TE_WSDL_MS/messageSet.mset" does not exist or the project has not been specified with the -p flag.
BIP0964E Incorrect "-o or -p" argument supplied to mqsicreatebar.
File "C:/H/TEST_WSDL/TE_WSDL_MSP/TE_WSDL_MS/messageSet.mset" does not exist or the project has not been specified with the -p flag.
BIP0964E Incorrect "-o or -p" argument supplied to mqsicreatebar.
File "C:/H/TEST_WSDL/TE_WSDL_MSP/TE_WSDL_MS/messageSet.mset" does not exist or the project has not been specified with the -p flag.
BIP0965E Error compiling files in mqsicreatebar.
The message is:
""
|
I am not sure if this is because I did not issue the command from the eclipse directory. |
|
Back to top |
|
 |
smdavies99 |
Posted: Mon Jul 23, 2012 7:27 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Quote: |
I am running V7 under WINXP (32 bit). But I do not have elcipse under C:\Program Files\IBM\WMBT700\
|
So where did you install the toolkit to then?
On my system I ue C:\IBM as the root.
Code: |
C:\IBM\WMBT700>dir *.exe
Volume in drive C has no label.
Volume Serial Number is 6000-4645
Directory of C:\IBM\WMBT700
12/03/2010 14:29 57,344 eclipse.exe
12/03/2010 14:29 28,672 eclipsec.exe
19/05/2010 20:02 144,624 mb.exe
10/11/2010 15:23 38,640 MBPatternInstaller.exe
12/01/2010 14:28 39,664 mqsiapplybaroverride.exe
08/04/2011 13:30 55,096 mqsicreatebar.exe
12/01/2010 14:29 39,664 mqsicreatemsgdefs.exe
12/01/2010 14:39 39,664 mqsicreatemsgdefsfromwsdl.exe
12/01/2010 14:28 39,664 mqsireadbar.exe
9 File(s) 483,032 bytes
0 Dir(s) 37,401,210,880 bytes free
C:\IBM\WMBT700>
|
both eclipse.exe and mqsicreatebar.exe are present in this directory.
This is 7.0.0.3 _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
KIT_INC |
Posted: Mon Jul 23, 2012 8:12 am Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
Quote: |
The default location of the eclipse directory is C:\Program Files\IBM\WMBT700\eclipse on Windows 32–bit editions |
So I was looking for a directory call eclipse.
My toolkit install is using all defaults. So I have exactly the same folder as shown by you.
C:\Program Files\IBM\WMBT700\ with the eclipse.exe, eclipsec.exe, eclipse.ini...
That's (C:\Program Files\IBM\WMBT700\) where I ran the mqsicreatebar |
|
Back to top |
|
 |
KIT_INC |
Posted: Mon Jul 23, 2012 9:21 am Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
Found out a bit more about the problem.
Since now I have the WSDL tested in it's own test Message set Project/Message set. If I do not select MRM as a supported message domain. I can create the bar file with the message set with no stackoverflow error.
But in my real situation, I need this WSDL to be inside the message set projects with other message definitions which make it not possible for me to remove MRM as one of the supported domains.
looks like that there is something in my WSDL that is not compatible with MRM domain. But how can I find out what it is without additional diagnostic information. |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Jul 23, 2012 9:24 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Broker v7 does not use MRM to parse and handle XML.
Having a WSDL inside a message set has nothing to do with using MRM.
You do not need MRM to use SOAP flows. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jul 23, 2012 9:27 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
KIT_INC wrote: |
But in my real situation, I need this WSDL to be inside the message set projects with other message definitions which make it not possible for me to remove MRM as one of the supported domains. |
Why? What's the requirement to have it in the same message set? There's an obvious advantage to having related message formats in the same message set, especially if they share message elements, but by definition a WSDL can't have anything in common with an MRM message.
So why does it need to be in the same message set? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
KIT_INC |
Posted: Mon Jul 23, 2012 10:51 am Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
I am more an implementer than a developer or designer. Someone else set the policy on which message belong to which message set.
The WSDL contains both the SOAP request message and the SOAP reply message. When we create the message definitions using WSDL, we have the message defitions for both the request and the reply under the same message set. if we have to output the body of the SOAP reply in CWF format I have to check the MRM box as a supported message domain. Is that right ? I understand I can have the message definition of the reply SOAP body in a separate message set. That will means that I have to maintain two message sets (one for WS and one for MRM) if the SOAP reply changes. Please correct me if I am going down the wrong path. |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Jul 23, 2012 10:58 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It's not a SOAP message if it's in CWF format.
So it's *not* the SOAP Reply message.
It's the reply message from the flow that calls the web service.
It shouldn't be strictly necessary to separate these into separate message set projects, although there are good reasons for doing so (better change management, for example).
Have you confirmed that the Toolkit install is at 7.0.0.3? Do you get the stack overflow with an empty message set project that has XMLNSC and MRM checked? Do you get the stack overflow if you only add the WSDL to this message set project? or does it only occur when you have both the WSDL and the mrm message definitions included?
Are the MRM message definitions newly created or are they imported/migrated from previous levels? |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jul 23, 2012 11:43 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
It's not a SOAP message if it's in CWF format.
So it's *not* the SOAP Reply message.
It's the reply message from the flow that calls the web service. |
mqjeff wrote: |
It shouldn't be strictly necessary to separate these into separate message set projects, although there are good reasons for doing so (better change management, for example). |
It also highlights that the messages are not dependant on each other even if they are reliant. If the SOAP reply (in the sense of the response from the web service) changes it's not certain (and I think unlikely) they'd be any impact on the CWF message going back to whoever's using the flow.
One of the reasons you have WMB doing this. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
KIT_INC |
Posted: Tue Jul 24, 2012 10:25 am Post subject: |
|
|
Knight
Joined: 25 Aug 2006 Posts: 589
|
The flow is like this
MQInput- compute1-SOAPRequest - SOAPExtract - compute2 - MQoutput
MQInput Parse CWF message (MSG1) from MF COBOL
Compute1 maps MSG1 to SOAPRequest (MSG2)
SOAPExtract remove SOAP headers from SOAPReply (MSG3)
Compute2 maps MSG3 to MSG4 (CWF reply back to MF)
MSG1 and MSG4 are CWF (MRM domain). Message definitions cretaed by COBOL importer
MSG2 and MSG3 are SOAP (WS XMLNS) . Message definitions created by importing WSDL provided.
If I have all 4 messages in the same message set, I have to check the MRM domain for MSG1 and MSG4. However, I got the stack over flow error when building the bar file.
If I put MSG2 and MSG3 in a separate message set with MRM support unchecked, it will work.
There should be no technical restriction on putting these messages inside the same message set. Even I can bypass the problem by putting MSG2 and MSG3 in a separate message set with no MRM support,
I am more concern about the lack of diagnostic information on this type of error. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jul 24, 2012 10:39 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
KIT_INC wrote: |
There should be no technical restriction on putting these messages inside the same message set. |
Or if there is, it should be more clearly documented.
KIT_INC wrote: |
I am more concern about the lack of diagnostic information on this type of error. |
It's perhaps of greater concern that the only indication of trouble is a Java dump.
If you can reproduce the problem as easily as you indicate, I think it's worth a PMR. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|