关于WSDL vs MEX的所有内容?

Aak*_*ash 11 wcf wsdl

我无法打开元数据网址http://localhost:8082/Tasks/mex,即使我在配置文件中添加了mexHttpBinding.我可以在浏览器中查看此MEX端点吗?

配置文件如下所示:

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
Run Code Online (Sandbox Code Playgroud)

问题:

  • MEX与WSDL不同吗?如果没有,那么为什么我们需要一个超过WSDL的MEX端点?
  • 在WSDL中,我看到缺少WSDL类型信息.这是默认的吗?我可以查看WSDL中的类型信息吗?

Dav*_*ite 13

有关WCF配置文件的更多信息,请查看serviceMetadata.

尽管如此,MEX是一个较新的W3C标准,用于呈现服务描述信息; WSDL是以前的方法.如果您需要允许较旧的客户端访问您的服务描述信息,您可能必须通过WSDL公开该信息.

用于将服务描述信息公开为WSDL(httpGetEnabled)的信息也在上面提供的链接中.

另外,尝试使用wcftestclient.exe来访问您的WCF服务.它提供比浏览器更多的功能和信息.


Kei*_*son 7

Aakash,您是否使用<serviceMetadata>元素添加了服务行为?它可以是空的,即<serviceMetadata />,但必须存在.服务定义需要引用服务behaviorConfiguration.请查看以下示例:

http://www.request-response.com/blog/PermaLink,guid,c9513d28-f580-4a33-b4e8-c15476799a9d.aspx