我正在寻找每个 wdsl 创建一个操作而不是在单个 wdsl 中捆绑操作的一些优点和缺点
下面的小例子:
<operation name="Divide">
<input message="y:DivideMessage"/>
<output message="y:DivideResponseMessage"/>
</operation>
而不是分裂,这是更复杂的操作,每个操作有一个 wsdl 的优点/缺点是什么
我正在寻找每个 wdsl 创建一个操作而不是在单个 wdsl 中捆绑操作的一些优点和缺点
下面的小例子:
<operation name="Divide">
<input message="y:DivideMessage"/>
<output message="y:DivideResponseMessage"/>
</operation>
而不是分裂,这是更复杂的操作,每个操作有一个 wsdl 的优点/缺点是什么
我不确定我是否理解这个问题......但是如果您询问将所有操作放在一个 WSDL 中还是将每个操作放在一个 WSDL 中......
如果操作在同一个端点上,我认为最好将所有内容保存在一个 WSDL 中,因为许多工具将允许您从 WSDL 生成 Web 服务客户端:使用单个 WSDL 然后您可以生成一个客户端能够调用所有的操作。如果操作在单独的 WSDL 中,您将不得不生成多个客户端,每个操作一个,使用起来会很不舒服......
我的建议是为一个对象(例如:customerManagement)或方面使用一个 WSDL ,然后包括几个操作(例如:CRUD=* C *reate,* R *ead,* U *pdate 和 * D *elete) .
在考虑 WSDL 设计时,不仅仅是 wsdl 操作。您还应该考虑在 WSDL(s) 中选择正确的端口类型和目标名称空间值。
您的 WSDL 与编译/生成后的代码结果之间的关系如下:
- WSDL:targetNamespace -> Package
- WSDL:Porttype -> Class
- WSDL:Operation -> Method
把所有东西放在一起:
优点:一个文件要同步,没有依赖关系
缺点:一个大文件,可能很难清楚地知道去哪里
单独的文件:
优点:文件更小,更易于维护和扩展
缺点:可能更难调试交叉引用依赖项,或查找重复条目
建议:
WSDL 文件被认为类似于合同。因此,您应该将“常识”的东西放在一起,并且只专注于您在当前应用程序中需要的东西。我建议将“对象”保存在单个“词典”文件中,并将一些基本(常见)操作保存在第 2 层文件中(具有包含第 1 文件的指针)。然后在任何专业化中,我将创建一个第三层文件,该文件仅指定当前应用程序需要的唯一操作,甚至将操作拆分为多个文件。