我有一个WCF Web服务,暴露3个端点.但是当我将它调试到WCF测试客户端时,它只显示一个basicHttpBinding端点.
1:为什么这样?
2:这里我有一个操作合同"CallADSWebMethod",它返回一个DataContract(VINDescription)..只是好奇地知道.. 为什么这对我来说非常适合实时但仍然不能被测试客户端测试 ..我的意思是测试客户端说"测试客户端不支持此操作"
3:这里的endpointBehaviors - 我只给出了没有...但它仍然是从jquery ajax调用工作.. 所以"enableWebScript"的意义是什么?

配置信息
<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>
Run Code Online (Sandbox Code Playgroud)
WCF测试客户端将仅显示SOAP端点 - 并且只有其中一个(具有该端点的端点basicHttpBinding).
该json端点使用webHttpBinding(这是REST基础-无法通过WCF测试客户端进行测试)
该mex端点是元数据交换终结-不是一个真正的服务端点.
因此,WCF测试客户端正确显示只有一个(SOAP)端点-有是只有一个!
更新: WCF测试客户端相当有限,其中一个限制是它无法将您自己的自定义数据类型作为参数处理.你基本上可以只参数类型的测试方法int,string,datetime和类似-简单化的数据类型.
如果您需要更高级的Web服务测试,您应该查看(免费提供的)SoapUI工具来测试您的SOAP Web服务 - 包括复杂的参数类型等等.
| 归档时间: |
|
| 查看次数: |
1353 次 |
| 最近记录: |