web-services - 如何使用 Grails 和 CXF 在 Web 服务中生成 targetNamespace

标签 web-services grails namespaces cxf

我使用 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/

相关文章:

java - JAX-RS 服务响应返回不带小数位的双字段

java - 如何以线程安全的方式使用 CXF 客户端

java - 如何将现有的 SOAP 请求消息导入 SoapUI?

json - 如何在 Grails 中为 JSON 转换器设置日期格式

java - 如何从 Android 调用 RESTful Web 服务?

Grails oauth 插件不起作用

unit-testing - 使用mockFor和MockDomain的问题覆盖方法

php - 如何使用 php Soap 库向 SoapHeader 节点添加属性

java - 如何在 JAVA 中为单个 XML 元素编写默认命名空间和带有前缀的命名空间

.net - 命名空间在其他项目中不可用