是否有充分的理由在不使用WSDL“文件”的情况下部署或使用SOAP服务?
解释
我遇到的情况是第三方创建的SOAP服务不遵循他们也创建的WSDL文件。我想我不得不忽略WSDL文件才能使用这个服务。因此,我正在研究如何做到这一点。
我真正想知道为什么甚至可以这样做?意图是什么?
它的设计是为了让我们可以使用穷人程序员提供的糟糕服务吗?当然必须有更好的理由。我几乎希望它不可能。然后我可以要求他们正确地写出来。
答案 0 :(得分:13)
WSDL应该是描述SOAP服务的公共文档,因此描述了服务中可用的所有方法的签名。
当然可能有服务提供商希望向某些消费者公开服务,但是他们不想公开服务的签名,只是为了让他们不那么难想要使用该服务来查找它或尝试使用它。例如,服务的签名可能会暴露一些有关其数据模式的私人信息。
但我没有看到任何编写与服务不匹配的WSDL的借口。我担心如果他们无法正确获得WSDL,那么服务的质量会是什么样的呢?
要回答其他问题,您可以在没有WSDL的情况下使用该服务。例如,如果您使用Visual Studio,则可以让VS根据不正确的WSDL为您构建代理,然后调整它以匹配正确的服务方法签名。您只需确保代理中的数据合同和方法合同与实际的服务数据合同和方法合同相匹配。