[ 
https://issues.apache.org/jira/browse/AXIS2-4910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004276#comment-13004276
 ] 

William Walsh commented on AXIS2-4910:
--------------------------------------

Just wanted to follow-up with the information I got from IBM regarding ERR 0635:

The XSLT processor in the IBM JDK translates XSLT stylesheets in Java    
classes, and for any particularly large template in those stylesheets,   
its initial attempt at generating the method corresponding to that       
template might exceed the JVM Specification's limit on the size of a     
method.  If this happens, the XSLT processor will split the method into  
smaller methods, none of which exceeds the limit on the size of the      
method.                                                                  
                                                                         
If the user sets the 'split limit', this sets a maximum method size that 
the processor uses internally prior to generating byte code.  Using this 
option generally improves performance.  However, the option has to be    
set on the TransformerFactory used to process the XSLT stylesheet, and   
if that is happening through the Axis2 code, you have no way of          
controlling that unless you modify the Axis2 code or unless the Axis2    
code provides some mechanism that allows the user to supply              
TransformerFactory settings to TransformerFactory it uses.               

... the option is specific to IBM's     
Java run-time environment.  It can be set using the                      
TransformerFactory.setAttribute method.  I found a value of 1500 worked  
with the Axis2 stylesheets.                                              
                                                                         
If they choose to, the Axis2 developers can set the attribute this way:  
                                                                         
        TransformerFactory tf = TransformerFactory.newInstance();        
                                                                         
        try {                                                            
            tf.setAttribute(                                             
                   "http://www.ibm.com/xmlns/prod/xltxe-j/split-limit";,  
                   Integer.valueOf(1500));                               
        } catch (IllegalArgumentException iae) {                         
        }                                                           

www




> [ERR 0635] Sporadically from org.apache.axis2.wsdl.WSDL2Code followed by 
> failing compilations using generated code
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4910
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4910
>             Project: Axis2
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: 1.5.1
>         Environment: Various OSes (Windows XP, UNIX flavors, etc).  May be 
> specific to IBM V6 JDK.
>            Reporter: William Walsh
>         Attachments: Axis2DocWebServiceTestBPO.wsdl
>
>
> Not sure if this is an Axis2 bug (would have used question category if it was 
> available to me), but:
> We are invoking the Axis2 1.5.1 org.apache.axis2.wsdl.WSDL2Code tool via an 
> Ant <java> task and we're seeing sporadic failures where something - e.g. one 
> attribute out of several is not being included in the generated Stub code, or 
> as below when a method was missing.  When I say sporadic I'm guessing it's 
> about 5 or 6 identified failures out of hundreds across our automated nightly 
> Anthill builders and our ClearCase builders.  This is using WSDL 1.1 input.
> I'm only considering the period of time in the last few months when this area 
> of our tests/builds has been stable and I have no reason to believe these 
> errors are our internal issues.  Unfortunately, all these builders wipe out 
> the environment after the failure (unless I take extraordinary action) and so 
> I have only been able to do limited investigation.  I've never seen the issue 
> in my own development environments.  
> In one of the most recent failures I see our test code failing compilation as 
> below because it's referencing a class method that WSDL2Code did not generate:
> {quote}
> curam \ util \ test \ webservices \ Axis2WSConnectorTest.java: 268: can not 
> find symbol INFO - [javac] symbol: method get_return () INFO - [javac] 
> location: class wsconnector.Axis2DocWebServiceTestBPOStub.OppositeResponse
> INFO - [javac] assertFalse (oppositeResponse.get_return ()); INFO - [javac] ^ 
> INFO - [javac] Note: Some input files use or override a deprecated API. 
> INFO - [javac] Note: To learn more, use the-Xlint: deprecation recompile. 
> INFO - [javac] 1 error 
> {quote}
> And, we see this output for the generation of that related failing code:
> {quote}
> INFO - [JavaFromWSDL] Warning: "[ERR 0635] generated a number of functions 
> than the JVM method size limit and is automatically divided into smaller 
> functions.
> By using the Process or the Compile command" splitlimit "option, or by 
> setting"
> http://www.ibm.com/xmlns/prod/xltxe-j/split-limit "converter plant property, 
> you can manually put the huge template into smaller templates." 
> INFO - [JavaFromWSDL] Warning: "[ERR 0635] generated a number of functions 
> than the JVM method size limit and is automatically divided into smaller 
> functions.
> By using the Process or the Compile command" splitlimit "option, or by 
> setting"
> http://www.ibm.com/xmlns/prod/xltxe-j/split-limit "converter plant property, 
> you can manually put the huge template into smaller templates." 
> {quote}
> On this same builder another test ran immediately following this failure 
> (same source, etc.) and did not fail.  The failing build was using the IBM V6 
> JDK and the non-failing build was using the Sun V6 JDK.  Based on a google 
> search (only 10 hits found) the above directed me to this IBM site, which 
> appears to identify xltxe-j as new functionality:
> http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/topic/com.ibm.java.doc.user.win32.60/user/xml/xslt_migrate.html
> At this point, with the limited data points I have I feel it's too early to 
> say this is an Axis2 or an IBM JDK issue, but would appreciate it if anyone 
> has:
> * Further information on these symptoms
> * Thoughts on how I might gather more data when using the Axis2 tool to get 
> for information so I can pursue with IBM if that's appropriate.
> I admit that I have not yet spent the time pouring over Axis2 and related 
> code, IBM support site, etc.; but, given our project timelines I needed to 
> get this entered to see if there is any faspath to resolution.  So, apologies 
> for that.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to