代码之家  ›  专栏  ›  技术社区  ›  CodeMonkey

WSDL粒度

  •  0
  • CodeMonkey  · 技术社区  · 17 年前

    我正在寻找一些优缺点,即针对单个WDSL中的捆绑操作,为每个WDSL创建一个操作

    下面的小例子:

      <operation name="Divide">
         <input message="y:DivideMessage"/>
         <output message="y:DivideResponseMessage"/>
      </operation>
    

    不是被划分,而是更复杂的操作,每个操作有一个WSDL的优点/缺点是什么?

    3 回复  |  直到 13 年前
        1
  •  0
  •   Vinze    17 年前

    我不确定我是否理解这个问题…但是,如果您询问如何将所有操作放在一个WSDL中或每个操作放在一个WSDL中…

    我认为,如果操作在同一个端点上,最好将所有操作都保存在一个WSDL中,因为许多工具都允许您从WSDL生成一个Web服务客户机:使用单个WSDL,然后可以生成一个能够调用所有操作的客户机。而如果操作是在单独的WSDL中,则必须生成多个客户机,每个操作一个,这将使您不愿意使用…

        2
  •  0
  •   Aydin K.    13 年前

    我的建议是将一个WSDL用于一个 对象 (示例:CustomerManagement)或 方面 ,然后包括几个操作(例如:crud=* C * ReATE,* R *EAD,* U * pDATE和* D * elelt)。

    在考虑WSDL设计时,不仅仅是考虑WSDL操作。 您还应该考虑在WSDL中选择正确的porttype和targetnamespaces值。

    编译/生成之后,WSDL和代码结果之间的关系如下:

     - WSDL:targetNamespace -> Package 
     - WSDL:Porttype        -> Class
     - WSDL:Operation       -> Method
    
        3
  •  0
  •   ktolis    13 年前

    团结一致 :
    优点:一个要同步的文件,没有依赖项
    缺点:一个大文件,可能很难清晰地显示出哪里去了。

    单独文件 :
    优点:文件较小,易于维护和扩展
    缺点:可能更难调试交叉引用依赖项,或查找重复项

    建议 :
    WSDL文件被认为类似于契约。因此,您应该将一些“常识”的东西放在一起,并且只专门针对当前应用程序中需要的那些东西。我建议将“objects”保存在单个“lexicon”文件中,并将一些基本(公共)操作保存在第二层文件中(其中包含指向第一个文件的指针)。然后,在任何专业化中,我将创建一个第三层文件,该文件只指定当前应用程序需要的唯一操作,或者甚至将操作拆分为多个文件。

    推荐文章