我使用 Grails (2.1.0) 和 CXF 插件 (0.9.0) 生成 Web 服务端点,并且使用包名称作为 targetNamespace 生成我的 wsdl。
根据this教程我应该用 @WebService 注释我的类并使用 targetNamespace 属性使其满足我的需要,但没有工作。
即使在服务类中使用注释(不使用接口(interface)),我生成的 wsdl 第一行是:
<wsdl:definitions name="ServiceName" targetNamespace="http://com.packageName/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://com.packageName/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
我应该怎样做才能获得正确的 targetNamespace?
最佳答案
只有使用时才会读取各种@Web*
注释
static expose = ['cxfjax']
为您服务。如果您使用的是 expose = ['cxf']
,则需要更改为 cxfjax
。
关于web-services - 如何使用 Grails 和 CXF 在 Web 服务中生成 targetNamespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12604319/