【问题标题】:Axis2 deployment issueAxis2 部署问题
【发布时间】:2016-09-06 09:51:51
【问题描述】:

我使用axis2 1.7.3 版本来满足我的网络服务需求。当我部署 aar 文件时,它显示以下异常。我在 Web 服务实现文件中使用了 java 8 特性(例如流、过滤器等)。 axis2 是否支持部署使用 java 8 特性实现的 Web 服务。

org.apache.axis2.deployment.DeploymentException:在模式生成期间发生以下错误:在字节码中查找参数名称时出错:文件中出现意外字节 在 org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:441) 在 org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:109) 在 org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:232) 在 org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:154) 在 org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:149) 在 org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:585) 在 org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:164) 在 org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377) 在 org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) 在 org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371) 在 org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:73) 在 org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:94) 在 org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Scheduler.java:93) 在 java.util.TimerThread.mainLoop(未知来源) 在 java.util.TimerThread.run(未知来源) 原因:org.apache.axis2.deployment.DeploymentException:在模式生成期间发生以下错误:在字节码中查找参数名称时出错:文件中出现意外字节 在 org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:404) ... 14 更多 原因:java.lang.IllegalStateException:在字节码中查找参数名称时出错:文件中出现意外字节 在 org.apache.axis2.description.java2wsdl.bytecode.ClassReader.readCpool(ClassReader.java:354) 在 org.apache.axis2.description.java2wsdl.bytecode.ParamReader.(ParamReader.java:78) 在 org.apache.axis2.description.java2wsdl.bytecode.ParamReader.(ParamReader.java:57) 在 org.apache.axis2.description.java2wsdl.bytecode.ChainedParamReader.(ChainedParamReader.java:52) 在 org.apache.axis2.description.java2wsdl.bytecode.MethodTable.(MethodTable.java:31) 在 org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.(DefaultSchemaGenerator.java:177) 在 org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:454) 在 org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:396) ... 14 更多

【问题讨论】:

    标签: java web-services axis2


    【解决方案1】:

    不,Axis2(我使用 1.7.4)在实现类中使用 Java 8 功能时不起作用,因为轴在分析该字节码时存在问题。

    作为一种解决方法,在我的情况下,删除骨架实现中的 Java 8 功能(例如流)解决了这个问题。除了 Web 服务实现类(使用 Axis2 时)之外,您可以在任何地方使用这些功能。

    【讨论】:

    • 我本可以花很长时间来解决这个问题,所以谢谢你提到它
    • 它不适用于我的项目:/
    【解决方案2】:

    快速查看 Axis 源代码 (https://svn.apache.org/repos/asf/axis/axis2/java/core/tags/v1.0/modules/java2wsdl/src/org/apache/ws/java2wsdl/bytecode/ClassReader.java),您的类文件似乎有问题(“损坏的类文件”,第 354 行)。

    【讨论】:

      猜你喜欢
      • 2015-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 2016-07-05
      相关资源
      最近更新 更多