【发布时间】:2014-02-26 15:38:42
【问题描述】:
我有几个关于 mex 端点的问题。
在旧版 Web 服务中,我们使用 wsdl 创建代理。 WSDL 公开 Web 服务的元数据。在 wcf 中,另一个术语是 mex 端点,它也公开元数据,但 wsdl 在 wcf 中仍然存在。我是 wcf 的新手,我对
difference between wsdl & mex endpoint感到困惑?httpGetEnabled="false" or httpGetEnabled="true"是什么意思?如果我设置
httpGetEnabled="false"那么会发生什么?这是否意味着客户端将无法从其 IDE 添加服务引用?但是如果我设置httpGetEnabled="false",并且看到客户端可以添加服务引用。httpGetEnabled设置的作用非常令人困惑。一个人说
MEX 和 WSDL 是告诉潜在客户的两种不同方案 关于您的服务的结构。所以你可以选择制作 您的服务合同公开为 (MEX) 或 WSDL。
如果上述陈述为真,请告诉我何时使用 MEX 以及何时使用WSDL?
如何禁用 mex 并仅通过 WSDL 公开我的服务?
WSDL support all bidning like wshttp,wsdualhttp or tcp etc...如果可能请详细讨论wsdl和mex。
更新
你说
5. How can I disable mex and expose my service only through WSDL?
Do not specifiy a mex endpoint in your config and use httpGetEnabled.
您的意思是说配置中不应该有与 mex 端点相关的条目,并且 httpgetenable 应该如下所示?
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8080/SampleService?wsdl"/>
你说
WSDL 通常通过 http 或 https 获取您无法真正配置的 URL(例如出于安全限制或 向后兼容性)。 MEX 端点公开元数据 可配置的端点,并且可以使用不同类型的传输, 例如 TCP 或 HTTP,以及不同类型的安全机制。
您说 mex 是可配置的,但 wsdl 不是。 mex is configurable 是什么意思?请讨论哪种配置 mex 支持以及如何配置它。
如果我设置httpGetEnabled="false" then the WSDL将无法生成?
【问题讨论】: