2017-04-27 1 views
0

in diesem Web-Service nicht funktionieren Ich schaffe einen Web Service Mit JAX-WS, aber ich kann ein Bean mit @AutowiredWarum ist mein Frühling @Autowired

Ich habe versucht, viele Dinge ohne Erfolg injizieren.

Hat jemand einige Ideen, die mir bei diesem Problem helfen?

Vielen Dank.

IndicadoresBSTSWebServiceImpl:

package com.santander.portalcio.ws; 

import java.util.ArrayList; 
import java.util.Date; 
import java.util.List; 

import javax.annotation.PostConstruct; 
import javax.jws.WebService; 

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Service; 
import org.springframework.web.context.support.SpringBeanAutowiringSupport; 

import com.santander.portalcio.backend.entities.IncidentType; 
import     
com.santander.portalcio.backend.services.bsts.indicators.BSIndicatorVO; 
import com.santander. 
portalcio.backend.services.bsts.indicators.BSTSIndicatorsFilterVO; 
import 
com.santander.portalcio.backend.services.bsts.indicators.EntityIndicatorVO; 
import 

com.santander. 
portalcio.backend.services.bsts.indicators.FunctionalityIndicatorVO; 
import com.santander. 
portalcio.backend.services.bsts.indicators.TSIndicatorVO; 
import com.santander. 
portalcio.ui.managedbean.home.HomeIndicadoresReportService; 

@Service 
@WebService(endpointInterface =   
"com.santander. 
portalcio.ws.IndicadoresBSTSWebServiceInterface") 
public class IndicadoresBSTSWebServiceImpl extends      
SpringBeanAutowiringSupport 
implements IndicadoresBSTSWebServiceInterface { 


@PostConstruct 
public void init() { 
    SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this); 
} 

@Autowired 
private HomeIndicadoresReportService homeIndicadoresReportService; 

private List<EntityIndicatorVO> resultMesAtual; 

private BSTSIndicatorsFilterVO filter = new BSTSIndicatorsFilterVO(); 

private EntityIndicatorVO selectedEntity = new EntityIndicatorVO(); 
private BSIndicatorVO selectedBS = new BSIndicatorVO(); 
private TSIndicatorVO selectedTS = new TSIndicatorVO(); 
private FunctionalityIndicatorVO selectedFunctionality = new  
FunctionalityIndicatorVO(); 


@Override 
public ListaWS teste() { 
    filter.setStart(new Date("01/01/2016")); 
    filter.setEnd(new Date("01/31/2016")); 
    IncidentType[] tipo = { IncidentType.BATCH, IncidentType.ONLINE }; 
    filter.setTypeList(tipo); 
    resultMesAtual = new ArrayList<EntityIndicatorVO>(); 

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


    return new ListaWS(resultMesAtual); 
    } 

} 

IndicadoresBSTSWebServiceInterface:

package com.santander.portalcio.ws; 

import javax.jws.WebMethod; 
import javax.jws.WebService; 
import javax.jws.soap.SOAPBinding; 
import javax.jws.soap.SOAPBinding.ParameterStyle; 
import javax.jws.soap.SOAPBinding.Style; 

@WebService 
@SOAPBinding(style = Style.RPC, parameterStyle = ParameterStyle.WRAPPED) 
public interface IndicadoresBSTSWebServiceInterface { 

@WebMethod 
ListaWS teste(); 

} 

Web.xml:

<listener> 
    <listener-class> 
     com.sun.xml.ws.transport.http.servlet.WSServletContextListener 
    </listener-class> 
</listener> 
<servlet> 
    <servlet-name>indicadoresBSTS</servlet-name> 
    <servlet-class> 
     com.sun.xml.ws.transport.http.servlet.WSServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>indicadoresBSTS</servlet-name> 
    <url-pattern>/indicadoresBSTS</url-pattern> 
</servlet-mapping> 
<session-config> 
    <session-timeout>30</session-timeout> 
</session-config> 

HomeIndicadoresReportService:

