首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不调用web服务的情况下使用soap4r生成XML?

在不调用web服务的情况下使用soap4r生成XML?
EN

Stack Overflow用户
提问于 2009-07-27 16:16:29
回答 1查看 728关注 0票数 0

我已经为web服务设置了一个soap4r客户端,它工作得相当好。我们正在使用它将数据从一个数据库发送到另一个数据库(不必费心询问这一点……我知道这不是最优的),但我们不能完全确定映射是否正确,因此获取特定记录将生成的XML通常是非常方便的。

当然,这也是可能的--如果您设置了$DEBUGsoap4r将通过网络为您提供一个很好的XML转储。你甚至可以设置你想要发送到的“设备”(文件)。

但是,我希望能够获得它将要生成的XML,而不必实际调用web服务。

有没有办法做到这一点?到处寻找,我发现了各种各样的obj2soap和类似的方法,但似乎没有一个是我想要的。

EN

回答 1

Stack Overflow用户

发布于 2009-07-31 21:20:42

一个间接的答案是:您可能想看看handsoap。它更快,并试图变得更像Ruby。它使用构建器风格的XML生成-但您必须自己生成所有内容。它更像是一个工具箱,可以用一种干净的方式编写你的客户端。通过这种方式,您可以知道生成了什么(并且可以轻松地检查它)。

另一种选择是设置$DEBUG,然后恢复它:

代码语言:javascript
复制
$REMEMBER_DEBUG_STATE = $DEBUG
$DEBUG = true
# call soap (and have your XML generated)
$DEBUG = $REMEMBER_DEBUG_STATE

可以将其提取到一个很好的函数中,如下所示:

代码语言:javascript
复制
def with_debug_output
  remember = $DEBUG
  $DEBUG = true
  yield if block_given?
  $DEBUG = remember
end

然后使用它:

代码语言:javascript
复制
with_debug_output do
  # call soap
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1189130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档