【问题标题】:How to generate targetNamespace in a web service with Grails and CXF如何使用 Grails 和 CXF 在 Web 服务中生成 targetNamespace
【发布时间】:2012-09-26 14:43:07
【问题描述】:

我正在使用 Grails (2.1.0) 和 CXF 插件 (0.9.0) 生成 Web 服务端点,并且正在生成我的 wsdl,包名称为 targetNamespace。

根据this 教程,我应该用@WebService 注释我的类,并使用targetNamespace 属性使其符合我的需要,但没有用。

即使在服务类中使用注释(不使用接口),我生成的 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?

【问题讨论】:

  • 您在服务中使用expose = ['cxfjax'] 吗?我认为它不适用于expose = ['cxf']
  • @IanRoberts 我使用的是expose = ['cxf']。更改为 expose = ['cxfjax]' 并且正确生成了 targetNamespace
  • 很高兴它有帮助。我已将我的评论添加到答案中,以便您接受。

标签: web-services grails namespaces cxf


【解决方案1】:

各种@Web*注解只有在你使用时才会被读取

static expose = ['cxfjax']

为您服务。如果您使用的是expose = ['cxf'],则需要更改为cxfjax

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多