3 Replies Latest reply on Feb 16, 2012 12:53 PM by toskan

    JavaEE 5 annotated Webservice-EJB fails in JBoss AS 6

    rflicker

      Hi,

       

      i have a JavaEE 5 annotated Webservice-EJB (works with JBoss AS 5.1, Glassfish 2.1 and Websphere 7),

      which fails in JBoss AS 6 with:

      Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "$Proxy248.setElementType(Ljavax/xml/namespace/QName;)V" the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the current class, $Proxy248, and the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) for interface javax/wsdl/extensions/ExtensibilityElement have different Class objects for the type javax/xml/namespace/QName used in the signature

          at java.lang.Class.getDeclaredConstructors0(Native Method) [:1.6.0_25]

          at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) [:1.6.0_25]

          at java.lang.Class.getConstructor0(Class.java:2699) [:1.6.0_25]

          at java.lang.Class.getConstructor(Class.java:1657) [:1.6.0_25]

          at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:587) [:1.6.0_25]

          at org.apache.cxf.tools.util.SOAPBindingUtil.getProxy(SOAPBindingUtil.java:87) [:2.3.1]

          at org.apache.cxf.tools.util.SOAPBindingUtil.getSoapBinding(SOAPBindingUtil.java:274) [:2.3.1]

          at org.apache.cxf.tools.util.SOAPBindingUtil.createSoapBinding(SOAPBindingUtil.java:426) [:2.3.1]

          at org.apache.cxf.binding.soap.SoapBindingFactory.createSoapBinding(SoapBindingFactory.java:213) [:2.3.1]

          at org.apache.cxf.binding.soap.SoapBindingFactory.createBindingInfo(SoapBindingFactory.java:198) [:2.3.1]

          at org.apache.cxf.binding.AbstractBindingFactory.createBindingInfo(AbstractBindingFactory.java:97) [:2.3.1]

          at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createBindingInfo(AbstractWSDLBasedEndpointFactory.java:339) [:2.3.1]

          at org.apache.cxf.jaxws.JaxWsServerFactoryBean.createBindingInfo(JaxWsServerFactoryBean.java:166) [:2.3.1]

          at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpointInfo(AbstractWSDLBasedEndpointFactory.java:251) [:2.3.1]

          at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:147) [:2.3.1]

          at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:148) [:2.3.1]

          at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:183) [:2.3.1]

          at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:407) [:2.3.1]

          at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:314) [:2.3.1]

          at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:62) [:3.4.1.GA]

          at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:238) [:2.3.1]

          at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:481) [:2.3.1]

          at org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder.configure(NonSpringBusHolder.java:112) [:3.4.1.GA]

          at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:110) [:3.4.1.GA]

          at org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer.internalDeploy(WSDeploymentAspectDeployer.java:123) [:6.0.0.Final]

          at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55) [:2.2.0.GA]

          at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179) [:2.2.0.GA]

          ... 44 more

       

      Webservice-EJB:
      @Stateless
      @WebService(name = "TestReportService",
                  serviceName = "AsmsWebservice",
                  targetNamespace= "http://webservice.asms.airsight.de")
      @SOAPBinding(style = SOAPBinding.Style.DOCUMENT,
                   use = SOAPBinding.Use.LITERAL,
                   parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
      public class TestReportService implements TestReportServiceRemote, Serializable {
          @PersistenceContext
          private EntityManager em;

          @WebMethod(action = "createFullTestReport")
          @WebResult(name="successful")
          public boolean createFullTestReport(
                  @WebParam(name="name") String name,
                  @WebParam(name="id") Long id,
                  @WebParam(name="feedback") Boolean feedback,
                  @WebParam(name="altitude") Double altitude) {        return true;    }
      }

      @Remote
      public interface TestReportServiceRemote {    public boolean createFullTestReport(String name, Long id, Boolean feedback, Double altitude);}

       

      standard-jaxws-endpoint-config.xml:
      <jaxws-config xmlns="urn:jboss:jaxws-config:2.0"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:javaee="http://java.sun.com/xml/ns/javaee"
                    xsi:schemaLocation="urn:jboss:jaxws-config:2.0 jaxws-config_2_0.xsd">
         <endpoint-config>
            <config-name>Seam WebService Endpoint</config-name>
            <pre-handler-chains>
               <javaee:handler-chain>
                  <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
                  <javaee:handler>
                     <javaee:handler-name>SOAP Request Handler</javaee:handler-name>
                     <javaee:handler-class>org.jboss.seam.webservice.SOAPRequestHandler</javaee:handler-class>
                  </javaee:handler>
               </javaee:handler-chain>
            </pre-handler-chains>
         </endpoint-config>
      </jaxws-config>

       

      The "standard-jaxws-endpoint-config.xml" is necessary for Seam, as described here

      http://docs.jboss.org/seam/2.2.2.Final/reference/en-US/html/webservices.html (Section 24.1)

       

      Environment:

      JBoss AS 6.0.0.Final
      JBoss Seam 2.2.2 Final
      Oracle JDK 1.6.25
      Windows XP SP3

       

      I have created a jira issue

      https://issues.jboss.org/browse/JBAS-9275

      and was advised to start a discussion here.

       

      JBoss AS 6 uses as Web Services Stack CXF Server 3.4.1.GA, and classpath is

      java.class.path: C:\Programme\Java\jdk1.6\lib\tools.jar;C:\programs\jboss-6.0.0.Final\bin\run.jar

       

      java.library.path: C:\programs\jboss-6.0.0.Final\bin\native;C:\programs\jboss-6.0.0.Final\bin;C:\Programme\Java\jdk1.6\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS

       

      sun.boot.class.path: C:\programs\jboss-6.0.0.Final\lib\endorsed\activation.jar;C:\programs\jboss-6.0.0.Final\lib\endorsed\jboss-annotations-api_1.1_spec.jar;C:\programs\jboss-6.0.0.Final\lib\endorsed\jboss-jaxb-api_2.2_spec.jar;C:\programs\jboss-6.0.0.Final\lib\endorsed\jboss-jaxws-api_2.2_spec.jar;C:\programs\jboss-6.0.0.Final\lib\endorsed\jbossws-cxf-factories.jar;C:\programs\jboss-6.0.0.Final\lib\endorsed\stax-api.jar;C:\Programme\Java\jdk1.6\jre\lib\resources.jar;C:\Programme\Java\jdk1.6\jre\lib\rt.jar;C:\Programme\Java\jdk1.6\jre\lib\sunrsasign.jar;C:\Programme\Java\jdk1.6\jre\lib\jsse.jar;C:\Programme\Java\jdk1.6\jre\lib\jce.jar;C:\Programme\Java\jdk1.6\jre\lib\charsets.jar;C:\Programme\Java\jdk1.6\jre\lib\modules\jdk.boot.jar;C:\Programme\Java\jdk1.6\jre\classes

       

      sun.boot.library.path: C:\Programme\Java\jdk1.6\jre\bin

       

      The application is deployed as ear-file (not exploded) with following structure:

      app.ear

      - META-INF

      - app.war

        - WEB-INF

          - lib

              jboss-seam-debug-2.2.2.Final.jar

              jboss-seam-jul-2.2.2.Final.jar

              jboss-seam-ui-2.2.2.Final.jar

      - app.jar

      - jboss-seam-2.2.2.Final.jar

      - lib

          antisamy-1.4.4.jar

          backport-util-concurrent-3.1.jar

          base64-2.3.7.jar

          batik-css-1.7.jar

          batik-ext-1.7.jar

          batik-util-1.7.jar

          commons-beanutils-1.8.3.jar

          commons-codec-1.4.jar

          commons-digester-1.8.1.jar

          commons-httpclient-3.1.jar

          commons-lang-2.4.jar

          ehcache-core-2.4.2.jar

          ical4j-1.0.jar

          itext-2.1.7.jar

          jasperreports-4.0.1.jar

          jasperreports-fonts-4.0.1.jar

          jboss-el-1.0_02.CR5.jar

          jbpm-jpdl-3.2.3.jar

          jcommon-1.0.16.jar

          jericho-html-3.1.jar

          jfreechart-1.0.13.jar

          lucene-analyzers-2.4.1.jar

          lucene-core-2.4.1.jar

          metadata-extractor-2.4.0-beta1.jar

          nekohtml-1.9.14.jar

          poi-3.7.jar

          poi-ooxml-3.7.jar

          poi-ooxml-schemas-3.7.jar

          richfaces-api-3.3.3.Final.jar

          richfaces-impl-3.3.3.Final.jar

          richfaces-ui-3.3.3.Final.jar

          simplecaptcha-1.1.1.jar

          spring-beans-2.5.5.jar

          spring-core-2.5.5.jar

          stax-api-1.0.1.jar

          xml-apis-ext-1.3.04.jar

          xmlbeans-2.3.0.jar

          xpp3_min-1.1.4c.jar

          xstream-1.3.1.jar

       

      Any ideas?

       

      Thank you for your help.