ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Detailed XSL Transform Node Stack Trace

Post new topic  Reply to topic Goto page 1, 2  Next
 Detailed XSL Transform Node Stack Trace « View previous topic :: View next topic » 
Author Message
Urizen
PostPosted: Fri Sep 13, 2013 11:06 am    Post subject: Detailed XSL Transform Node Stack Trace Reply with quote

Novice

Joined: 11 Jul 2013
Posts: 22

Hi everyone,

I'm developing a message flow in Websphere Message Broker version 7.0.0.4 (fixpack ia91). I have the need to use the "XSL Transform Node" and, from a stylesheet, call a custom java function.
The XSL works fine in the toolkit, but when I deploy it to the Broker, it fails with a message saying that the stylesheet could not be compiled.
I've already checked the classpath and added the required libraries to the shared-classes folder.
I've activated the user trace and, also, checked the file XMLTTrace.log for the flow, but can't find any useful information.
Is there a way to activate some kind of full stack trace for java Exceptions?, I need more information about who's throwing the original exception, and the possible causes too.
The traces I've been reading only have this:

Code:

com.ibm.xsl.exmlt.TransformRequestException: Transformation failure when processing Stylesheet deployed:./Transformations/massiveSelectCustomerOperationByExampleCanonic/Channel2Backend.xsl
javax.xml.transform.TransformerConfigurationException: No se ha podido compilar la hoja de estilos
   at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:863)
   at com.ibm.xsl.exmlt.StylesheetCache.preprocessStylesheet(StylesheetCache.java:740)
   at com.ibm.xsl.exmlt.StylesheetCache.getPreprocessedStylesheet(StylesheetCache.java:644)
   at com.ibm.xsl.exmlt.StylesheetSelector.getTransformer(StylesheetSelector.java:372)
   at com.ibm.xsl.exmlt.StylesheetSelector.performSelection(StylesheetSelector.java:677)
   at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:615)
   at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:547)
   at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:954)
   at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
   at com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
   at com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)
   at net.technisys.multichannel.wmb.InitializerNode.evaluate(InitializerNode.java:64)
   at com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:232)
   at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
[/code]

Last edited by Urizen on Fri Sep 13, 2013 11:32 am; edited 1 time in total
Back to top
View user's profile Send private message
Urizen
PostPosted: Fri Sep 13, 2013 11:09 am    Post subject: Reply with quote

Novice

Joined: 11 Jul 2013
Posts: 22

I forgot to say that using a trace node in the failure terminal of the XSL Tranform Node does not help me... the information is almost the same:

