Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 净核心WCF错误“;发生了一个或多个错误。(此处没有端点监听“;_.net_Wcf_Iis_Soap_Service - Fatal编程技术网

.net 净核心WCF错误“;发生了一个或多个错误。(此处没有端点监听“;

.net 净核心WCF错误“;发生了一个或多个错误。(此处没有端点监听“;,.net,wcf,iis,soap,service,.net,Wcf,Iis,Soap,Service,我正在调用一个外部soap服务。在开发过程中,它可以正常工作,但是在服务器上发布它会抛出指定的错误 发生了一个或多个错误。(在侦听时没有可以接受消息的终结点。这通常是由于地址或SOAP操作不正确造成的。有关详细信息,请参阅InnerException(如果存在)) 如果我刷新页面,错误将更改: 处理请求时发生未处理的异常。 AggregateException:发生一个或多个错误。(对象为只读。) System.Threading.Tasks.Task.GetResultCore(bool wa

我正在调用一个外部soap服务。在开发过程中,它可以正常工作,但是在服务器上发布它会抛出指定的错误

发生了一个或多个错误。(在侦听时没有可以接受消息的终结点。这通常是由于地址或SOAP操作不正确造成的。有关详细信息,请参阅InnerException(如果存在))

如果我刷新页面,错误将更改:

处理请求时发生未处理的异常。 AggregateException:发生一个或多个错误。(对象为只读。) System.Threading.Tasks.Task.GetResultCore(bool waitCompletionNotification)

InvalidOperationException:对象是只读的。 System.ServiceModel.Security.X509CertificateRecipientClientCredential.ThrowIfImmutable()

代码如下:

            PortTypeClient.ClientCredentials.ServiceCertificate.SslCertificateAuthentication= new X509ServiceCertificateAuthentication()
            {
                CertificateValidationMode = X509CertificateValidationMode.None,
                RevocationMode = X509RevocationMode.NoCheck
            };

根据错误消息
“发生了一个或多个错误。(此时没有端点侦听。)https://myservice 无法接受消息。这通常是由于地址或SOAP操作不正确造成的。有关详细信息,请参阅InnerException(如果存在)
,您似乎没有在服务的配置中定义绑定,因此您将获得wsHttpBinding的默认值,而该绑定的securityMode\transport的默认值是Message

您应该在应用程序目录中打开“Web.config”,并将以下配置代码添加到文件中。在运行时,WCF基础结构使用这些信息来构造客户端应用程序可以与之通信的端点

配置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="Microsoft.ServiceModel.Samples.CalculatorService">

        <!-- This endpoint is exposed at the base address provided by host: http://localhost/servicemodelsamples/service.svc -->
        <endpoint address=""
                  binding="wsHttpBinding"
                  contract="Microsoft.ServiceModel.Samples.ICalculator" />

        <!-- The mex endpoint is explosed at http://localhost/servicemodelsamples/service.svc/mex -->
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>

</configuration>

有关如何在IIS上承载wcf应用程序的更多详细信息,您可以参考以下内容