【问题标题】:Unable to verify https endpoint with pact-jvm-provider-maven_2.11 in pact broker无法在协议代理中使用 pact-jvm-provider-maven_2.11 验证 https 端点
【发布时间】:2018-01-03 00:43:32
【问题描述】:

这是我为服务提供商准备的 pom sn-p

<serviceProviders>
                        <serviceProvider>
                            <name>StoreSite</name>
                            <protocol>https</protocol>
                            <host>https://somesiteurl.com</host>
                            <path></path>
                            <consumers>
                                <consumer>
                                    <name>FrontSite</name>
                                    <pactUrl>http://[::1]:8080/pacts/provider/StoreSvc/consumer/SiteSvc/latest</pactUrl>
                                </consumer>
                            </consumers>
                        </serviceProvider>
                    </serviceProviders>

并且在 pact:verify 操作之后。我得到以下堆栈跟踪的构建错误。 我可以看到在 localhost 代理中生成的协议文件。但是当端点更改为 https 时,验证一直失败。

[DEBUG]   (s) name = StoreSite
[DEBUG]   (s) protocol = https
[DEBUG]   (s) host = https://somesiteurl.com
[DEBUG]   (s) name = FrontSite
[DEBUG]   (s) pactUrl = http://[::1]:8080/pacts/provider/StoreSvc/consumer/SiteSvc/latest
[DEBUG]   (s) consumers = [au.com.dius.pact.provider.maven.Consumer()]
[DEBUG]   (f) serviceProviders = [au.com.dius.pact.provider.maven.Provider(null, null, null, null)]
[DEBUG] -- end configuration --

Verifying a pact between FrontSite and StoreSite
  [from URL http://[::1]:8080/pacts/provider/StoreSite/consumer/FrontSite/latest]
  Valid sign up request
[DEBUG] Verifying via request/response
[DEBUG] Making request for provider au.com.dius.pact.provider.maven.Provider(null, null, null, null):
[DEBUG]     method: POST
path: /api/v1/customers
    headers: [Content-Type:application/json, User-Agent:Mozilla/5.0 
    matchers: [:]
    body: au.com.dius.pact.model.OptionalBody(PRESENT, {"dob":"1969-12-17","pwd":"255577_G04QU","userId":"965839_R9G3O"})
      Request Failed - https

Failures:

0) Verifying a pact between FrontSite and StoreSite - Valid sign up request
      https

【问题讨论】:

    标签: pact-jvm pact-broker


    【解决方案1】:

    我尝试针对在 https 上运行的名为 BusService 的服务进行验证,并让它像这样工作。我的示例的设置方式与您的不同,但我认为重要的区别是添加了标签&lt;insecure&gt;true&lt;/insecure&gt;,并且只使用了主机标签&lt;host&gt;localhost&lt;/host&gt; 中的服务器名称。

    <serviceProvider>
       <name>BusService</name>
       <protocol>https</protocol>
       <insecure>true</insecure>
       <host>localhost</host>
       <port>8443</port>
       <path>/</path>
       <pactBrokerUrl>http://localhost:8113/</pactBrokerUrl>
    </serviceProvider>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      • 2021-03-22
      • 1970-01-01
      相关资源
      最近更新 更多