我有一个用Grails编写的web服务,使用xfire插件发布。这一切都很好,可以连接到没有任何问题。但是我想修改请求和响应的格式。这有可能吗?
示例结构如下:
域类Person具有多个Sibling。每个Sibling都有一个Child。
我的web服务方法目前看起来像这样:
Person updatePerson(Person person) {
return Person.getById(person.id)
}但这会生成一个格式为:
Person
Person fields
Sibling
Sibling fields
Child
Sibling
Sibling fields等等。
我不想接受这种格式的数据,也不想返回这种格式的数据。有没有一种方法可以指定向web服务公开哪些字段以及WSDL应该是什么样子,或者xfire是不是用于此目的的错误插件?
发布于 2009-08-08 17:09:02
作为它的创造者,我会回答这个问题。要排除某些域属性,请添加:
static xmlTransients = ['your_property_goes_here']添加到您的域类。
但是,该插件不允许您直接控制WSDL的创建。
发布于 2009-08-09 05:26:24
我建议你看看Spring WS插件。它是围绕“契约优先”的web服务开发而设计的,因此您可以完全控制生成的WSDL。Xfire,Axis和Metro插件都很棒,但根据我的经验,它们都是面向代码优先的,不允许直接控制结果界面/输出。
https://stackoverflow.com/questions/1248796
复制相似问题