2016-09-06 170 views
-1

我用我的web服務需求的axis2 1.7.3版本。當我部署aar文件時,它顯示下面的異常。我在web服務實現文件中使用了java 8的特性(例如流,過濾器等)。 axis2是否支持部署使用Java 8功能實現的Web服務。Axis2部署問題

org.apache.axis2.deployment.DeploymentException:架構生成過程中出現以下錯誤:錯誤字節碼尋找放慢參數名:在org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder文件 意外字節。 java:441) at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:109) at 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) 在有機apache.axis2.deployme nt.DeploymentEngine.doDeploy(DeploymentEngine.java:585) at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:164) at org.apache.axis2.deployment.RepositoryListener.update( (org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371) at 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) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source) 引起:org.apache.axis2.deployment.DeploymentException:在模式生成期間發生以下錯誤:在字節碼中查找參數名稱時出錯:文件中的意外字節 at org .apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:404) ... 14更多 引起:java.lang.IllegalStateException:在字節碼中查找參數名稱時出錯:文件中的意外字節 at org.apache .axis2.description.java2wsdl.bytecode.ClassReader.readCpool(ClassReader.java:354) at org.apache.axis2.description.java2wsdl.bytecode.ParamReader。(ParamReader.java:78) at org.apache.axis2。 description.java2wsdl.bytecode.ParamReader。(ParamReader.java:57) 在org.apache.axis2.description.java2wsdl.bytecode.ChainedParamReader。(ChainedParamReader.java:52) at org.apache.axis2.description.java2wsdl.bytecode.MethodTable。(MethodTable.java:31) at org.apache (DefaultSchemaGenerator.java:177) ,位於org.apache.axis2.deployment.ServiceBuilder的org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:454) 。 populateService(ServiceBuilder.java:396) ...... 14多個

回答

3

不,Axis2(我使用1.7.4)在實現類中使用Java 8功能時不起作用,因爲軸以某種方式在分析該字節碼時出現問題。

作爲一種解決方法,在我的情況下,刪除骨架實現中的Java 8功能(例如流)就解決了這個問題。除了Web服務實現類(使用Axis2時),您可以在任何地方使用這些功能。