我正在尝试向另一个使用xml-rpc的webapp发送请求。到目前为止,我已经将groovy的XML-RPC module添加到我的项目中。我说实话是因为我在互联网上看到的例子很少。如果我的想法是正确的,我只想快速地知道。以下是问题:
如果我想发送一个对象和我的请求,这意味着我必须将该对象转换为xml格式,如here所述,这是正确的吗?
如果#1中的答案是肯定的,是否有一种常规方法将对象转换为#1中的所述格式?
我的对象在呈现为XML时看起来像这样。这不是我所知道的正确格式,但我正在寻找能够改变它的东西,正如#2链接中所解释的那样。非常感谢我指出正确的道路。
<myObject id="1">
<date>2014-07-01 00:00:00.0 PHT</date>
<isCancelled>true</isCancelled>
<isPosted>true</isPosted>
<isReceived>false</isReceived>
<issueTo>some bloke</issueTo>
<items>
<item id="1" />
<item id="2" />
</items>
</myObject>
答案 0 :(得分:0)
如果您真的知道自己想要什么,那么您可以使用自定义XML生成编写自己的编组器。
@Log4j
class YourCustomMarshaller implements ObjectMarshaller<XML> {
@Override
boolean supports(Object object) {
return object instanceof YourCustomDomain
}
@Override
void marshalObject(Object object, XML converter) throws ConverterException {
...
}
}
并在BootStrap.groovy
init部分注册。
import grails.converters.JSON
class BootStrap {
def init = { servletContext ->
...
JSON.registerObjectMarshaller(new YourCustomMarshaller())
...
}
def destroy = {
}
}
此外,您可以尝试搜索插件。比如这样
https://grails.org/plugins/search?q=rpc
第一个链接是http://grails.org/plugin/xmlrpc
,但我不确定这是你需要的。