【发布时间】:2011-10-20 01:16:57
【问题描述】:
我承认我对 SOAP 和 Savon 都是新手,但我已经将它与另一个服务一起使用,但这个让我很困惑。
WSDL 在这里: http://stg-wholesale.carsdirect.com/ws/services/Ping?WSDL
完成后的文档应如下所示:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<dealerPing xmlns="http://wholesale.carsdirect.com">
<request>
<partner>
<pricePlan>integer</pricePlan>
<id>integer</id>
</partner>
<vehicle>
<year>integer</year>
<make>string</make>
<model>string</model>
<trim>string</trim>
</vehicle>
<zipcode>integer</zipcode>
</request>
</dealerPing>
</soap:Body>
</soap:Envelope>
如果有人能接近生成这样的文档或给我一些指示,我将不胜感激。
我尝试做类似的事情:
client = Savon::Client.new{|wsdl| wsdl.document = @cp.wsdl}
@response = client.dealer_ping do |soap|
...
end
但是,我收到了这个错误:未定义的方法 `dealer_ping' for #
我几乎被困在这一点上。我对这个等式的两个部分都缺乏了解。
谢谢。
【问题讨论】:
-
不得不去开会,但我一定会在今天晚些时候回答这个问题。快速回答是:使用
client.request并查看savonrb.com的文档 -
我做到了。我只是在理解如何让肥皂请求看起来完全像我需要的东西时遇到了一些问题。感谢您的帮助。
-
嘿,埃里克。我尝试使用soapUI 创建一个有效的请求,但我收到“错误NCWM.PI.426”系统错误。不知道我是否必须猜测正确的合作伙伴 ID 或价格计划,但请求不成功。你能生成一个有效的请求,以便我可以用一个工作示例来回答吗?
-
我不能透露,抱歉。但是,如果您可以让 savon 正确生成 xml,那将是朝着正确方向迈出的一大步,谢谢。