【发布时间】:2010-08-11 17:19:25
【问题描述】:
我正在使用一个使用 soap/wsdlDriver 的 gem。
当我发布时,我收到了一个 SOAP 响应,但无法轻松解析它。
这是我得到的回复:
#<SOAP::Mapping::Object:0x159e95faf098 {}id="27b907f8-da51-f611-ab02-4c5f88a8ec8
8" {}error=#<SOAP::Mapping::Object:0x159e95fae33c {}number="0" {}name="No Error"
{}description="No Error">>
我需要获取 id="xxxx" 中的全部值
这就是 heroku 上的内容(注意:它在本地工作)。这来自测试 response.id 的各种变体(其中 response.inspect 是创建上述输出的原因)
f" {}错误=#> 响应[id] /disk1/home/slugs/220752_47a08bb_10e7/mnt/app/controllers/sugarcrm_controller.rb :77: 警告:Object#id 将是 已弃用;使用 Object#object_id 无 response.id: /disk1/home/slugs/220752_47a08bb_10e7/mnt/app/controllers/sugarcrm_controller.rb :79: 警告:Object#id 将是 已弃用;使用对象#object_id 23891500658740 /disk1/home/slugs/220752_47a08bb_10e7/mnt/app/controllers/sugarcrm_controller.rb :80: 警告:Object#id 将是 已弃用;使用 Object#object_id 这个 是contact_id:23891500658740 事件:
【问题讨论】:
-
这是实际的服务器响应吗?还是某个对象的
inspect值?因为它看起来像是SOAP::Mapping::Object类的 ruby 实例。如果是这样,我敢打赌它有某种 API 可以访问这些数据。object.attributes[:id]之类的。 -
嗯...我需要检查一下我不记得了。现在看代码....我怎样才能知道如何访问数据?我尝试了 response.id,但它不起作用(其中 response = SOAP CALL)
-
是的,你是对的,它是一个.inspect