java.lang.IllegalArgumentException: interface com.sun.xml.internal.ws.developer.WSBindingProvider is not visible from class loader

Atlassian JIRA | Thomas Leineweber | 4 years ago
  1. 0

    I have to call a JAX-WS 2.0 Webservice from a v2 plugin post-function. The complete client runtime for JAX-WS 2.0 ist included in the JRE6 which is the basis for JIRA 5.0.7. Calling the Webservice fails with {noformat} 2012-10-16 12:59:37,059 http-6080-1 ERROR admin 779x1071x1 164g5xi 10.21.190.45 /secure/QuickCreateIssue.jspa [spu.jira.projektzeit.CreateProjektFunction] RuntimeException java.lang.IllegalArgumentException: interface com.sun.xml.internal.ws.developer.WSBindingProvider is not visible from class loader at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353) at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) at com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:630) at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:331) at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:313) at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:295) at javax.xml.ws.Service.getPort(Service.java:92) at de.continentale.vp.webservice.projektzeit.WebService100.getWebService100(ProjektzeitService100.java:58) {noformat} Some analysis: I did try to load the Interface com.sun.xml.internal.ws.developer.WSBindingProvider by different Classloaders just before calling the Webservice: {code} final Thread currentThread = Thread.currentThread(); final ClassLoader origCCL = currentThread.getContextClassLoader(); LOG.error("origccl=" + origCCL.loadClass( "com.sun.xml.internal.ws.developer.WSBindingProvider") .toString()); ClassLoader c1 = com.atlassian.jira.issue.Issue.class.getClassLoader(); LOG.error("System Classloader=" + c1.getSystemClassLoader().loadClass( "com.sun.xml.internal.ws.developer.WSBindingProvider") .toString()); LOG.error("Issueclassloader=" + c1.loadClass( "com.sun.xml.internal.ws.developer.WSBindingProvider") .toString()); {code} This gives the following Log: {noformat} 2012-10-16 13:09:50,141 http-6080-6 ERROR admin 789x1273x1 164g5xi 10.21.190.45 /secure/QuickCreateIssue.jspa [spu.jira.web.WebClient] origccl=interface com.sun.xml.internal.ws.developer.WSBindingProvider 2012-10-16 13:09:50,141 http-6080-6 ERROR admin 789x1273x1 164g5xi 10.21.190.45 /secure/QuickCreateIssue.jspa [spu.jira.web.WebClient] System Classloader=interface com.sun.xml.internal.ws.developer.WSBindingProvider 2012-10-16 13:09:50,141 http-6080-6 ERROR admin 789x1273x1 164g5xi 10.21.190.45 /secure/QuickCreateIssue.jspa [spu.jira.web.WebClient] Issueclassloader=interface com.sun.xml.internal.ws.developer.WSBindingProvider {noformat} so, all Classloders (the current ContextClassLoader, the SystemClassLoader and the Classloader of the Class Issue) can lookup the Interface. Probably, it is a classloader mixup. A support call (JSP-140545) was not really conclusive (out of scope for support, but did try to help, nonetheless). The Classloader workaround shown in JRA-29896 does not work (as you can see above). And there are some questions on answers.atlassian.com concerning this problem, all of them have no real solution: https://answers.atlassian.com/questions/44457/implement-jax-ws-in-jira-5-plugin https://answers.atlassian.com/questions/94094/jira-consume-soap-wsbindingprovider-not-visible

    Atlassian JIRA | 4 years ago | Thomas Leineweber
    java.lang.IllegalArgumentException: interface com.sun.xml.internal.ws.developer.WSBindingProvider is not visible from class loader
  2. 0

    I have to call a JAX-WS 2.0 Webservice from a v2 plugin post-function. The complete client runtime for JAX-WS 2.0 ist included in the JRE6 which is the basis for JIRA 5.0.7. Calling the Webservice fails with {noformat} 2012-10-16 12:59:37,059 http-6080-1 ERROR admin 779x1071x1 164g5xi 10.21.190.45 /secure/QuickCreateIssue.jspa [spu.jira.projektzeit.CreateProjektFunction] RuntimeException java.lang.IllegalArgumentException: interface com.sun.xml.internal.ws.developer.WSBindingProvider is not visible from class loader at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353) at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) at com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:630) at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:331) at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:313) at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:295) at javax.xml.ws.Service.getPort(Service.java:92) at de.continentale.vp.webservice.projektzeit.WebService100.getWebService100(ProjektzeitService100.java:58) {noformat} Some analysis: I did try to load the Interface com.sun.xml.internal.ws.developer.WSBindingProvider by different Classloaders just before calling the Webservice: {code} final Thread currentThread = Thread.currentThread(); final ClassLoader origCCL = currentThread.getContextClassLoader(); LOG.error("origccl=" + origCCL.loadClass( "com.sun.xml.internal.ws.developer.WSBindingProvider") .toString()); ClassLoader c1 = com.atlassian.jira.issue.Issue.class.getClassLoader(); LOG.error("System Classloader=" + c1.getSystemClassLoader().loadClass( "com.sun.xml.internal.ws.developer.WSBindingProvider") .toString()); LOG.error("Issueclassloader=" + c1.loadClass( "com.sun.xml.internal.ws.developer.WSBindingProvider") .toString()); {code} This gives the following Log: {noformat} 2012-10-16 13:09:50,141 http-6080-6 ERROR admin 789x1273x1 164g5xi 10.21.190.45 /secure/QuickCreateIssue.jspa [spu.jira.web.WebClient] origccl=interface com.sun.xml.internal.ws.developer.WSBindingProvider 2012-10-16 13:09:50,141 http-6080-6 ERROR admin 789x1273x1 164g5xi 10.21.190.45 /secure/QuickCreateIssue.jspa [spu.jira.web.WebClient] System Classloader=interface com.sun.xml.internal.ws.developer.WSBindingProvider 2012-10-16 13:09:50,141 http-6080-6 ERROR admin 789x1273x1 164g5xi 10.21.190.45 /secure/QuickCreateIssue.jspa [spu.jira.web.WebClient] Issueclassloader=interface com.sun.xml.internal.ws.developer.WSBindingProvider {noformat} so, all Classloders (the current ContextClassLoader, the SystemClassLoader and the Classloader of the Class Issue) can lookup the Interface. Probably, it is a classloader mixup. A support call (JSP-140545) was not really conclusive (out of scope for support, but did try to help, nonetheless). The Classloader workaround shown in JRA-29896 does not work (as you can see above). And there are some questions on answers.atlassian.com concerning this problem, all of them have no real solution: https://answers.atlassian.com/questions/44457/implement-jax-ws-in-jira-5-plugin https://answers.atlassian.com/questions/94094/jira-consume-soap-wsbindingprovider-not-visible

    Atlassian JIRA | 4 years ago | Thomas Leineweber
    java.lang.IllegalArgumentException: interface com.sun.xml.internal.ws.developer.WSBindingProvider is not visible from class loader
  3. 0

    Java 6 Webservices unter eingeschränktem Bootloader nutzen - Läubi-Soft

    laeubi-soft.de | 7 months ago
    java.lang.IllegalArgumentException: interface com.sun.xml.internal.ws.developer.WSBindingProvider is not visible from class loader
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    JAX-WS with Equinox OSGi

    Stack Overflow | 6 years ago | Arvodan
    java.lang.IllegalArgumentException: interface com.sun.xml.internal.ws.developer.WSBindingProvider is not visible from class loader
  6. 0

    Error in WrapperBeanGenerator : Not creating ASM Type for type

    Stack Overflow | 2 years ago | MisterIbbs
    java.lang.IllegalArgumentException: Not creating ASM Type for type = byte[] at com.sun.xml.internal.ws.model.WrapperBeanGenerator.getASMType(WrapperBeanGenerator.java:434)

    1 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.IllegalArgumentException

      interface com.sun.xml.internal.ws.developer.WSBindingProvider is not visible from class loader

      at java.lang.reflect.Proxy.getProxyClass()
    2. Java RT
      Service.getPort
      1. java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
      2. java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
      3. com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:630)
      4. com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:331)
      5. com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:313)
      6. com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:295)
      7. javax.xml.ws.Service.getPort(Service.java:92)
      7 frames
    3. de.continentale.vp
      WebService100.getWebService100
      1. de.continentale.vp.webservice.projektzeit.WebService100.getWebService100(ProjektzeitService100.java:58)
      1 frame