是什么WSDL与放大器之间的差异; MEX终结点的WCF [英] What was the difference between WSDL & Mex Endpoint in WCF

查看:208
本文介绍了是什么WSDL与放大器之间的差异; MEX终结点的WCF的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有几个问题对MEX终结点。


  1. 在传统Web服务,我们使用WSDL创建一个代理。该WSDL公开Web服务的元数据。在WCF中,另一个词来那MEX终结,这也暴露了元数据,但是WSDL仍然在WCF活着。我是新来的WCF,我就困惑WSDL与放大器之间的的区别; MEX终结


  2. 什么是 httpGetEnabled =的意思是虚假的,或httpGetEnabled =真正的


  3. 如果我设置 httpGetEnabled =FALSE然后会发生什么?这是否意味着客户端将无法从他们的IDE添加服务引用?但是,如果我设置 httpGetEnabled =FALSE,看到客户端可以添加服务引用。什么 httpGetEnabled 设置确实非常混乱。


  4. 有人说:



  

MEX和WSDL是两种不同的模式来告诉潜在客户
  关于你的服务的结构。所以,你可以选择要么使
  您的服务合同公众(MEX)或WSDL。


如果上述声明是真实的,然后告诉我什么时候使用MEX&放大器;何时使用 WSDL?


  1. 我如何禁用MEX只有通过WSDL暴露我的服务?


  2. WSDL支持所有bidning像wshttp,wsdualhttp或TCP等等... 如果可能的话,请有关WSDL和功放讨论; MEX中的细节。


更新

您说

  5。如何禁用MEX只有通过WSDL暴露我的服务?不要在你的配置specifiy一个MEX终结点,并使用httpGetEnabled。

您试图意味着应该有配置没有MEX终结点相关的条目,并httpgetenable会是​​什么样子下面?

 < serviceMetadata httpGetEnabled =真httpGetUrl =HTTP://本地主机:8080 / SampleService WSDL/>

您说


  

一个WSDL一般是通过HTTP或HTTPS GET的URL可能暴露你真的不能配置(比如安全限制或
  向后兼容)。 MEX端点暴露在元数据
  配置的端点,并且可以使用不同类型的传输的,
  如TCP或HTTP,和不同类型的安全机制。


您说MEX是可配置的,但是WSDL是没有的。你说的 MEX是可配置的意思?请大家讨论它可以配置什么样的配置MEX支持种类和方式。

如果我设置 httpGetEnabled =假,那么WSDL 将不可能产生?


解决方案

  

1)在传统的Web服务,我们创建代理使用WSDL。 WSDL公开Web
  服务元数据。在WCF另一个术语来了MEX终结这
  也暴露出元数据,但WSDL还是住在wcf.i在WCF是新
  因此,我很困惑就是WSDL和放大器之间的差异; MEX
  端点?


这是pretty同样的事情,但墨西哥的目的是支持非HTTP协议和高级配置/安全方案。 WSDL是传统方式和MEX是新的改进版与WCF。


  

2)什么是httpGetEnabled =的意思是虚假的,或
  httpGetEnabled =真正的


这将通过WSDL通过URL defautl暴露元数据,即使你没有为您服务定义的MEX终结点。


  

3)如果设置httpGetEnabled =假,那么会发生什么?意思
  该客户端将无法从IDE添加服务引用?但是我
  设置httpGetEnabled =假,看到客户端可以添加服务引用。
  所以这对我来说是非常混乱的什么httpGetEnabled是假的或
  真呢?


一个客户端只能当httpGetEnabled / httpsGetEnabled加入VS一提的是启用或如果你有你的服务的配置定义了一个MEX终结点。最好的做法是在开发环境在而不是在生产揭露的元数据。您还可以通过单独的程序集分发您的服务合同,并使用的ChannelFactory


  

4)一个人说: - MEX和WSDL是两种不同的模式来告诉
  关于你的服务的结构潜在客户。所以你可以
  选择是让你的服务合同公众(MEX)或WSDL。
  如果以上陈述为真,那么告诉我什么时候使用MEX&放大器;何时使用WSDL?


一个WSDL一般是通过HTTP或HTTPS GET的URL可能暴露你真的不能配置(比如安全限制或向后兼容)。
MEX端点暴露元以上配置的端点,并且可以使用不同类型的传输,如TCP或HTTP,和不同类型的安全机制。

所以MEX更可配置的,而WSDL是与老版本客户端和non-.net客户与工作的WSDL更具互操作性。


  

5)我怎么能禁用MEX并通过WSDL只暴露我的服务。


不要specifiy一个MEX终结点在你的配置,并使用 httpGetEnabled


  

6)WSDL支持所有bidning像wshttp,wsdualhttp或TCP等等...


暴露元数据是调用该服务完全不同的。

更新


  

重新尝试意味着应该没有MEX终结点相关的项
  在配置和httpgetenable看起来像


是的,你没有指定MEX端点httpGetEnabled。只需要一个暴露的元数据。不要specifiy httpGetUrl,因为这取决于您的托管环境。


  

你说的是MEX配置的,但WSDL是没有的。什么řü试图手段
  MEX是可配置的......请大家讨论什么样的配置的MEX
  支持和放大器;如何配置。


