我在添加WCF服务引用时遇到问题,

时间:2016-11-11 04:48:39

标签: c# wcf service client endpoint

我在我的解决方案中添加了一个控制台应用程序项目,该项目有一些服然后当我选择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>

如果有人可以提供帮助,那会很棒。

由于

0 个答案:

没有答案