Hello Robert, no not Ant-based, it's a maven plugin that runs code generation. 
(axis2-wsdl2code-maven-plugin)
Some news:​
1) The Windows vs Linux difference is a red herring, in fact the problem is 
showing up under Windows as well as Linux now. (kind of good news in a way)​
2) I did some investigation to find out where the "databindsupporter" error 
comes from...​
​
The "databindsupporter" string is present as a place-holder in :​
              axis2-codegen-1.7.9.jar : 
/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl​
... and is supposed to cause another XST to be pulled at the moment of 
'compilation'.​
  - My maven POM supplies a configuration value of databindingName=xmlbeans​
  - codegen-config.properties maps this to a specific XSL file to pull in​
              axis2-codegen-1.7.9.jar : 
/org/apache/axis2/wsdl/codegen/codegen-config.properties​
                  
codegen.databinding.xmlbeans.supporter.template=/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl​
(this .xsl is present in axis2-xmlbeans-1.7.9.jar)​
  - axis2-codegen-1.7.9.jar : org.apache.axis2.wsdl.util.XSLTIncludeResolver​
              private Source getSourceFromTemplateName(String templateName) 
throws TransformerException​
                  ...​
                  URL templateUrl = getClass().getResource(templateName); ​
​
This method receives 
"/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl" as a 
parameter and attempts to read the file in as a resource. But the call to 
getClass().getResource(templateName) returns null.  [I confirmed this by 
tweaking/recompiling the source to add some debug output]​
​
So the problem seems to come down to failing to read in the xmlbeans-specific 
file from a different jar.​
​
I note that the old implementation (1.4.1) of this method uses 
getResourceAsStream() rather than getResource() here.​
​
However, when I experimented with replacing this method in 1.7.9 with the 1.4.1 
version, the build passed this step but failed later on, again with a message 
relating to a null URL object.


~~~~~~~~~~~~~~~~~~~~~~~~~~
Michael FRYARS
[email protected]
~~~~~~~~~~~~~~~~~~~~~~~~~~

________________________________
From: robertlazarski . <[email protected]>
Sent: 05 December 2019 14:24
To: [email protected] <[email protected]>
Subject: Re: axis2 codegen error: No such file or directory: databindsupporter

This is a build via jenkins right, that is running ant for codegen? Try passing 
-debug and -verbose to ant in the build, and paste the entire build output here.

On Wed, Dec 4, 2019 at 4:45 AM Mike Fryars 
<[email protected]<mailto:[email protected]>> wrote:
Hi Robert, the file doesn't exist, no. But then it never has up to now. The old 
stack worked without it, the new stack works without it as long as the Maven 
build is under Windows. But under linux the new stack fails.
I'm guessing here, but the "databindsupporter" (referenced in 
/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl) looks 
like a place holder that should be replaced by something more specific, i.e. 
something specific to XmlBeans in my case.
Execution of the maven mojo seems like it should know to use XmlBeans (see 
config parameter databindingName) …

[DEBUG] Configuring mojo 
org.apache.axis2:axis2-wsdl2code-maven-plugin:1.7.9:wsdl2code from plugin realm 
ClassRealm[plugin>org.apache.axis2:axis2-wsdl2code-maven-plugin:1.7.9, parent: 
jdk.internal.loader.ClassLoaders$AppClassLoader@799f7e29]
[DEBUG] Configuring mojo 
'org.apache.axis2:axis2-wsdl2code-maven-plugin:1.7.9:wsdl2code' with basic 
configurator -->​
[DEBUG]   (f) allPorts = false​
[DEBUG]   (f) backwardCompatible = false​
[DEBUG]   (f) databindingName = xmlbeans​
[DEBUG]   (f) flattenFiles = false​
[DEBUG]   (f) generateAllClasses = false​
[DEBUG]   (f) generateServerSide = false​
[DEBUG]   (f) generateServerSideInterface = false​
[DEBUG]   (f) generateServicesXml = false​
[DEBUG]   (f) generateTestcase = false​
[DEBUG]   (f) language = java​
[DEBUG]   (f) options = {}​
[DEBUG]   (f) outputDirectory = 
/var/lib/jenkins/workspace/spf_core_Webservices_develop/MyAppWsAuthenticateClient/generated-sources​
[DEBUG]   (f) overWrite = false​
[DEBUG]   (f) packageName = myfirm.myproduct.api.iptv._1.authentication​
[DEBUG]   (f) project = MavenProject: 
com.myfirm.myproduct.myAppWs:myAppWsAuthenticateClient:1.17.1-SNAPSHOT @ 
/var/lib/jenkins/workspace/spf_core_Webservices_develop/MyAppWsAuthenticateClient/pom.xml​
[DEBUG]   (f) skipBuildXML = false​
[DEBUG]   (f) skipMessageReceiver = false​
[DEBUG]   (f) skipWSDL = false​
[DEBUG]   (f) suppressPrefixes = false​
[DEBUG]   (f) syncMode = sync​
[DEBUG]   (f) targetSourceFolderLocation = src​
[DEBUG]   (f) unpackClasses = true​
[DEBUG]   (f) unwrap = false​
[DEBUG]   (f) wsdlFile = 
/var/lib/jenkins/workspace/spf_core_Webservices_develop/MyAppWsAuthenticateClient/../MyAppWsCommon/wsdl/myproduct_authentication_1.wsdl​
[DEBUG] -- end configuration --



