0

Grails Cxf プラグインを使用して jaxws として公開するサービス クラスがあります。私のサービスでは、Web サービスで使用する別のサービス クラスを注入する必要があります。サービス フィールドを public にすると、以下のように不要なサービス メソッドが生成されます。

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
}

}

4

1 に答える 1

0

サービス エンドポイントをプライベートにし、エンドポイント宣言の前に @Autowired を追加する必要があります。

@Autowired
private PricingContractService pricingContractService
于 2013-11-26T18:37:28.170 に答える