我们有一个逻辑应用程序,它使用 APIM 调用后端 API 以使用 POST 请求创建记录。我们发现后端创建的一些记录是重复的。当我们深入研究该问题时,我们可以看到逻辑应用仅向 APIM 发送了一个请求。要调用 APIM,我们使用 APIM 连接器,并在操作中将重试策略设置为“无”。
但是,当我们检查 Azure APIM 日志时,我们可以看到大约在同一时间有两个请求,其中一个请求失败,响应代码为 0“客户端连接意外关闭”。我们无法弄清楚是什么触发了 APIM 中的第二个请求,因为逻辑应用中的重试设置为“无”。在后端日志中,我们收到了两个请求。
我们预计逻辑应用程序无法与后端通信时会出现错误。
这是 JSON 有效负载
{
"orders": [
{
"caller": {
"clientId": "SIMREFNSW2"
},
"shipper": {
"clientId": "SPECSOL"
},
"consignee": {
"clientId": "1996DAN"
},
"details": [
{
"commodity": "FRPPLT",
"description": "Frozen",
"volume": 18,
"pieces": 16,
"weight": 9907,
"pallets": 9,
"piecesUnits": "QTY",
"volumeUnits": "PLT",
"weightUnits": "KG",
"palletUnits": "PLS",
"temperatureControlled": "True",
"temperatureUnits": "C"
}
],
"traceNumbers": [
{
"traceType": "C",
"traceNumber": "PICK0002",
"user2": "1",
"user3": "2"
},
{
"traceType": "P",
"traceNumber": "889926"
}
],
"pickUpBy": "2024-07-29T13:15:00",
"pickUpByEnd": "2024-07-29T13:15:00",
"deliverBy": "2024-08-02T00:00:00",
"deliverByEnd": "2024-08-02T00:00:00",
"serviceLevel": "RL",
"siteId": "SITE6",
"xrefcode": {
"consigneeid": "1996d",
"shipperid": "spec001",
"otherContactId": "simua"
},
"userFields": {
"user2": "PICK0002",
"user10": "0"
}
}
]
}
以下几点可能会导致问题 -