Five Stars

"NoClassDefFoundError: javax/xml/ws/WebServiceException" in first TOS ESB gettingstarted service example

After some difficulty getting the right JDK installed & configured for TOS_ESB-20180116_1512-V6.5.1 to get past the start-up window, I tried the example in the Getting Started Guide, "Working with Data Services" chapter, "Building a Customer service provider" section. "Executing the service operation in the Talend Studio" gave me the result:

Starting job CustomerServicePortType_CustomerServiceOperation at 14:59 09/02/2018.

[statistics] connecting to socket on port 3335
[statistics] connected
Exception in thread "Thread-1" java.lang.NoClassDefFoundError: javax/xml/ws/WebServiceException
	at partneringest.customerserviceporttype_customerserviceoperation_0_1.CustomerServicePortType_CustomerServiceOperation$HandlerThread_tESBProviderRequest_1.run(CustomerServicePortType_CustomerServiceOperation.java:836)
Caused by: java.lang.ClassNotFoundException: javax.xml.ws.WebServiceException
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
	... 1 more

This is with Oracle JDK 8u151.

I should add that I didn't start Talend Runtime, per "Launching Talend Runtime and its Infrastructure Services" (because I'm on a Mac). But then it's not clear what the Studio is connecting to.

6 REPLIES
Five Stars

Re: "NoClassDefFoundError: javax/xml/ws/WebServiceException" in first TOS ESB gettingstarted service example

@xdshi, should I file a bug on this? or am I just using it incorrectly?

Moderator

Re: "NoClassDefFoundError: javax/xml/ws/WebServiceException" in first TOS ESB gettingstarted service example

Hello,

Could you please show us your service setting screenshot so that we can see if you are using it correctly?

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
Employee

Re: "NoClassDefFoundError: javax/xml/ws/WebServiceException" in first TOS ESB gettingstarted service example

Hi,

 

I have an similar Error with the Studio on MacOS. When I try to start a very simple Route I got this message

Starte Job test am 11:27 03/04/2018.

[statistics] connecting to socket on port 3602
[statistics] connected
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlRootElement
	at org.apache.camel.model.OptionalIdentifiedDefinition.getShortName(OptionalIdentifiedDefinition.java:79)
	at org.apache.camel.management.InstrumentationInterceptStrategy.wrapProcessorInInterceptors(InstrumentationInterceptStrategy.java:62)
	at org.apache.camel.processor.interceptor.DefaultChannel.initChannel(DefaultChannel.java:218)
	at org.apache.camel.model.ProcessorDefinition.wrapChannel(ProcessorDefinition.java:279)
	at org.apache.camel.model.ProcessorDefinition.wrapChannel(ProcessorDefinition.java:261)
	at org.apache.camel.model.ProcessorDefinition.wrapProcessor(ProcessorDefinition.java:257)
	at org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:552)
	at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:500)
	at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:219)
	at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1069)
	at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196)
	at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974)
	at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3301)
	at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3024)
	at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175)
	at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2854)
	at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2850)
	at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2873)
	at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2850)
	at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
	at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2819)
	at org.apache.camel.main.Main.doStart(Main.java:127)
	at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
	at org.apache.camel.main.MainSupport.run(MainSupport.java:138)
	at trainings.test_0_1.test.run(test.java:143)
	at trainings.test_0_1.test.runJobInTOS(test.java:205)
	at trainings.test_0_1.test.main(test.java:175)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlRootElement
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
	... 27 more

Bildschirmfoto 2018-04-03 um 11.28.03.pngBildschirmfoto 2018-04-03 um 11.28.27.png

 

 

@xdshi I have installed Java8 as well as Java9 (But configured Java8 for the studio) 

I know that JAXB APIs are considered to be Java EE APIs, and therefore are no longer contained on the default class path in Java SE 9. Could this be a problem? Can I check wich Java the ESB Runtime will use?

 

Five Stars

Re: "NoClassDefFoundError: javax/xml/ws/WebServiceException" in first TOS ESB gettingstarted service example

Sorry not to reply earlier, but for now we're no longer looking at Talend as a solution, due to hang-ups like this.

Employee

Re: "NoClassDefFoundError: javax/xml/ws/WebServiceException" in first TOS ESB gettingstarted service example

I would just confirm that you have the jaxb-api-xxx.jar file for your version. Just go to the Help>Install Additional Packages . . . option and there download and install of the jar files that are needed for the studio. This class that is not found can be installed through this menu or if you go to Windows>Show View>Talend>Modules this will display all of the jar files and components and the jar files that are required to execute them. In addition from the down green arrow in the upper right hand corner of the modules view you can download all of the jar files. Do this first and try with a new workspace folder but first backup your current workspace folder as this is where all of your work resides and you do not want to lose any. Smiley Wink
Employee

Re: "NoClassDefFoundError: javax/xml/ws/WebServiceException" in first TOS ESB gettingstarted service example

This issue is simply caused because our webservice components require JDK 8 as stated in the documentation and the JRE will not be able to compile this code:

Warning:
This component requires an Oracle JDK to be functional.
https://help.talend.com/reader/4JDkRW79T~JCK0FlqXVwlA/JfmyMmxRsf_lPva7XCr2kw

Webservice Falls under the category of JDK not JRE.
https://i.stack.imgur.com/CBNux.png

This can be done by going to the Windows>Preferences>Java>Installed JREs and pointing to one of the latest Oracle JDKs on your machine, OpenJDK is not supported.

Lastly if this does not resolve the issue ensure that you have downloaded all of the modules from the Windows>Show View>Talend>Modules View.