【问题标题】:eclipse axis2 web service erroreclipse axis2 web服务错误
【发布时间】:2012-03-23 16:14:51
【问题描述】:

我现在正在使用axis2 并使用Eclipse 生成一个Web 服务项目。现在我有麻烦了。

Java 文件:

public class WebServiceServer{

public Map<String,String> getConfigInfo(List<Map<String,Object>> objectList){
    Map<String,String> returnMap = new HashMap<String, String>();

    try {
        //do something
    } catch (ConfigurationException e) {
        e.printStackTrace();
    } 
    return returnMap;
}

}

我现在使用的是 Eclipse Java EE 3.6,我喜欢 wtp 插件。现在,我使用 Eclipse 并右键单击我的项目然后 New-->Other-->Web Service。

但是当我启动tomcat时,错误来了。

org.apache.axis2.deployment.DeploymentException: 
The following error occurred during schema generation: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class
at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:433)
at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:101)
at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:178)
at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:82)
at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:813)
at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:370)
at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:142)
at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:283)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95)
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:584)
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:454)
at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:60)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

Caused by: org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class
at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:397)

Caused by: java.lang.ClassCastException: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class

[ERROR] The WebServiceServer service, which is not valid, caused The following error occurred during schema generation: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class

org.apache.axis2.deployment.DeploymentException:在模式生成过程中出现以下错误:sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class

Caused by: org.apache.axis2.deployment.DeploymentException: The following error occurred during schema generation: sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl cannot be cast to java.lang.Class



 Someone told me that axis2 cannot deal with the return type is List or Map?
 Any replay is welcome. Thanks.

【问题讨论】:

    标签: eclipse web-services axis2


    【解决方案1】:

    如上回答中所解释,只有 Axis2 Trunk 版本(1.7.0-SNAPSHOT)支持列表、地图等集合。

    除非您使用的是 Axis2 中继版本 (1.7.0-SNAPSHOT),否则您无法使用它们。您必须将数组与其他版本的 Axis2 一起使用。

    感谢和问候,

    哈莎娜

    【讨论】:

      【解决方案2】:

      有人告诉我axis2不能处理返回类型是List或者 地图?

      有人说得对。

      您需要返回数组,或者在您的情况下,返回数组数组。

      【讨论】:

        猜你喜欢
        • 2012-01-05
        • 2012-04-23
        • 2021-04-29
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多