Custom SOAP add-on not working after update from jira 7.13.6 to 8.5.5 - com.sun.xml.ws.spi.ProviderImpl could not be instantiated

runJob : Error,
java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider com.sun.xml.ws.spi.ProviderImpl could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:232)
at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at javax.xml.ws.spi.Provider.getProviderUsingServiceLoader(Provider.java:180)
at javax.xml.ws.spi.Provider.provider(Provider.java:140)
at javax.xml.ws.Service.<init>(Service.java:92)
at javax.xml.ws.Service.create(Service.java:722)
at [package_name].m2jintegration.soapclient.M2MUtboundSoapClient.callGetRecords(M2MUtboundSoapClient.java:43)
at [package_name].m2jintegration.m2mqueuetask.M2MQueueTask.getM2MQueueRecords(M2MQueueTask.java:66)
at [package_name].m2jintegration.scheduler.impl.M2JSchedulerJobRunnerImpl.runJob(M2JSchedulerJobRunnerImpl.java:55)
at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:134)
at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:106)
at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:90)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:435)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeLocalJob(CaesiumSchedulerService.java:402)
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:380)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:66)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:60)
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.sun.xml.ws.spi.ProviderImpl
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
... 19 more

Does anyone have any idea what changed with the Jira dependencies in Jira 8? :slight_smile:

Hi,

it might be the case when in the older version the jax-ws library was bundled in the container and in the new version you need to add it explicitly to your classpath.

I would suggest you to try to add the following dependency to your plugin:

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.3.1</version>
</dependency>

Please let me know if it helped you. Regards,
Vojtěch Schlemmer [MoroSystems, s.r.o., Czech Republic]

Hi,

Thank you for your response.
I forgot to add that I was building with Java 8 (And our Jira is running on Java 8). Adding that to my POM gives me
"Classes found in the wrong directory: {META-INF/versions/9/module-info.class=module-info}"

I already have the following in my POM:

<dependency>
      <groupId>javax.xml.ws</groupId>
      <artifactId>jaxws-api</artifactId>
      <version>2.2.10</version>
      <scope>compile</scope>
</dependency>
<dependency>
      <groupId>com.sun.xml.ws</groupId>
      <artifactId>rt</artifactId>
      <version>2.2.10</version>
      <scope>compile</scope>
</dependency>