You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In react ui the request channel will be displayed instead of the reply channel.
Reproducer
asyncapi: 3.0.0info:
title: Request reply example apiversion: '1.0.0'description: | THIS IS NOT A STANDALONE API!!! DONT COPY PASTE!!! Please see this as a template that should be adopted and integrated into your api. Because this service is part of your application.channels:
request:
address: tms/iad/lta/p/v1/prod/my/requestdescription: Get a compacted view of the past.messages:
request:
$ref: '#/components/messages/request'response:
address: nulldescription: The response to your requestmessages:
normalResponse:
$ref: '#/components/messages/normalResponse'groupedResponse:
$ref: '#/components/messages/groupedResponse'operations:
requestReply:
action: sendchannel:
$ref: '#/channels/request'reply:
channel:
$ref: '#/channels/response'messages:
- $ref: '#/channels/response/messages/normalResponse'
- $ref: '#/channels/response/messages/groupedResponse'address:
location: '$message.header#/replyTo'description: > Request reply example operationcomponents:
messageTraits:
response:
headers:
type: objectrequired:
- totalReplies
- correlationIdproperties:
totalReplies:
type: numberminimum: -1description: | The total number of reply you have to expect. Edge cases: - "0" There are no responses and/or there is an error. The error case indicates end of stream. If `errorMessage` is not empty. Your requests could not be processed. If `errorMessage` is empty or not set, your requests dint find anything to return aka empty array. - "-1" The number of replies is unknown. In this edge case only the last message will have a totalReplies >= 1 but the body of the EndOfStream message will not be evaluated.correlationId:
type: stringdescription: Correlation ID set by application. To identify response to requesterrorMessage:
type: stringdescription: | In case of that the request was invalid. This field is given with an error message and totalReplies is set to 0correlationId:
location: $message.header#/correlationIdmessages:
request:
name: requesttitle: Your questionheaders:
type: objectadditionalProperties: falserequired:
- replyTo
- correlationIdproperties:
replyTo:
type: stringpattern: ^tms/iad/lta/p-\w+/v1/prod/your/reply/([\w\-]{10,})$maxLength: 134description: | the address where you receive the reply to. Use the solace ReplyTo header: https://docs.solace.com/API-Developer-Online-Ref-Documentation/java/com/solacesystems/jcsmp/XMLMessage.html#getReplyTo-- TODO: you need to adopt the pattern to match your topic from configuration. But be aware of to: - use a very unique system identifier. To avoid collisions and debugging purpose to identify you. - but not exceed the 134 char max topic lengthexternalDocs:
url: https://confluence.sbb.ch/x/Ohblegdescription: documentation for request reply handling at tmsgroupedMessages:
type: booleandescription: | Indicates that at a multi response channel a grouped messages is acceptable. This flag should be `true`if: - You expect multiple response > 200 - You expect small to very small response messages < 100kb - You dont process the header of the original update messages. Because on grouped messages all header get lost. Benefit of grouped messages: - The overhead will be minimized - You can receive much fastercorrelationId:
type: stringdescription: Correlation ID set by application. To identify response to requestcorrelationId:
location: $message.header#/correlationIdnormalResponse:
name: replytitle: Reply to a requestpayload:
type: objectdescription: | TODO: Define here the payload Schema. Transfer encoded as byte array.headers:
type: objectrequired:
- replyIndexproperties:
replyIndex:
type: numberminimum: 0description: The index of the reply messagetraits:
- $ref: "#/components/messageTraits/response"groupedResponse:
name: replyGroupedtitle: Grouped reply to a requestdescription: | Payload contains multiple small responses in a list. Should be used to reduce the overhead in case a response consists of many (>200) small messages (<100kb).payload:
type: arrayitems:
oneOff:
- type: stringenum:
- TextMessage
- XMLContentMessage
- BytesMessage
- MapMessage
- StreamMessagedescription: The message type
- type: objectdescription: | TODO: Define here the payload Schema. Transfer encoded as byte array.description: | A list of multiple message bodies. The content is a alternating list with: MessageType, body, MessageType, body, ... Needs to be of type solace "StreamMessage"headers:
type: objectrequired:
- replyIndex
- groupedMessagesproperties:
replyIndex:
type: stringdescription: | The index range of the reply message.examples:
- 0
- 0-3
- 4-25groupedMessages:
type: booleandescription: needs to be `true` to indicate a grouped "groupedResponse" messagetraits:
- $ref: "#/components/messageTraits/response"
The text was updated successfully, but these errors were encountered:
Description
When an operation contains an reply channel
In react ui the request channel will be displayed instead of the reply channel.
Reproducer
The text was updated successfully, but these errors were encountered: