.net 在Vista 64位上运行WCF服务
我有一个简单的控制台应用程序,它作为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:.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。客户端和服务绑定可能不匹配。 远程服务器返回错误:(
<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端点吗?为了便于阅读,我已将配置添加到您的问题中。