Code:

 ( ['MQROOT' : 0xa4f2780]
                                         (0x01000000:Name):RecoverableException = (
                                           (0x03000000:NameValue):File                 = 'F:\build\S700_P\src\DataFlowEngine\ImbDataFlowNode.cpp' (CHARACTER)
                                           (0x03000000:NameValue):Line                 = 1073 (INTEGER)
                                           (0x03000000:NameValue):Function             = 'ImbDataFlowNode::createExceptionList' (CHARACTER)
                                           (0x03000000:NameValue):Type                 = 'ComIbmXslMqsiNode' (CHARACTER)
                                           (0x03000000:NameValue):Name                 = 'QueryServiceFlow/QueryServiceFlow#FCMComposite_1_2.SubFlows/QSFSubFlow#FCMComposite_1_7' (CHARACTER)
                                           (0x03000000:NameValue):Label                = 'QueryServiceFlow.QueryServiceFlow.QSFSubFlow.XSL Request' (CHARACTER)
                                           (0x03000000:NameValue):Catalog              = 'BIPmsgs' (CHARACTER)
                                           (0x03000000:NameValue):Severity             = 3 (INTEGER)
                                           (0x03000000:NameValue):Number               = 2230 (INTEGER)
                                           (0x03000000:NameValue):Text                 = 'Node throwing exception' (CHARACTER)
                                           (0x01000000:Name     ):RecoverableException = (
                                             (0x03000000:NameValue):File     = 'XMLTransformNode.java' (CHARACTER)
                                             (0x03000000:NameValue):Line     = 984 (INTEGER)
                                             (0x03000000:NameValue):Function = 'transformData' (CHARACTER)
                                             (0x03000000:NameValue):Type     = '' (CHARACTER)
                                             (0x03000000:NameValue):Name     = '' (CHARACTER)
                                             (0x03000000:NameValue):Label    = '' (CHARACTER)
                                             (0x03000000:NameValue):Catalog  = 'BIPmsgs' (CHARACTER)
                                             (0x03000000:NameValue):Severity = 3 (INTEGER)
                                             (0x03000000:NameValue):Number   = 4447 (INTEGER)
                                             (0x03000000:NameValue):Text     = 'Error during transformation' (CHARACTER)
                                             (0x01000000:Name     ):Insert   = (
                                               (0x03000000:NameValue):Type = 5 (INTEGER)
                                               (0x03000000:NameValue):Text = 'QSFSubFlow.XSL Request' (CHARACTER)
                                             )
                                             (0x01000000:Name     ):Insert   = (
                                               (0x03000000:NameValue):Type = 5 (INTEGER)
                                               (0x03000000:NameValue):Text = 'Transformation failure when processing Stylesheet deployed:./Transformations/massiveSelectCustomerOperationByExampleCanonic/Channel2Backend.xsl
                                       javax.xml.transform.TransformerConfigurationException: No se ha podido compilar la hoja de estilos
                                          at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:863)
                                          at com.ibm.xsl.exmlt.StylesheetCache.preprocessStylesheet(StylesheetCache.java:740)
                                          at com.ibm.xsl.exmlt.StylesheetCache.getPreprocessedStylesheet(StylesheetCache.java:644)
                                          at com.ibm.xsl.exmlt.StylesheetSelector.getTransformer(StylesheetSelector.java:372)
                                          at com.ibm.xsl.exmlt.StylesheetSelector.performSelection(StylesheetSelector.java:677)
                                          at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:615)
                                          at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:547)
                                          at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:954)
                                          at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
                                          at com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
                                          at com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)
                                          at net.technisys.multichannel.wmb.InitializerNode.evaluate(InitializerNode.java:64)
                                          at com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:232)
                                          at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
                                       ' (CHARACTER)
                                             )
                                           )
                                         )
                                       )



Thanks in advance.[/code][/quote]


Last edited by Urizen on Fri Sep 13, 2013 11:33 am; edited 1 time in total
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Fri Sep 13, 2013 11:29 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Please edit your posts to use code tags, above.

It seems your stylesheet has a typographical error.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Urizen
PostPosted: Fri Sep 13, 2013 11:39 am    Post subject: Reply with quote

Novice

Joined: 11 Jul 2013
Posts: 22

Sorry for not using code tags, it's already done.
By the other hand, I'm 100% sure that my stylesheet does not have typographical errors. In fact, I'm pretty sure the error is related to class loading and that kind of stuff, that's why I need a mechanism to deep trace the execution of the node... is there any jvm parameter or something like that?.
Thanks.ode tags, it's already done.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Fri Sep 13, 2013 11:47 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

What value is in Stylesheet name for the XSLTransform node as the principal sheet?

Note : The identified principal style sheet and all its relatively-referenced descendant style sheets are added automatically to the BAR file when you add a message flow to a BAR file (if both they and their parent style sheets are available).

This means you need all descendants in a relative directory that is accessible by your bar file build process, which I hope is driven by a command-line or a script.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Urizen
PostPosted: Mon Sep 16, 2013 4:29 am    Post subject: Reply with quote

Novice

Joined: 11 Jul 2013
Posts: 22

Hi,

My stylesheet is not established in the node properties, it's dynamically established in the environment using ESQL in a previous node.
Besides that, I'm sure that's not the problem: when I remove the call to the java function from the XSLT everything works just fine, and when I use another simple java function it works fine too.
The problem is with the java complex function I need to use, that's why I need more log level from the broker.
So I must ask again: is there any way to get more logs or more detailed info from the broker when this particular node fails?.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Mon Sep 16, 2013 4:38 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Urizen wrote:
Hi,

My stylesheet is not established in the node properties, it's dynamically established in the environment using ESQL in a previous node.
Besides that, I'm sure that's not the problem: when I remove the call to the java function from the XSLT everything works just fine, and when I use another simple java function it works fine too.
The problem is with the java complex function I need to use, that's why I need more log level from the broker.
So I must ask again: is there any way to get more logs or more detailed info from the broker when this particular node fails?.


User trace is a good place to start for this particular problem.

