有关Web服务(或WCF)元数据的问题

时间:2011-03-16 07:01:05

标签: wcf web-services metadata

这些可能看起来很愚蠢,但我仍然希望清除这些东西:

  1. Web服务元数据包含哪些内容以及为什么需要元数据?
  2. 它是否包含与Web服务公开的操作不同/不同的内容?
  3. 在创建Web服务时,我们在何处定义/提及Web服务的元数据
  4. 从Web服务生成的WSDL是否包含Web服务元数据?
  5. 如果有一个隐藏客户端元数据的选项,那么它是否意味着它不是强制性的?

1 个答案:

答案 0 :(得分:2)

Web服务元数据描述了该服务,例如它允许其他机器(或用户)找到

  • 该服务提供何种方法,其名称和参数是什么
  • 使用什么类型的数据结构来调用服务方法,以及返回什么类型的数据

是的,元数据是可选的 - 如果您“隐藏”它或不暴露它,那么第三方就无法“发现”并使用您的服务 - 您必须提供一些其他方式来使用您的服务(您可以向他们发送印刷文档,您可以将生成的WSDL / XSD作为文件附件发送到电子邮件或其他任何内容中。)

在WCF中,您可以非常轻松地控制公开的元数据类型(如果有) - 您可以一起启用/禁用服务元数据,您可以定义客户端只能使用本机WCF元数据交换(MEX)协议,或者您也可以将您的WSDL(从您正在运行的服务动态生成,或外部静态文件)公开给感兴趣的调用者。

我从未在ASMX Web服务中做过多少工作,而且我不了解其他系统,因此我无法真正告诉您这些内容。我从经验中知道,有些服务产品确实公开了他们的WSDL作为发现和使用服务的手段,而其他服务产品则非常偏执,你需要通过e-调用它们/发送电子邮件来获取WSDL / XSD。邮件 - 您无法直接发现和使用他们的服务。