遅延の後、ワイヤーモックで応答を生成しようとしていますが、その遅延は着信要求から派生しています。たとえば、リクエスト内のユーザーの姓が「delay_10000」の場合は 10000 ミリ秒遅延、または delay_20000 の場合は 20000 ミリ秒遅延.....
{
"request": {
"method": "POST",
"headers": {
"SOAPAction": {
"matches": "http://redacted"
}
},
"bodyPatterns": [
{
"matchesXPath": {
"expression": "//*[local-name()=\"family-name\"]/text()",
"matches": "^delay_([0-9]+)$"
}
}
]
},
"response": {
"status": 200,
"bodyFileName": "verify.xml",
"fixedDelayMilliseconds": "{{soapXPath request.body 'number(substring-after(//*[local-name()=\"family-name\"]/text(), \"delay_\"))'}}"
}
}
どのフィールドがテンプレート化できるかを誰でも確認できますか? doco は、「応答ヘッダーと本文」、および他の bodyFileName (私が作業している) を提案していますが、他の応答フィールドをテンプレート化できるかどうかについては何も述べていません。
現在、私は見ています
2020-09-22 02:43:24.441 Verbose logging enabled
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" com.github.tomakehurst.wiremock.standalone.MappingFileException: Error loading file /home/wiremock/./mappings/equifax_generic_verify_identity_delay.json:
Cannot deserialize value of type `java.lang.Integer` from String "{{soapXPath request.body 'number(substring-after(//*[local-name()="family-name"]/text(), "timeout_"))'}}": not a valid Integer value
at com.github.tomakehurst.wiremock.standalone.JsonFileMappingsSource.loadMappingsInto(JsonFileMappingsSource.java:121)
at com.github.tomakehurst.wiremock.core.WireMockApp.loadMappingsUsing(WireMockApp.java:204)
at com.github.tomakehurst.wiremock.core.WireMockApp.loadDefaultMappings(WireMockApp.java:200)
at com.github.tomakehurst.wiremock.core.WireMockApp.<init>(WireMockApp.java:103)
at com.github.tomakehurst.wiremock.WireMockServer.<init>(WireMockServer.java:73)
at com.github.tomakehurst.wiremock.standalone.WireMockServerRunner.run(WireMockServerRunner.java:65)
at com.github.tomakehurst.wiremock.standalone.WireMockServerRunner.main(WireMockServerRunner.java:134)
stream closed
最初に、それがキャッチされている場所を確認できますが、 https://github.com/tomakehurst/wiremock/blob/master/src/main/java/com/github/tomakehurst/wiremock/standalone/JsonFileMappingsSource. Java#L121
第二に、私がワイヤーモックを間違って運転しているかどうかは不明です。これは応答トランスフォーマーでは不可能ですが、拡張機能と「応答定義変換」( http://wiremock.org/docs/extending ) を介して可能です。 -ワイヤーモック/ )
一連の固定遅延を使用してこれを回避できますが、動的であればより良いでしょう
助けてください!