.net 在Vista 64位上运行WCF服务

.net 在Vista 64位上运行WCF服务,.net,wcf,.net,Wcf,我有一个简单的控制台应用程序,它作为WCF服务主机运行。使用bsicHttpBinding。 当我尝试在我的客户端(另一个控制台应用程序)中获取服务引用时,我收到此错误 “下载http://localhost:9999/TS时出错。 请求失败,HTTP状态为400:请求错误。 元数据包含无法解析的引用:“http://localhost:9999/TS”。 服务不支持内容类型application/soap+xml;charset=utf-8。客户端和服务绑定可能不匹配。 远程服务器返回错误:(

我有一个简单的控制台应用程序,它作为WCF服务主机运行。使用bsicHttpBinding。 当我尝试在我的客户端(另一个控制台应用程序)中获取服务引用时,我收到此错误

“下载http://localhost:9999/TS时出错。 请求失败,HTTP状态为400:请求错误。 元数据包含无法解析的引用:“http://localhost:9999/TS”。 服务不支持内容类型application/soap+xml;charset=utf-8。客户端和服务绑定可能不匹配。 远程服务器返回错误:(415)无法处理该消息,因为内容类型“application/soap+xml;charset=utf-8”不是预期的类型“text/xml;charset=utf-8”。。 如果服务是在当前解决方案中定义的,请尝试构建解决方案并再次添加服务引用。“

请提供任何提示

App.config:

<configuration>
    <system.serviceModel>
        <services>
            <service
                name="TimeServiceLibrary.TimeService"
                behaviorConfiguration="TSConfig">
                <endpoint address="localhost:9999/TS"
                    binding="basicHttpBinding"
                    contract="TimeServiceLibrary.ITime">
                </endpoint>
            </service>
        </services>
        <behaviors>
            <serviceBehaviors>
                <behavior name="TSConfig">
                    <serviceMetadata httpGetEnabled="True"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
    </system.serviceModel>
</configuration>

该错误似乎表明它试图在wsHttpBinding上使用SOAP 1.2,但我还不确定原因(一定是缺少咖啡)。如果您发布了配置文件的相关部分,或者如果配置文件太大,将其上传到某个地方,可能会有所帮助

当您浏览到时,您会得到什么


您是否配置了mex端点(元数据交换)?请参阅以获取配置示例。

好的,基本HTTP绑定在后台使用SOAP 1.1,而SOAP 1.1又使用
text/xml
的内容类型。较新的WS-HTTP绑定使用SOAP 1.2,它使用
应用程序/SOAP+xml
内容类型。WCF之所以抱怨,是因为您的服务似乎被设置为使用基本HTTP绑定和
应用程序/soap+xml
内容类型,这是行不通的

也许您可以尝试在地址中的
localhost
之前添加
http://
,或者只使用
TS
作为地址,并指定
http://localhost:9999
在基址元素中,例如
元素内:

<baseAddress>
   <add baseAddress="http://localhost:9999/" />
</baseAddress>


我在浏览器上收到相同的HTTP status 400错误。无法查看我的服务元数据。这就是我的app.config的样子:那么,还没有mex端点吗?为了便于阅读,我已将配置添加到您的问题中。