1

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

谁能告诉我如何在 wsdl soap:address 位置有一个 https 端点?

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

最后它会生成一个错误:“由于内部错误,服务器无法处理请求。有关该错误的更多信息,请打开 IncludeExptionDetailsFaults...blah blah blah ”,我很确定配置文件已经有 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

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="SPO_LOB" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <WebRole name="SPO_LOB" vmsize="Small">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
          <Binding name="HttpsIn" endpointName="HttpsIn" />
        </Bindings>
      </Site>
    </Sites>
    <Certificates>
      <Certificate name="certsvc" storeLocation="LocalMachine"
          storeName="CA" />
    </Certificates>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
      <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="democloudsvc1" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
      <Import moduleName="RemoteAccess" />
      <Import moduleName="RemoteForwarder" />
    </Imports>
    <LocalResources>
      <LocalStorage name="SPO_LOB.svclog" sizeInMB="1000" cleanOnRoleRecycle="false" />
    </LocalResources>
  </WebRole>
</ServiceDefinition>
4

2 回答 2

0

添加了 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 设置为 true

于 2012-12-15T06:20:54.297 回答
0

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

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

于 2012-12-14T14:06:38.440 回答