2012-08-13 86 views
0

我正在运行JBoss 4.2.3.GA(无法更改此版本)和Java 6.我正在尝试部署JAR文件。在它内部,我试图连接到一个Web服务,但得到错误,“无法加载Java类型:org.mainco.bsorg.BusinessServiceFaultException”,即使有问题的类在我部署的JAR文件中到服务器。我认为有一些类加载器问题,但不知道从哪里开始寻找。我用来连接的Java代码为什么当类在我的JAR文件中时,我无法加载类?

final OrganizationService service = new OrganizationService(wsdl, qname);   
service.getOrganizationServicePort() 

我生成使用下面的Maven插件我的Web服务客户端代码......

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>jaxws-maven-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>wsimport</goal> 
        </goals> 
        <configuration> 
         <wsdlUrls> 
          <wsdlUrl>${wsdl.url}</wsdlUrl> 
         </wsdlUrls> 
         <sourceDestDir>${basedir}/src/main/java</sourceDestDir> 
         <packageName>org.mainco.bsorg</packageName> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

,我有这些依赖...

<dependency> 
     <groupId>org.apache.axis</groupId> 
     <artifactId>axis</artifactId> 
     <version>1.4</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.xml</groupId> 
     <artifactId>jaxrpc-api</artifactId> 
     <version>1.1</version> 
    </dependency> 

以下是例外。任何想法,我需要开始挖掘?

2012-08-13 12:45:02,522 ERROR [org.quartz.core.ErrorLogger] Job (default.job.0.1344875788431 threw an exception. 
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: javax.ejb.EJBTransactionRolledbackException: Cannot load java type: org.mainco.bsorg.BusinessServiceFaultException] 
     at org.quartz.core.JobRunShell.run(JobRunShell.java:214) 
     at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 
* Nested Exception (Underlying Cause) --------------- 
javax.ejb.EJBTransactionRolledbackException: Cannot load java type: org.mainco.bsorg.BusinessServiceFaultException 
     at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87) 
     at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130) 
     at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195) 
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 
     at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62) 
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 
     at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:249) 
     at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268) 
     at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138) 
     at $Proxy80.execute(Unknown Source) 
     at org.jboss.resource.adapter.quartz.inflow.QuartzJob.execute(QuartzJob.java:57) 
     at org.quartz.core.JobRunShell.run(JobRunShell.java:203) 
     at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 
Caused by: org.jboss.ws.WSException: Cannot load java type: org.mainco.bsorg.BusinessServiceFaultException 
     at org.jboss.ws.metadata.umdm.FaultMetaData.getJavaType(FaultMetaData.java:151) 
     at org.jboss.ws.core.jaxws.DynamicWrapperGenerator.generate(DynamicWrapperGenerator.java:139) 
     at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.addFault(JAXWSMetaDataBuilder.java:324) 
     at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.processWebMethod(JAXWSMetaDataBuilder.java:797) 
     at org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder.processWebMethods(JAXWSMetaDataBuilder.java:891) 
     at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.rebuildEndpointMetaData(JAXWSClientMetaDataBuilder.java:300) 
     at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPortInternal(ServiceDelegateImpl.java:271) 
     at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.getPort(ServiceDelegateImpl.java:202) 
     at javax.xml.ws.Service.getPort(Service.java:143) 
     at org.mainco.bsorg.OrganizationService.getOrganizationServicePort(OrganizationService.java:56) 
     at org.mainco.subco.orgsclient.quartz.UpdateOrgsJob.execute(UpdateOrgsJob.java:49) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112) 
     at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166) 
     at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) 
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 
     at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) 
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 
     at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) 
     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) 
     at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) 
     ... 11 more 
Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.mainco.bsorg.BusinessServiceFaultException 
     at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212) 
     at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:521) 
     at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:415) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
     at org.jboss.wsf.common.JavaUtils.loadJavaType(JavaUtils.java:143) 
     at org.jboss.ws.metadata.umdm.FaultMetaData.getJavaType(FaultMetaData.java:138) 

编辑:我部署JAR文件到$ JBOSS_HOME /服务器/ default/deploy目录。 JAR文件包含一个我想运行的Quartz作业,这就是为什么我将它保存到这个目录。

回答

0

检查您拥有的jar是否是正确的版本,并且如果您在jboss lib文件夹中有该jar文件(这里是C:\ jboss-4.2.3.GA \ server \ seam \ lib) * seam =您正在使用的个人资料的名称

相关问题