我们有一个简单的IIS服务,只是通过https托管一种方法。该服务可以在 SOAPUI 中使用和使用,并且可以连接并正常工作。但是,我们在另一个网络上有一个客户端正在使用我们的 IIS 服务终结点并尝试使用该服务,但客户端服务器报告错误:
无法检索服务绑定
我不知道这到底意味着什么,以及为什么它通过另一个网络工作正常,但在另一个网络上失败。有谁知道我可能会追逐什么来解决故障服务器上的此错误。也许我需要在服务中更改一些内容,但不确定。谢谢。
这是我web.config
:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
</appSettings>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBinding_eLink" maxReceivedMessageSize="20000000">
<security mode="Transport" >
<transport clientCredentialType= "None" />
</security>
</binding>
</basicHttpBinding>
<mexHttpsBinding>
<binding name="secureMexBinding" />
</mexHttpsBinding>
</bindings>
<client>
</client>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="eLink.PublishActionWebService">
<endpoint
address=""
binding="basicHttpBinding"
bindingConfiguration="basicHttpBinding_eLink"
contract="eLink.IService"/>
<endpoint
address="mex"
binding="mexHttpsBinding"
bindingConfiguration="secureMexBinding"
contract="IMetadataExchange" />
</service>
</services>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
</configuration>
我认为您需要在<protocolMapping>
节点中指定绑定配置,因为您的端点中引用了一个命名绑定。
从:
<add binding="basicHttpsBinding" scheme="https" />
自:
<add binding="basicHttpsBinding" scheme="https" bindingConfiguration="basicHttpBinding_eLink" />