【发布时间】:2017-07-07 16:05:21
【问题描述】:
在 SOAP 请求的上下文中,
- 一个 WSDL
- 一堆 XSD,由 WSDL 引用
- SOAP 请求示例
我想验证 SOAP 请求是否适合 WSDL 和所有 XSD。
我正在专门寻找一种使用现有 gem 的简单(如代码行)方式。原则上,我知道如何通过从 WSDL 中提取所有 XSD 并自己针对 XSD 验证 XML(例如,使用nokogiri)来自己做这件事,但是在这个问题的上下文中,我特别在寻找一些东西就这么简单
require 'wonderful_validator'
WonderfulValidator.validate(xml, wsdl)
验证器应该能够,因为它当然可以以正确的方式找到所有文件,所以它应该能够做所有需要的事情来确定 XML 是否适合 WSDL 和所有 XSD。包括 SOAP 标头/正文消息结构。
类似于 Java. Validate SOAP message against a WSDL 或 http://www.soapui.org/apidocs/com/eviware/soapui/impl/wsdl/support/wsdl/WsdlValidator.html 或 https://www.codeproject.com/Articles/182406/Validating-SOAP-Message-against-WSDL ,只是在 ruby 中。
【问题讨论】:
-
虽然这是一个资源请求,它可能会被关闭。但是Savon 会自动完成所有这些工作。
-
巧合的是,我在一些项目中使用了 Savon,但到目前为止,我将它视为 SOAP 客户端,并不知道它可以验证现有的 XML 请求。或者您的意思是它能够解析 WDSL 以生成请求的功能?
-
@MarkThomas,嗯,类似的。另一个问题仅限于 Savon,我对一切都持开放态度。但似乎还没有真正好的解决方案。
-
我认为 Savon 自动验证了针对 WSDL 的请求。不过,不确定该功能对于点菜使用的公开程度。
标签: ruby validation wsdl