When deploying Java WS on Jboss 6.3.0 EAP

I am porting an application with Java WS from Jboss 5.1.0 to Jboss 6.3.0 EAP. It works fine with Jboss 5.1.0, but I get an error when deploying to Jboss 6.3.0 EAP.

14:42:10,887 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deploy ment.unit."my-app.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."dtm-banking. war".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment "dtm-banking.war" at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [jboss-a s-server-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-ms c-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.F inal-redhat-1.jar:1.1.5.Final-redhat-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_60] Caused by: javax.xml.ws.WebServiceException: java.lang.reflect.UndeclaredThrowableException at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:371) at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:66) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:251) at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:539) at org.jboss.wsf.stack.cxf.configuration.NonSpringBusHolder.configure(NonSpringBusHolder.java:118) at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:137 ) at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:69) at org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:74) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [jboss-a s-server-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] ... 5 more Caused by: java.lang.reflect.UndeclaredThrowableException at com.sun.proxy.$Proxy371.visitLabel(Unknown Source) at org.apache.cxf.jaxws.WrapperClassGenerator.createWrapperClass(WrapperClassGenerator.java:213) at org.apache.cxf.jaxws.WrapperClassGenerator.generate(WrapperClassGenerator.java:122) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.generatedWrapperBeanClass(JaxWsServiceFactoryBean.java:6 83) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.getExtraClass(JaxWsServiceFactoryBean.java:653) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBea n.java:484) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:704) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBe an.java:550) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265) at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:215) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java :102) at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159) at org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:211) at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:456) at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:334) ... 13 more Caused by: java.lang.NoSuchMethodException: org.objectweb.asm.MethodWriter.visitLabel(org.objectweb.asm.Label) at java.lang.Class.getMethod(Class.java:1665) [rt.jar:1.7.0_60] at org.apache.cxf.common.util.ReflectionInvokationHandler.invoke(ReflectionInvokationHandler.java:85) ... 28 more 

I understand Jboss 6.3.0 EAP uses the CXF implementation for webservice, but I'm looking for a simple Java WS to use the standard Java EE framework.

tried the following in jboss-deployment-structure.xml

 <exclude-subsystems> <subsystem name="webservices" /> </exclude-subsystems> 

this got rid of the exception during deployment, but I get a Classcast exception when calling wsdl for the service

http: // localhost: 8080 / myapp / myservice? wsdl

JBWEB000235: Throw an exception for the MyWebService servlet: java.lang.ClassCastException: com.example.webservice.endpoint.DataService cannot be passed to javax.servlet.Servlet

any idea?

+6
source share
3 answers

The problem is asm.jar binding in your deployment.
Try removing it and adding to your jboss-deployment-structure.xml :

 <jboss-deployment-structure> <deployment> <dependencies> ... <module name="asm.asm" /> ... </dependencies> </deployment> </jboss-deployment-structure> 

More details: https://developer.jboss.org/message/823745

+7
source

The answer that fixed me for me:

I had the same problem. Adding only jboss-deployment-structure.xml to work with WAR files. If I disabled WAR inside the EAR, I got the error back. Therefore I added

  <global-modules> <module name="asm.asm" slot="main"/> </global-modules> 

into the current jboss configuration, i.e. standalone-full.xml. This work great for me.

So, if someone stumbles on this question, try it.

+2
source

Enter this page. https://access.redhat.com/solutions/690353

The above error occurs when a particular method is not found for this class. Therefore, the user packs the asm jar into his application and the class "org.objectweb.asm.MethodWriter", which is contained in the bank, does not have the method "public void visitLabel (org.objectweb.asm.Label);" hence getting "java.lang.NoSuchMethodException".

0
source

Source: https://habr.com/ru/post/981351/


All Articles