我在我的解决方案中添加了一个控制台应用程序项目,该项目有一些服然后当我选择MyService
时“添加服务引用”,然后我收到此错误:
下载时出错 'http://localhost/prj/Services/MyService.svc/ $的元数据'。请求 HTTP状态400失败:错误请求。元数据包含一个 无法解决的参考: 'http://localhost/prj/Services/MyService.svc'。内容类型 应用/肥皂+ xml的;服务不支持charset = utf-8 http://localhost/prj/Services/MyService.svc。客户和服务 绑定可能不匹配。远程服务器返回错误:(415) 无法处理消息,因为内容类型 “应用程序/肥皂+ xml的; charset = utf-8'不是预期的类型 “文本/ XML; charset = utf-8'..如果服务是在当前定义的 解决方案,尝试构建解决方案并添加服务引用 试。
我尝试将配置文件中的端点更改为以下元素:
<endpoint
address="http://localhost:52644/Services/MyService.svc"
binding="mexHttpBinding"
contract="IMetadataExchange" />
但我仍然遇到同样的问题。
当我将我的服务URL放入浏览器时,我得到了这个:
由于内部错误,服务器无法处理请求。 有关错误的更多信息,请打开 IncludeExceptionDetailInFaults(来自ServiceBehaviorAttribute 或者来自服务器上的配置行为) 命令将异常信息发送回客户端,或打开 根据Microsoft .NET Framework SDK文档进行跟踪 检查服务器跟踪日志。
我的服务配置包含以下内容:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding maxReceivedMessageSize="2147483647">
<security mode="None"/>
</binding>
</basicHttpBinding>
<basicHttpsBinding>
<binding maxReceivedMessageSize="2147483647">
<security mode="Transport"/>
</binding>
</basicHttpsBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceAuthorization principalPermissionMode="None"/>
<!-- Service Extensions -->
<ServiceSecurityConfig/>
<MessageLoggingConfig/>
<ErrorLoggingConfig/>
</behavior>
</serviceBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add name="ServiceSecurityConfig" type="MyService.Security.ServiceSecurityConfig, MyService"/>
<add name="MessageLoggingConfig" type="MyService.Logging.MessageLoggingConfig, MyService"/>
<add name="ErrorLoggingConfig" type="MyService.Logging.ErrorLoggingConfig, MyService, Version=1.0.0.0, Culture=neutral" />
</behaviorExtensions>
</extensions>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https"/>
</protocolMapping>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
<!--<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>-->
</system.serviceModel>
如果有人可以提供帮助,那会很棒。
由于