2017-05-04 59 views
1

我創建了一個Web服務,它工作正常序列化時,返回的是列表 這樣的:找不到類錯誤,當我嘗試創建一個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; 
} 

} 

但是,當我更改返回列出他們無法返回創建此列表,並配備了這個錯誤:

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 

這與列表返回類:

@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; 
} 

} 

這是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; 
} 

} 

你能幫助我嗎?

回答

1

您是否在Axis中配置了序列化程序?如果沒有,你需要配置它。軸自帶BeanSerializer

配置您的豆映射 BeanSerializer

相關問題