C# Azure WCF具有https wsdl url,但端点url位于http中

C# Azure WCF具有https wsdl url,但端点url位于http中,c#,azure,wcf-binding,sharepoint-designer,C#,Azure,Wcf Binding,Sharepoint Designer,我正在尝试访问SPD中的Azure WCF。http wsdl和端点按预期工作,但https wsdl无法处理https端点。我打开了wsdl,只能看到http端点 谁能告诉我如何在wsdl-soap:address-location中拥有https端点 在SPD for ECT中使用https wsdl和http端点,我可以连接到WCF服务,但它不会生成树视图 最后,它生成了一个错误:“由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开IncludeExptionDetailsF

我正在尝试访问SPD中的Azure WCF。http wsdl和端点按预期工作,但https wsdl无法处理https端点。我打开了wsdl,只能看到http端点

谁能告诉我如何在wsdl-soap:address-location中拥有https端点

在SPD for ECT中使用https wsdl和http端点,我可以连接到WCF服务,但它不会生成树视图

最后,它生成了一个错误:“由于内部错误,服务器无法处理该请求。有关该错误的详细信息,请打开IncludeExptionDetailsFaults…等等等等,我很确定配置文件已经具有serviceDebug includeExceptionDetailInFaults=“true”行为

配置

 <system.web>
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpsGetEnabled="true" httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true" />
          <useRequestHeadersForMetadataAddress>
            <defaultPorts>
              <add scheme="http" port="80" />
              <add scheme="https" port="443" />
            </defaultPorts>
          </useRequestHeadersForMetadataAddress>
        </behavior>

      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <directoryBrowse enabled="true" />
  </system.webServer>

csdef


您的mex端点是如何在web.config的服务部分定义的。应该是这样,


请注意,绑定必须是“mexHttpsBinding”-(https)

添加了mex绑定,现在端点是https

<bindings>
      <basicHttpBinding>
        <binding name="SecureBasic" proxyAddress="http://localhost:80">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <services>
      <service name="SPO_LOB.Service1" behaviorConfiguration="SVCbehavior">
        <host>
          <baseAddresses>
            <add baseAddress="https://localhost:443"/>
          </baseAddresses>
        </host>
        <endpoint binding="basicHttpBinding" bindingConfiguration="SecureBasic" name="basicHttpSecure" contract="SPO_LOB.IService1" />
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>


现在剩下的问题是,当我将SPO BCS连接到服务时,它会生成上面提到的错误。即使IncludeExceptionDetailInFaults在config中设置为true,请发布您的WCF服务的web.config和ServiceDefinition.csdef。我正在使用自签名证书,这可能是个问题吗?停止使用wsdl句点。使用并公开REST端点。让你的生活变得更轻松,不要一成不变。你好@kmanxi:你找到解决办法了吗。我有一个确切的问题,在配置中添加了这些行:
如果这个问题解决与否,我将发布结果
<bindings>
      <basicHttpBinding>
        <binding name="SecureBasic" proxyAddress="http://localhost:80">
          <security mode="Transport">
            <transport clientCredentialType="None"/>
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <services>
      <service name="SPO_LOB.Service1" behaviorConfiguration="SVCbehavior">
        <host>
          <baseAddresses>
            <add baseAddress="https://localhost:443"/>
          </baseAddresses>
        </host>
        <endpoint binding="basicHttpBinding" bindingConfiguration="SecureBasic" name="basicHttpSecure" contract="SPO_LOB.IService1" />
        <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
      </service>
    </services>
    <behaviors>