Ошибка веб-службы Eclipse axis2 - PullRequest
1 голос
/ 23 марта 2012

Я сейчас использую axis2 и использую Eclipse для создания проекта веб-сервиса.Теперь у меня проблемы.

Файл 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 нельзя преобразовать в 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.

Ответы [ 2 ]

2 голосов
/ 20 июня 2012

Как объяснено в ответе выше, только версия магистрали Axis2 (1.7.0-SNAPSHOT) поддерживает такие коллекции, как списки, карты.

Если вы не используете версию магистрали Axis2 (1.7.0SNAPSHOT) вы не можете их использовать.Вы должны использовать массивы с другими версиями Axis2.

Спасибо и С уважением,

Харшана

1 голос
/ 23 марта 2012

Кто-то сказал мне, что axis2 не может иметь дело с типом возврата List или Map?

Что кто-то был прав.

Вам нужно будет возвращать массивы,или в вашем случае массивы массивов.

...