WCF测试客户端显示1个端点,而Config文件显示3个端点

时间:2012-10-16 12:04:17

标签: asp.net .net wcf

我有一个WCF网络服务,公开了3个端点。 但是当我将它调试到WCF测试客户端时,它只显示一个basicHttpBinding端点。

1:为什么会这样?

2:这里我有一份操作合同" CallADSWebMethod"返回一个DataContract(VINDescription)..只是好奇地知道.. 为什么这对我来说非常适合实时但仍然无法通过测试客户端测试 ..我的意思是测试客户端说&#34 ;测试客户端"

不支持此操作

3:在endpointBehaviors中 - 我只给出了但没有......但它仍然是从jquery ajax调用... 那么" enableWebScript"是什么意思? ??

Test client Image

配置信息

<system.serviceModel>
    <services>
      <service behaviorConfiguration="asmx" name="ADSChromeVINDecoder.Service">
        <endpoint address="basic"
                  binding="basicHttpBinding"
                  name="httpEndPoint"
                  contract="ADSChromeVINDecoder.IService"/>
        <endpoint address="json"
                  binding="webHttpBinding"
                  behaviorConfiguration="webBehavior"
                  name="webEndPoint"
                  contract="ADSChromeVINDecoder.IService"/>
        <endpoint contract="IMetadataExchange"
                  binding="mexHttpBinding"
                  address="mex" />
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="webBehavior">
          <webHttp/>
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="asmx">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>

1 个答案:

答案 0 :(得分:5)

WCF测试客户端只显示 SOAP 端点 - 并且只有其中一个(具有basicHttpBinding的端点)。

  • json端点使用webHttpBinding(基于 REST - 无法通过WCF测试客户端测试)

  • mex端点是元数据交换端点 - 而不是真正的服务端点。

因此,WCF测试客户端只能正确显示一个(SOAP)端点 - 只有一个!

更新: WCF测试客户端相当有限,其中一个限制是它无法将您自己的自定义数据类型作为参数处理。基本上,您只能使用intstringdatetime等类型的参数测试方法 - 简单的数据类型。

如果您需要更高级的Web服务测试,您应该查看(免费提供的)SoapUI tool以测试您的SOAP Web服务 - 包括复杂的参数类型等等。