我正在通过Fiori的SAP中的企业消息传递发送消息。SAPui5 代码如下。
$.ajax({
type: "POST",
url: '/messagingrest/v1/topics/SeasonalityTopic/messages',
headers: {
'Access-Control-Allow-Origin': '*',
'Authorization': 'Bearer ' + accessToken, // has a value for accessToken
'Accept': '*/*',
'Cache-Control': 'no-cache',
'x-qos': '1'
},
data: "hi",
dataType: "json",
contentType: "application/x-www-form-urlencoded",
beforeSend: function (xhr) {
// xhr.setRequestHeader('Authorization', bearer);
},
success: function (ret) {
var aa = 1;
},
error: function (err) {
var aa = 2;
}
});
但这会返回以下消息。
{ "消息": "X-QoS 无效" }
x-qos
是必需的标头参数,可能的值为0
或1
。
根据我在阅读一些文档时发现的内容:
0
:不需要确认即可从队列中删除消息。1
:需要确认消息来确认传递并将其从队列中删除。
一些有用的文档:
https://help.sap.com/doc/3dfdf81b17b744ea921ce7ad464d1bd7/Cloud/en-US/messagingrest-api-spec.html
https://blogs.sap.com/2019/08/19/sap-enterprise-messaging-and-sap-cloud-platform-integration-pubsub-pattern/