java - WSDL 是否类似于 Java 接口?
问题描述
如果我应该向某人解释一个只有抽象方法的 java 接口或一个抽象类,并且该人知道 WSDL 的用途,那么 WSDL 是否可以很好地类比 java 接口?
我解释这一点的想法如下:
调用者可以从服务提供者那里获得 WSDL,因此能够创建方法以调用具有正确签名的服务提供者。类似地,从项目的另一方获取接口作为调用者,在他们的类中实现接口,向您展示如何调用其他对象的某些方法。
另一方面,调用者可以确定应该如何调用服务提供者。为此,调用者将向服务提供者提供一个 WSDL,以便服务提供者创建具有特定方法名称和参数的方法,在这些方法上调用服务提供者。接口也可以这样做:调用者将接口提供给实现该接口的人,以便以调用者需要的方式被调用。
这个想法是正确的还是我错过了这里的重点?
解决方案
您没有遗漏任何东西,两者的要点是相同的:它们代表了一个合约,用于将调用者与实现者分离。他们都描述了一项服务。但是 Java 接口和 WSDL 显然在非常不同的级别上工作——前者只是实现类(可以实现多个接口)必须遵守的契约,而另一个是与语言无关的契约,用于通过网络。查看合同优先开发,您会发现还有更多的技术基本上服务于同样的目的。
推荐阅读
- json - 如何在格式奇怪的数组中提取 JSON 值?
- html - SVG 不显示在 html 中
- excel - 无法使用脚本访问 SAP GUI 中的“本地文件”导出
- azure-application-insights - 为什么我的 appinsight 查询给了我随机结果?
- javascript - 如何将对象数组解构为其键的多个数组?
- ubuntu - 在 Angular 11 上的“ng serve”命令后显示错误
- reactjs - React 不更新状态(React-Hooks)
- php - PHP get_headers() 在远程 Wordpress 站点上不返回任何内容
- arrays - 如何在PowerShell中使用foreach获取二维数组?
- mysql - 从空旷的日子里获得零价值