配置WCF的服务模型
本文关键字:模型 服务 WCF 配置 | 更新日期: 2023-09-27 18:10:23
我有一个非常基本的web服务,使用WCF (c#, . net 4.0)来返回hello消息。
在IIS 7下部署并运行它是可以的,但是当我通过CMD执行svcutil.exe http://localhost:4569/Service.svc?wsdl
以测试web服务时,我得到:
当尝试添加服务引用(创建客户端)时,我得到远程服务器返回一个错误:415不能处理消息因为内容类型"application/soap+xml charset=utf8"不是期望的类型'text/xml charset=utf8'
远程主机元数据强制关闭现有连接包含无法解析的引用:"http://localhost: 4569/Service.svc"。内容类型应用程序/soap + xml;服务不支持Charset =utf-8http://localhost: 4569/Service.svc。客户端和服务绑定可能不匹配。远程服务器返回一个错误:(415)不能处理消息,因为内容类型为"application/soap+xml";Charset =utf-8'不是预期的类型'text/xml;charset = utf - 8 ' . .
我很确定问题在我的网页下面。配置文件:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="Service">
<endpoint name="soap"
address="http://localhost:4569/Service.svc"
binding="basicHttpBinding"
contract="IService" />
<endpoint name="mex" address="mex" binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</services>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
总之,这是我的代码:
IService.cs:
[ServiceContract]
public interface IService
{
[OperationContract]
string getMessage();
}
我的service.cs有
方法public class Service : IService
{
public string getMessage()
{
return "Ola servico";
}
}
我真的不知道发生了什么,做了一些测试,经过一些研究,但没有成功。
Service.svc
<%@ ServiceHost Language="C#" Debug="true" Service="Service" CodeBehind="~/App_Code/Service.cs" %>
配置中没有定义服务和端点。尝试添加
<services>
<service name="Service"> <!-- name should match the name in your .svc file (if you open it with a text editor) -->
<endpoint name="soap" address="" binding="basicHttpBinding" contract="IService" />
<endpoint name="mex" address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>