我已经成功地将 savon 与一个具有 WSDL 的站点一起使用,但现在我有一个只提供 XSD 的站点,所以我无法执行
client = Savon.client("http://service.example.com?wsdl")
可以保存导入并用于数据提取吗?我认为有一种方法可以伪造一些标题,但我不确定。
作为参考,XSD 在这里 http://api.parature.com/schema/xsd/Retrieve-Ticket.xsd
查尔斯
Savon 是一个专门用于 soap 的客户端,因此需要一个 wsdl。尽管 soap 是用 xml 表示的,而 wsdl 是 xsd 的一部分,但相反的不是真的,因为模式不是 Web 服务定义。长话短,你在那里运气不好,萨翁就没用了。无论你如何尝试和破解它,你都在打败一匹死马。
我能建议的最令人满意的折衷方案是 Savon 使用的 nokogiri,它完全能够单独处理您现在面临的 xsd/xml 接口。
嘟嘟!