0

以下のように簡略化されたcxf Webサービスがあります。私の問題は、以下のようにサービスを注入すると、生成された wsdl に setParameterService/getParameterService および getMessageSource/setMessageSource メソッドも含まれることです。それらを Web サービスとして公開したくない場合はどうすればよいですか?

@WebService(portName = "OrganizationPort", serviceName = "OrganizationService", name = "OrganizationService", targetNamespace = "http://akum.compugroup.com")
@SOAPBinding(parameterStyle = ParameterStyle.WRAPPED, use = Use.LITERAL, style = Style.DOCUMENT)
class OrganizationWebService {

def parameterService
def messageSource

static expose = EndpointType.JAX_WS

@WebMethod
@WebResult
Organization kurumSorgulama(@WebParam(partName = "KurumSorgulamaTalep", name = "KurumSorgulamaTalep", targetNamespace = "http://akum.compugroup.com") String kurumKodu) { 

    return organization
}

@WebMethod
@WebResult
Organization authorize(@WebParam(partName = "KurumSorgulamaTalep", name = "KurumSorgulamaTalep", targetNamespace = "http://akum.compugroup.com") String kurumKodu) {

    return organization
}

}

4

3 に答える 3

0

私は Grails アプリでこれを行ったことはありませんが、通常は@XmlTransient. @XmlAccessorType(XmlAccessType.FIELD)また、クラス レベルで使用する必要がある場合もあります。

于 2013-07-04T11:39:59.733 に答える
0

あなたは置き換えることができます:

@WebService(portName = "OrganizationPort", serviceName = "OrganizationService", name = "OrganizationService", targetNamespace = "http://akum.compugroup.com")

と:

@GrailsCxfEndpoint

@GrailsCxfEndpointは、すべてのゲッターとセッターを自動的に除外します。

ただし、portNameserviceNamename、およびtargetNamespaceを設定する機能が失われます。それがまさに私が現在抱えている問題です。

@GrailsCxfEndpointと@WebServiceを混在させることも、ゲッターとセッターを再び公開するため、解決策にはなりません。

于 2013-10-12T15:37:09.587 に答える