Soap 如何验证WSDL契约中断?

Soap 如何验证WSDL契约中断?,soap,wsdl,soa,soapui,contract-first,Soap,Wsdl,Soa,Soapui,Contract First,我知道什么会破坏WSDL契约(),但每次我们对一些WSDL进行更改时,我们都需要向其他团队证明该更改是否破坏了契约。由于我们不希望将整个应用程序构建为我们服务的客户机,因此我们希望使用一些更简单的工具(如soapUI)来实现这一目的 我已经在互联网上查看了soapUI断言,但仍然没有找到任何线索。 有人能帮我吗 感谢并问候您,您可以创建wsdl契约的xml方案或dtd,然后可以使用它轻松验证wsdl xml的结构。查看。此工具基于服务的两个WSDL文件(原始和修改)生成HTML报告。在报告中,您

我知道什么会破坏WSDL契约(),但每次我们对一些WSDL进行更改时,我们都需要向其他团队证明该更改是否破坏了契约。由于我们不希望将整个应用程序构建为我们服务的客户机,因此我们希望使用一些更简单的工具(如soapUI)来实现这一目的

我已经在互联网上查看了soapUI断言,但仍然没有找到任何线索。 有人能帮我吗


感谢并问候您,

您可以创建wsdl契约的xml方案或dtd,然后可以使用它轻松验证wsdl xml的结构。

查看。此工具基于服务的两个WSDL文件(原始和修改)生成HTML报告。在报告中,您可以看到修改后的合同中引入的所有破坏性变更。

Hi Marco!谢谢你的回复。我知道从wsdl生成XML模式并不容易,尤其是当您有多个服务时。然而,你的解决方案是迄今为止我找到的最好的。我真的不明白为什么soapUI或其他类似的工具不能验证这一点。。。再次感谢!不幸的是,因为您使用的是基于xml的服务,我认为没有其他方法可以做到这一点,这并不完美,但这正是我们所得到的。至于工具,也许还没有人知道:)不,仅仅模式是不够的。SOAP请求不仅仅是XML。操作、编码、SOAP1.1/1.2、样式、策略——所有这些(以及更多)都会破坏向后兼容性。请查看我的免费工具:它有望发现所有使WSDL版本不兼容的修改。@VladatMockMotor yes和yes。每个xml文档、soap或其他结构都可以使用xml方案或dtd进行验证,所以是的,您完全错了。有一些工具可以生成xml方案文件,无需介绍您的…@MeTitus当您拥有有效负载xml时,您可以验证它。然而,问题在于拥有旧的和更新的WSDL,而不是有效负载。假设一个新的WSDL用xsd:all替换xsd:sequence。它违反合同了吗?从形式上讲,它没有指定-xsd:all-order。但是,旧代码生成的xsd:sequence将由新代码验证为xsd:all,即有效性是定向的。即使xsd:all-result也可以(错误地)验证为xsd:sequence,如果此实现中的元素顺序与序列中的元素顺序意外匹配。在其他实现中,它可能会中断。不幸的是,它不能捕获所有更改。我记得在一辆改装车周围有一辆,我想,这给我带来了一些麻烦。该工具似乎没有得到积极开发。