But of course you already knew this because you read this article.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Urizen
PostPosted: Mon Sep 16, 2013 4:47 am    Post subject: Reply with quote

Novice

Joined: 11 Jul 2013
Posts: 22

Hi,

Of course I read that article, and all that I found in the official documentation. None of them gave me a solution or a tip for increasing the log level, I would not have created this thread if they did... don't you think?.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Mon Sep 16, 2013 5:00 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Urizen wrote:
Hi,

Of course I read that article, and all that I found in the official documentation. None of them gave me a solution or a tip for increasing the log level, I would not have created this thread if they did... don't you think?.


So you did not learn how to turn on User trace ?
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Urizen
PostPosted: Mon Sep 16, 2013 5:06 am    Post subject: Reply with quote

Novice

Joined: 11 Jul 2013
Posts: 22

Are you kidding me?. I know how to use the user trace and I turned it on before creating this topic, I've already told that I need more detailed information than that.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Mon Sep 16, 2013 5:13 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Urizen wrote:
Are you kidding me?. I know how to use the user trace and I turned it on before creating this topic, I've already told that I need more detailed information than that.


The only other more detailed trace is Service trace; although you have to be good at scanning voluminous output.

User trace gives you quite alot of information. Service trace probably too much.
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
lancelotlinc
PostPosted: Mon Sep 16, 2013 5:18 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

The log info you posted gives you what you need to know: the fact that your XSL files cannot be located or cannot be loaded or that there is a typo in one of them.

"Transformation failure when processing Stylesheet deployed:./Transformations/massiveSelectCustomerOperationByExampleCanonic/Channel2Backend.xsl"

Does Channel2Backend.xsl exist ? Does it pass XML validation ?
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Tibor
PostPosted: Mon Sep 16, 2013 5:27 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

Sometimes you can find more info in stdout and stderr files of your execution group, e.g. on a Unix platform:
Code:
find $MQSI_WORKPATH/ -name std* -ls
Back to top
View user's profile Send private message
Urizen
PostPosted: Mon Sep 16, 2013 5:30 am    Post subject: Reply with quote

Novice

Joined: 11 Jul 2013
Posts: 22

Hi,

Yeah, it exists, it's valid and it pass XML validation. It's a problem of class loading and calling java functions from XSLT, I'm sure of it; the thing it's that I can not find where it's failing because the trace does not contain the full stack trace of the java classes used by broker.
The file XMLTrace.log has this:

Code:

com.ibm.xsl.exmlt.TransformRequestException: Transformation failure when processing Stylesheet deployed:./Transformations/massiveSelectCustomerOperationByExampleCanonic/Channel2Backend.xsl
javax.xml.transform.TransformerConfigurationException: No se ha podido compilar la hoja de estilos
   at org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:863)
   at com.ibm.xsl.exmlt.StylesheetCache.preprocessStylesheet(StylesheetCache.java:740)
   at com.ibm.xsl.exmlt.StylesheetCache.getPreprocessedStylesheet(StylesheetCache.java:644)
   at com.ibm.xsl.exmlt.StylesheetSelector.getTransformer(StylesheetSelector.java:372)
   at com.ibm.xsl.exmlt.StylesheetSelector.performSelection(StylesheetSelector.java:677)
   at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:615)
   at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:547)
   at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:954)
   at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
   at com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
   at com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)
   at net.technisys.multichannel.wmb.InitializerNode.evaluate(InitializerNode.java:64)
   at com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:232)
   at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)

   at com.ibm.xsl.exmlt.StylesheetSelector.getTransformer(StylesheetSelector.java:455)
   at com.ibm.xsl.exmlt.StylesheetSelector.performSelection(StylesheetSelector.java:677)
   at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:615)
   at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:547)
   at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:954)
   at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)
   at com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
   at com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:107)
   at net.technisys.multichannel.wmb.InitializerNode.evaluate(InitializerNode.java:64)
   at com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:232)
   at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1469)



But it does not shows WHY it's failing on compile the stylesheet, the stack trace is missing the part "Caused by" and that stuff. Generally, in Java, the full stack trace has all the information that you need to diagnose the problem.
Back to top
View user's profile Send private message
Tibor
PostPosted: Mon Sep 16, 2013 5:33 am    Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

You can switch the classloader trace on: http://www-01.ibm.com/support/docview.wss?uid=swg21588070
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Detailed XSL Transform Node Stack Trace
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.