pact-jvm-provider-maven_2.12是否支持多个标头?

问题描述

当交互中包含多个标头时,当我运行mvn pact:verify来在提供者端验证合同时,pact-jvm-provider-maven_2.12版本3.5.25引发异常。

Caused by: java.lang.NullPointerException: Cannot set property 'text' on null object
at org.codehaus.groovy.runtime.NullObject.setProperty (NullObject.java:80)
at org.codehaus.groovy.runtime.InvokerHelper.setProperty (InvokerHelper.java:197)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.setProperty (ScriptBytecodeAdapter.java:484)
at au.com.dius.pact.provider.reporters.JsonReporter.finaliseReport (JsonReporter.groovy:49)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod (IndyInterface.java:232)
at au.com.dius.pact.provider.ProviderVerifier$_finialiseReports_closure32.doCall (ProviderVerifier.groovy:367)

我的互动是

"interactions": [
    {
      "description": "Consumer interaction of Put Person Algorithm","request": {
        "method": "PUT","path": "model/v0/algorithm/person","headers": {
          "Authorization": "Bearer ACCESS_TOKEN","Content-Type": "application/json"
        },"query": {
          "crn": [
            "TENANT_NAME"
          ]
        },"body": {
          "standardizers": {},"encryption": {},"entity_types": {},"locale": "en_us"
        }
      },"response": {
        "status": 200,"headers": {
          "Content-Type": "application/json"
        }
      },"providerStates": [
        {
          "name": "B Put Person Algorithm"
        }
      ]
    }
  ],

如果我从请求标头中删除“ Content-Type”:“ application / json”,此错误将消失。这是插件中的错误吗?

解决方法

绝对支持多个标头。该特定版本或测试过程的某些其他工件可能很大。您能提交一个错误报告,理想情况下是可复制的示例吗?

还需要检查您是否使用了最新版本的maven插件。