________________________________
From: robertlazarski . 
<[email protected]<mailto:[email protected]>>
Sent: 04 December 2019 14:13
To: [email protected]<mailto:[email protected]> 
<[email protected]<mailto:[email protected]>>
Subject: Re: axis2 codegen error: No such file or directory: databindsupporter

That's a very similar environment as my day job, does the dir exist? My guess 
is the path is wrong in your config. Less likely but possible, is it exists 
though without read access somehow.

/var/lib/jenkins/workspace/spf_core_Webservices_develop/databindsupporter

Regards,
Robert

On Tue, Dec 3, 2019 at 11:43 PM Mike Fryars 
<[email protected]<mailto:[email protected]>> wrote:
Cross-posting from java-user since it may be too low-level to get much response 
from fellow users...
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ​
Hi, can anyone tell me about this error during axis2 code generation from a 
Maven build?​
​​
[INFO] --- axis2-wsdl2code-maven-plugin:1.7.9:wsdl2code​​
.....​​
ERROR:  'Could not compile stylesheet'​​
FATAL ERROR:  
'/var/lib/jenkins/workspace/spf_core_Webservices_develop/databindsupporter 
(Aucun fichier ou dossier de ce type)'​​
           
:/var/lib/jenkins/workspace/spf_core_Webservices_develop/databindsupporter 
(Aucun fichier ou dossier de ce type)​​
java.io.FileNotFoundException: 
/var/lib/jenkins/workspace/spf_core_Webservices_develop/databindsupporter 
(Aucun fichier ou dossier de ce type)​​
at java.base/java.io.FileInputStream.open0(Native Method)​​
at java.base/java.io.FileInputStream.open(FileInputStream.java:219)​​
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)​​
at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)​​
at 
java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86)​​
at 
java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:184)​​
at 
java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:654)​​
at 
java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:150)​​
at 
java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:860)​​
at 
java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)​​
at 
java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)​​
at 
java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)​​
at 
java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.parse(Parser.java:429)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.parse(Parser.java:512)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.compiler.Include.parseContents(Include.java:113)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.parseOwnChildren(Stylesheet.java:597)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.parseContents(Stylesheet.java:559)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.compiler.Parser.createAST(Parser.java:398)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:493)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:570)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:1018)​​
at 
java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:817)​​
at 
org.apache.axis2.util.XSLTTemplateProcessor.parse(XSLTTemplateProcessor.java:147)​​
at 
org.apache.axis2.util.XSLTTemplateProcessor.parse(XSLTTemplateProcessor.java:117)​​
at org.apache.axis2.wsdl.codegen.writer.FileWriter.parse(FileWriter.java:175)​​
at 
org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.writeFile(AxisServiceBasedMultiLanguageEmitter.java:2663)​​
at 
org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.writeInterface(AxisServiceBasedMultiLanguageEmitter.java:1254)​​
at 
org.apache.axis2.wsdl.codegen.emitter.AxisServiceBasedMultiLanguageEmitter.emitStub(AxisServiceBasedMultiLanguageEmitter.java:495)​​
at 
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:283)​​
at 
org.apache.axis2.maven2.wsdl2code.WSDL2CodeMojo.execute(WSDL2CodeMojo.java:653)​​
    .....​​
​​
("Aucun fichier ou dossier de ce type" = no file or folder of this type)​​
​​
I'm getting the above error with the following stack:​​
    CentOS-7​​
    Jenkins​​
    jdk-11.0.2​​
    Maven 3​​
    Axis2 1.7.9​​
    XmlBeans​​
​​
On an older technology stack (axis 1.4.1, Java 6, etc) the same WSDL/XSD set 
worked just fine.​​
On a Windows 10 PC the updated Maven build (without Jenkins) now works just 
fine with the same WSDL/XSD set.​​
But I need the updated CentOS-7/Jenkins build stack to work.​​
​​
As I understand it the reference to databindsupporter is here:​​
    axis2-codegen-1.7.9.jar : 
/org/apache/axis2/wsdl/template/java/InterfaceImplementationTemplate.xsl​​
        <!-- import the databinding template-->​​
        <xsl:include href="databindsupporter"/>​​
​​
Any help/advice much appreciated, thanks in advance,​​
​​
Mike Fryars

Reply via email to