Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 验证提供程序端时,无法从dotnet core中的PACT Brocker获取PACT_.net_Pact Broker - Fatal编程技术网

.net 验证提供程序端时,无法从dotnet core中的PACT Brocker获取PACT

.net 验证提供程序端时,无法从dotnet core中的PACT Brocker获取PACT,.net,pact-broker,.net,Pact Broker,我已经在C#dotnet内核中实现了消费者端的PACT,并且我能够使用以下代码将*.json PACT文件发布到PactBrocker var pactPublisher = new PactPublisher("http://domain.pact.dius.com.au", new PactUriOptions("***", "***")); pactPublisher.PublishToBroker($"..\pacts\userservice.api-event.api.json",

我已经在C#dotnet内核中实现了消费者端的PACT,并且我能够使用以下代码将*.json PACT文件发布到PactBrocker

var pactPublisher = new PactPublisher("http://domain.pact.dius.com.au", new PactUriOptions("***", "***"));

pactPublisher.PublishToBroker($"..\pacts\userservice.api-event.api.json",
                        "1.0.2");
在提供者端(同样是在C#dotnet核心中),当我尝试使用单元测试用例验证同一个已发布的契约时(请参见下面的代码):

当我运行单元测试时,我得到了低于的错误

PactNet.PactFailureException:协定验证失败。参见输出 详情请参阅。如果输出为空,请提供自定义 测试框架的config.Outputters(IOutput),因为我们不能 写入控制台。位于中的PactNet.Core.PactCoreHost`1.Start() C:\projects\pact net\PactNet\Core\PactCoreHost.cs:第139行

在Event.Test.EventApiTests.ensureeventapihonourspacktwithconsumer()上 在C:\POC\pact2\Event.Api\Event.Test\EventAPITests.cs中:第55行

从读取文件时出错

无法建立连接,因为目标计算机处于活动状态 拒绝了连接“domain.pact.dius.com.au”端口80的(2) C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:in `初始化'

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:in `开放的

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:in `“连接中的块”

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/timeout.rb:74:in `超时'

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:878:in `连接'

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:863:in `你要开始吗

C:/POC/pact2/Event.Api/Event.Test/bin/Debug/netcoreapp2.0/pact-win32/lib/ruby/lib/ruby/2.2.0/net/http.rb:852:in `开始


有人能帮忙修复这个错误吗?PACT代理服务器不在我的控制范围内。我是从网站上得到的。

得到了答案。我在办公室的代理环境中。它在我家很管用。另外,我需要点击https(端口443),而不是http(端口80)

[Fact]
public void EnsureEventApiHonoursPactWithConsumer()
{        
    //Arrange
    // createing the "config" object

    //Act / Assert
    IPactVerifier pactVerifier = new PactVerifier(config);

          pactVerifier
            .ProviderState($"{_providerUri}/provider-states")
            .ServiceProvider("Event.API", _providerUri)
            .HonoursPactWith("UserService.API")
       .PactUri("http://domain.pact.dius.com.au/pacts/provider/Event.API/consumer/UserService.API/version/1.0.2", new PactUriOptions("***", "***")).Verify();
}