package com.santander.portalcio.ui.managedbean.home; 

import java.io.Serializable; 
import java.util.List; 

import  com.santander. 
portalcio.backend.services.bsts.indicators.BSIndicatorVO; 
import com.santander. 
portalcio.backend.services.bsts.indicators.BSTSIndicatorsFilterVO; 
import com.santander. 
portalcio.backend.services.bsts.indicators.EntityIndicatorVO; 
import com.santander. 
portalcio.backend.services.bsts.indicators.FunctionalityIndicatorVO; 
import com.santander. 
portalcio.backend.services.bsts.indicators.TSIndicatorVO; 

public interface HomeIndicadoresReportService extends Serializable { 

public void selectAndBuildEntityBsTsFunc 
(List<EntityIndicatorVO> resultAux,  BSTSIndicatorsFilterVO filter); 

public void selectcompFuncInc 
(List<EntityIndicatorVO> resultAux, EntityIndicatorVO selectedEntity, 
     BSIndicatorVO selectedBS, 
TSIndicatorVO selectedTS, FunctionalityIndicatorVO selectedFunctionality, 
     BSTSIndicatorsFilterVO filter, boolean isIndicatorsBSTS); 

public void selectTotaoInc 
(List<EntityIndicatorVO> resultAux, EntityIndicatorVO selectedEntity, 
     BSIndicatorVO selectedBS, 
TSIndicatorVO selectedTS,   
FunctionalityIndicatorVO  selectedFunctionality, 
BSTSIndicatorsFilterVO filter); 

public void buildValuesToGraph 
(List<EntityIndicatorVO> resultMes,  EntityIndicatorVO selectedEntity, 
     BSIndicatorVO selectedBS, 
TSIndicatorVO selectedTS, FunctionalityIndicatorVO selectedFunctionality, 
     BSTSIndicatorsFilterVO filter, boolean isIndicatorsBSTS); 

} 

HomeIndicadoresReportServiceBean:

package com.santander.portalcio.ui.managedbean.home; 
@Repository 
@Transactional(propagation = 
Propagation.REQUIRED, rollbackFor =  Exception.class) 
public class HomeIndicadoresReportServiceBean 
implements HomeIndicadoresReportService { 

private static final long serialVersionUID = 6513587371275348695L; 

@PersistenceContext 
private EntityManager em; 

@Autowired 
private UnavailabilityValidationHelper unavailabilityHelper; 

@Autowired 
private FunctionalityAvailableService functionalityAvailableService; 

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 

DecimalFormat df = new DecimalFormat("#,###,###"); 
DecimalFormat dfHour = new DecimalFormat("00"); 

@Override 
public void buildValuesToGraph(List<EntityIndicatorVO> 
resultMes, EntityIndicatorVO selectedEntity, 
     BSIndicatorVO selectedBS, TSIndicatorVO 
selectedTS, FunctionalityIndicatorVO selectedFunctionality, 
     BSTSIndicatorsFilterVO filter, boolean isIndicatorsBSTS) { 

    selectAndBuildEntityBsTsFunc(resultMes, filter); 

    selectcompFuncInc(resultMes, selectedEntity, 
selectedBS, selectedTS, selectedFunctionality, filter, 
      isIndicatorsBSTS); 

Antwort

0

Während Sie HomeIndicadoresReportService autowire versuchen, scheint es nicht, dass Sie das als eine Spring-Bean konfiguriert haben. Sie können diese HomeIndicadoresReportService-Klasse entweder mit @Service annotieren, einen XML-Konfigurationseintrag in Ihrer Anwendungskontextdatei erstellen oder eine @Bean-Konfigurationsmethode dafür in Ihrer Java-Konfigurationsklasse erstellen (abhängig davon, wie Sie Ihren Spring-Kontext konfiguriert haben).

+0

Ich bin mir nicht sicher, ob mein Projekt eine Spring-Konfiguration hat, haben Sie ein Beispiel für diese Lösung? –

+0

Ich füge mehr 2 Klassen hinzu –

Verwandte Themen