2017-05-04 1 views
1

créer un service Web et il fonctionne très bien lorsque le retour est Liste comme ceci:Aucun sérialiseur trouvé pour erreur de classe lorsque je tente de créer un service Web

@WebService 
public class IndicatorWSImpl extends SpringBeanAutowiringSupport implements IndicatorWS { 

@Autowired 
private HomeIndicadoresReportService homeIndicadoresReportService; 


@Override 
public List<String> entidades() { 

    homeIndicadoresReportService.buildValuesToGraph(resultMesAtual, selectedEntity, selectedBS, selectedTS, 
      selectedFunctionality, filter, false); 

    List<String> lista = new ArrayList<String>(); 

    for (EntityIndicatorVO entityIndicatorVO : resultMesAtual) { 
     lista.add(entityIndicatorVO.getName()); 
    } 


    return lista; 
} 

} 

Mais quand je change le retour de la liste ils ne peuvent pas créer cette liste sur le retour et venir avec cette erreur:

mai 04, 2017 9:44:20 AM org.apache.axis.Message writeTo 
GRAVE: java.io.IOException: 
AxisFault 
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException 
faultSubcode: 
faultString: java.io.IOException: No serializer found for class  com.santander.portalcio.backend.services.bsts.indicators.EntityIndicatorVO in registry [email protected] 
faultActor: 
faultNode: 
faultDetail: 
{http://xml.apache.org/axis/}stackTrace:java.io.IOException: No serializer found for class com.santander.portalcio.backend.services.bsts.indicators.EntityIndicatorVO in registry [email protected] 
at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1507) 
at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980) 
at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:734) 
at org.apache.axis.encoding.ser.ArraySerializer.serialize(ArraySerializer.java:425) 
at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1504) 
at 

ce sont la classe avec liste retour:

@WebService 
public class IndicatorWSImpl extends SpringBeanAutowiringSupport implements IndicatorWS { 

@Autowired 
private HomeIndicadoresReportService homeIndicadoresReportService; 

@Override 
public List<EntityIndicatorVO> entidades() { 

    homeIndicadoresReportService.buildValuesToGraph(resultMesAtual, selectedEntity, selectedBS, selectedTS, 
      selectedFunctionality, filter, false); 


    return resultMesAtual; 
} 

} 

c'est la classe VO:

public class EntityIndicatorVO extends IndicatorVO implements Serializable { 

private static final long serialVersionUID = 1L; 

private List<BSIndicatorVO> bsList; 


public EntityIndicatorVO(Long id, String name) { 
    super(id, name, 0d); 
} 

public EntityIndicatorVO() { 
} 

public void copy(EntityIndicatorVO entityInd) { 
    super.copy(entityInd); 
    setBsList(entityInd.getBsList()); 
} 

public List<BSIndicatorVO> getBsList() { 
    if (bsList == null) { 
     bsList = new ArrayList<BSIndicatorVO>(); 
    } 
    return bsList; 
} 

public void setBsList(List<BSIndicatorVO> bsList) { 
    this.bsList = bsList; 
} 

} 

Pourriez-vous me aider?

Répondre

1

Avez-vous configuré un sérialiseur dans Axis? Sinon, vous devez le configurer. L'axe est livré avec BeanSerializer.

Configuration de votre carte de haricots BeanSerializer