I'm having some trouble deploying an EAR on JBoss 4.0.2, and I was wondering if anyone here could tell me where my error likely is. I had this working at one point w/ the same JBoss version, etc, so I'm sure it's a stupid mistake in my descriptors somewhere, but I'm not sure where I should be focussing.
Here's the situation - I've got an EAR with two EJB jars, one a web service stateless session bean, and the other with several EJBs of different types (statless and stateful session beans, MDBs, etc). If I deploy ear with just the web service bean, it works. If I deploy the ear with just the other beans, they are deployed as well. But if I try to deploy the EAR with both EJB jars present, then for some reason the deployer thinks that the web service described in that EJB jar is present in both jars. When it can't find the implementation in the support bean jar, it undeploys that one, leaving only the web-service bean deployed.
How does the deployer determine which EJB jars should be passed to the web service deployer?
Below is the relevant console output as the EAR is being deployed. JobProcessorWebServiceBean is in one EJB jar, and the other 4 beans are in the other EJB jar.
Any help is greatly appreciated.
--- 11:32:20,575 INFO [EARDeployer] Init J2EE application: file:/C:/jboss-4.0.2/server/default/deploy/code.ear 11:32:24,541 WARN [MainDeployer] Found non-jar deployer for job-processor-web-service.jar: org.jboss.ejb.EJBDeployer@1697023 11:32:26,013 INFO [EjbModule] Deploying JobSessionBean 11:32:26,283 INFO [EjbModule] Deploying LocalStoreBean 11:32:26,333 INFO [EjbModule] Deploying SpecBuilderBean 11:32:26,363 INFO [EjbModule] Deploying JobCommandHandlerBean 11:32:26,914 INFO [EjbModule] Deploying JobProcessorWebServiceBean 11:32:27,505 INFO [EJBDeployer] Deployed: file:/C:/jboss-4.0.2/server/default/tmp/deploy/tmp22756code.ear-contents/beans.jar 11:32:28,546 ERROR [ServiceDeployer] Cannot startup webservice for: beans.jar java.lang.IllegalStateException: Cannot find ejb-name: JobProcessorWebServiceBean at org.jboss.webservice.ServiceDeployer$ServiceLocationResolver.getServiceLocation(ServiceDeployer.java:577) at org.jboss.webservice.metadata.WebserviceDescriptionMetaData.replaceAddressLocations(WebserviceDescriptionMetaData.java:304) at org.jboss.webservice.metadata.WebserviceDescriptionMetaData.updateServiceAddress(WebserviceDescriptionMetaData.java:253) at org.jboss.webservice.ServiceDeployer.startWebservice(ServiceDeployer.java:211) [...rest of the stack trace is here...] 11:32:28,697 INFO [EJBDeployer] Undeploying: file:/C:/jboss-4.0.2/server/default/tmp/deploy/tmp22756code.ear-contents/beans.jar 11:32:28,727 WARN [ServiceDeployer] Cannot undeploy webservice: java.lang.IllegalStateException: Cannot find port component info for: code.ear/beans.jar#Internal port name... 11:32:28,757 INFO [EjbModule] Undeployed JobCommandHandlerBean 11:32:28,807 INFO [EjbModule] Undeployed SpecBuilderBean 11:32:28,807 INFO [EjbModule] Undeployed LocalStoreBean 11:32:28,857 INFO [EjbModule] Undeployed JobSessionBean 11:32:28,877 INFO [EJBDeployer] Deployed: file:/C:/jboss-4.0.2/server/default/tmp/deploy/tmp22756code.ear-contents/job-processor-web-service.jar 11:32:28,977 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.0.2/server/default/data/wsdl/code.ear/job-processor-web-service.jar/job-processor-web-service.wsdl 11:32:29,207 INFO [AxisService] WSDD published to: C:\jboss-4.0.2\server\default\data\wsdl\code.ear\job-processor-web-service.jar\Internal port name....wsdd 11:32:30,389 INFO [AxisService] Web Service deployed: http://lab1:8080/code/job-processor-web-service/Internal port name... 11:32:31,000 INFO [TomcatDeployer] deploy, ctxPath=/code/job-processor-web-service, warUrl=file:/C:/jboss-4.0.2/server/default/tmp/deploy/code.ear-job-processor-web-service.jar-ws22758.war/ 11:32:31,431 INFO [EARDeployer] Started J2EE application: file:/C:/jboss-4.0.2/server/default/deploy/code.ear ---