enter code here
我的wcf服务没有在Test Client中运行,而是通过浏览器运行,当我通过jquery获取时
可能有什么问题
错误: 无法添加服务。可能无法访问服务元数据。确保您的服务正在运行并公开元数据。
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="SimpleServiceBehavior">
<serviceMetadata httpGetEnabled="True" policyVersion="Policy15" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" />
</webHttpBinding>
</bindings>
<services>
<service name="WcfService6.Service1">
<endpoint address="" binding="webHttpBinding"
bindingConfiguration="webHttpBindingWithJsonP" contract="WcfService6.IService1"
behaviorConfiguration="webHttpBehavior"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
</service>
</services>
答案 0 :(得分:0)
您可能使用配置为使用HTTP方法的REST Web服务。 WCF测试客户端是一个SOAP客户端,需要访问Web服务元数据才能工作。
将元数据配置条目添加到您的Web服务配置:http://msdn.microsoft.com/en-us/library/ms788760.aspx
在您发布的配置中,您配置了两个Web服务。 您应该在当前Web服务上启用元数据,而不是配置另一个Web服务:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="webHttpBehavior" >
<serviceMetadata httpGetEnabled="True" policyVersion="Policy15" />
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="webHttpBindingWithJsonP" crossDomainScriptAccessEnabled="true" />
</webHttpBinding>
</bindings>
<services>
<service name="WcfService6.Service1">
<endpoint address="" binding="webHttpBinding"
bindingConfiguration="webHttpBindingWithJsonP" contract="WcfService6.IService1"
behaviorConfiguration="webHttpBehavior"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
</service>
</services>
答案 1 :(得分:0)
你必须为服务启用MetaData交换,使用配置文件,这将在ServiceBehavior下
<behaviors>
<serviceBehaviors>
<behavior name="SimpleServiceBehavior">
<serviceMetadata httpGetEnabled="True" policyVersion="Policy15" />
</behavior>
</serviceBehaviors>
</behaviors>
尝试以下链接