2013-05-16 57 views
0

我有一个服务类,我使用Grails Cxf插件公开为jaxws。在我的服务中,我必须注入另一个服务类,我在我的Web服务中使用它。如果我让服务领域公共我得到像下面产生的不必要的服务方式:Grails注入的服务在cxf中显示为web方法

retrieveLastRecordUpdateDate 
setPricingContractService 
retrieveRecordsUpdatedFromDate 
retrieveAllRecordsByInsurance 
getPricingContractService 

如果我让外地私人我不能注入的服务类。我怎样才能注入服务,而不是将其作为Web服务公开?下面简化代码:

class PricingContractWebService { 

static expose = EndpointType.JAX_WS 

def pricingContractService // private? 

@WebMethod(operationName="retrieveAllRecordsByInsurance") 
@WebResult(name="pricingContractList") 
@XmlElement(name="healthCareCompany", required=true) 
List<PricingContractDTO> retrieveAllRecordsByInsurance(@WebParam(partName = "HealthCareCompany", name = "healthCareCompany",) final HealthCareCompany healthCareCompany) { 

    def pricingContractDTOList = [] 

    pricingContractDTOList 
} 

@WebMethod(operationName="retrieveLastRecordUpdateDate") 
@WebResult(name="lastUpdateDate") 
Date retrieveLastRecordUpdateDate() { 

} 

@WebMethod(operationName="retrieveRecordsUpdatedFromDate") 
@WebResult(name="pricingContractList") 
@XmlElement(name="updateDate", required=true) 
List<PricingContractDTO> retrieveRecordsUpdatedFromDate(@WebParam(name = "updateDate") final Date date) { 

    def pricingContractDTOList = [] 

    pricingContractDTOList 
} 

}

回答

0

你应该让服务端点私人和端点声明之前添加@Autowired:

@Autowired 
private PricingContractService pricingContractService