MEX终结点是特殊的端点,允许客户通过使用SOAP消息,而不是HTTP GET请求来接收该服务的元数据。您可以创建MEX端点,可以通过HTTP,HTTPS,TCP进行访问,甚至命名管道。 HttpGetEnable允许您通过HTTP GET方法,通常是服务与?WSDL

的后缀地址暴露元

MEX和WSDL两个输出几乎同样的事情。

在大多数情况下,没有必要对MEX端点 - 使用的WSDL的HTTP GET通常是不够的。

我明白你的意图理解这部分,但不花很多时间在这:有这么多其他复杂的功能

I have couple of question on mex endpoint.

  1. In legacy web services, we create a proxy using wsdl. The WSDL exposes the web service's meta data. In wcf, another term comes that mex endpoint, which also exposes meta data, but wsdl is still alive in wcf. I am new to wcf, and I am confused regarding the difference between wsdl & mex endpoint?

  2. What is the meaning of httpGetEnabled="false" or httpGetEnabled="true"?

  3. If I set httpGetEnabled="false" then what will happen? Does it mean the client will not be able to add service reference from their IDE? But if I set httpGetEnabled="false", and saw client can add service reference. What the httpGetEnabled setting does is very confusing.

  4. One guy said

MEX and WSDL are two different schemes to tell potential clients about the structure of your service. So you can choose to either make your service contracts public as (MEX) or WSDL.

If the above statement is true then tell me when to use MEX & when to use WSDL?

  1. How can I disable mex and expose my service only through WSDL?

  2. WSDL support all bidning like wshttp,wsdualhttp or tcp etc... If possible please discuss about wsdl & mex in details.

UPDATE

You said

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.

Are you trying to mean that there should be no mex endpoint related entry in config and httpgetenable would look like the following?

<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8080/SampleService?wsdl"/>

You said

A WSDL is generally exposed through http or https get urls that you can't really configure (say for security limitations or for backward compatibility). MEX endpoints expose metadata over configurable endpoints, and can use different types of transports, such as TCP or HTTP, and different types of security mechanisms.

You said mex is configurable, but the wsdl is not. What do you mean by mex is configurable? Please discuss what kind of configuration mex support and how it can be configured.

If I set httpGetEnabled="false" then the WSDL will not be possible to generate?

解决方案

1) in legacy web service we create proxy using wsdl. WSDL expose web service meta data. in wcf another term comes that mex endpoint which also expose meta data but wsdl is still live in wcf.i am new in wcf hence i am confusing what is the difference between wsdl & mex endpoint?

It's pretty the same thing but mex is designed to support non-HTTP protocols and for advanced configuration/security scenarios. WSDL is the legacy way and MEX is the new improved version with WCF.

2) what is the meaning of httpGetEnabled="false" or httpGetEnabled="true"

It will expose metadata via wsdl through the defautl url, even if you don't have defined a mex endpoint for your service.

3) if i set httpGetEnabled="false" then what will happen? does it mean that client will not be able to add service reference from IDE? but i set httpGetEnabled="false" and saw client can add service reference. so it is very confusing for me that what httpGetEnabled is false or true does ?

A client can add a reference in VS only if httpGetEnabled/httpsGetEnabled is enable or if you have define a mex endpoint in the configuration of your service. The best practice is to expose metadata on dev environnement but not on production. You can also distribute your service contracts via separate assemblies and use ChannelFactory.

4) one guy said :- MEX and WSDL are two different schemes to tell potential clients about the structure of your service. So you can choose to either make your service contracts public as (MEX) or WSDL. if the above statement is true then tell me when to use MEX & when to use WSDL?

A WSDL is generally exposed through http or https get urls that you can't really configure (say for security limitations or for backward compatibility). MEX endpoints expose metadata over configurable endpoints, and can use different types of transports, such as TCP or HTTP, and different types of security mechanisms.

So MEX are more configurable, while WSDL is more interoperable with older versions of clients and non-.net clients that work with WSDLs.

5) how could i disable mex and expose my service through only WSDL

Do not specifiy a mex endpoint in your config and use httpGetEnabled

6) WSDL support all bidning like wshttp,wsdualhttp or tcp etc...

Exposing metadata is totally different that invoking the service.

UPDATE

re you try to mean that there should be no mex endpoint related entry in config and httpgetenable would look like

Yes, you don't have to specify a mex endpoint AND httpGetEnabled. Only one is required to expose metadata. Do not specifiy httpGetUrl as this is depending on your hosting environment.

you said mex is configurable but wsdl is not. what r u trying to means mex is configurable...please discuss what kind of configuration mex support & how to configure.

MEX endpoints are special endpoints that allow clients to receive the service’s metadata by using SOAP messages instead of http get requests. You can create MEX endpoint that can be accessed through http, https, tcp, and even named pipes. HttpGetEnable allow you to expose metadata through HTTP GET method, usually the service’s address with the suffix of ‘?wsdl'

MEX and WSDL both output nearly the same thing.

In most cases there is no need for MEX endpoint – using WSDLs with http get is usually enough.

I understand your intention to understand this part, but do not spend to many times on this : there are so many others complicated features !

这篇关于是什么WSDL与放大器之间的差异; MEX终结点的WCF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