An error occurred The event RideUpdated has a topic that is not supported by the AsyncAPI specificat
I am doing the tutorial:
Be Real-Time: Design, Document, Discover and Develop Event...https://codelabs.solace.dev/codelabs/design-document-discover-develop-event-driven-apis/index.html?index=..%2F..index#10
I am on Step 11 and exporting the YAML from the ProcessPayment application
I get this error after I select YAML and click the button:
An error occurredThe event RideUpdated has a topic that is not supported by the AsyncAPI specification. Topic addresses must only contain letters, numbers and one or more of the following special characters: !#$&()*+,-./:;=[]_~
My RideUpdated topic still has the placeholder ids in it:
"taxinyc/ops/ride/updated/v1/${ride_status}/${driver_id}/${passenger_id}/${current_latitude}/${current_longitude}"
So then I realized that the $ ones were literals, not variables. So I created new variables (I was not able to edit and change from literal to variable).
Now my RideUpdated topic is:
taxinyc/ops/ride/updated/v1/{${ride_status3}}/{${driver_id}}/{${passenger_id}}/{${current_latitude}}/{${current_longitude} }
However I still get the error.
The tutorial seems a bit out of date visually, all the other changes were fine. But not sure what I am doing wrong here.
Update: -
I changed the topic again, using just the base strings (as variables)
taxinyc/ops/ride/updated/v1/{ride_status}/{driver_id}/{passenger_id}/{current_latitude}/current_longitude
Now that part passes, but now I get an error on PaymentCharged.
I did the tutorial along with the SolaceAcademy video (not the written down steps) - so that is probably just an old version.
Video needs updating. "Event Portal - getting started" @Dishant Langayan @dishantlangayan
Best Answer
-
Hi @mewren, Thanks for pointing this out. There have been some changes in the Event Portal & the AsyncAPI spec compatibility requires fixing in this codelab. Let us explore this codelab in full context and amend it as necessary at the earliest. Will update you when ready.
0
Answers
-
Hi @mewren, Thanks for pointing this out. There have been some changes in the Event Portal & the AsyncAPI spec compatibility requires fixing in this codelab. Let us explore this codelab in full context and amend it as necessary at the earliest. Will update you when ready.
0 -
Thanks, please also look into the ag command in step 11
ag -o ProcessPayment -p binder=solace -p artifactId=ProcessPayment -p groupId=org.taxi.nyc -p javaPackage=org.taxi.nyc -p host=taxi.messaging.solace.cloud:55555 -p username=public-taxi-user -p password=iliketaxis -p msgVpn=nyc-modern-taxi ProcessPayment.yaml @asyncapi/java-spring-cloud-stream-template
Something went wrong:
Error: ENOENT: no such file or directory, copyfile '/xxx/solace_training/ProcessPayment/src/main/java/#/properties/driver.java' -> '/xxx/solace_training/ProcessPayment/src/main/java/org/taxi/nyc/#/properties/driver.java'
at Object.copyFileSync (node:fs:2802:3)
at moveFile (/usr/local/lib/node_modules/@asyncapi/generator/node_modules/@asyncapi/java-spring-cloud-stream-template/hooks/post-process.js:134:6)
at processSchema (/usr/local/lib/node_modules/@asyncapi/generator/node_modules/@asyncapi/java-spring-cloud-stream-template/hooks/post-process.js:90:7)
at /usr/local/lib/node_modules/@asyncapi/generator/node_modules/@asyncapi/java-spring-cloud-stream-template/hooks/post-process.js:22:7
at Map.forEach (<anonymous>)
at generate:after (/usr/local/lib/node_modules/@asyncapi/generator/node_modules/@asyncapi/java-spring-cloud-stream-template/hooks/post-process.js:21:27)
at /usr/local/lib/node_modules/@asyncapi/generator/lib/generator.js:793:20
at Array.map (<anonymous>)
at Generator.launchHook (/usr/local/lib/node_modules/@asyncapi/generator/lib/generator.js:790:28)
at Generator.generate (/usr/local/lib/node_modules/@asyncapi/generator/lib/generator.js:205:18)
at /usr/local/lib/node_modules/@asyncapi/generator/cli.js:154:9
0 -
Hi @mewren - please check the codelab now. Following changes have been made to bring the codelab up-to-date and working.
a) We now have updated files that are ready for import (have fixes around handling the "$Id" filed issue in the asyncapi codegen tool)
b) An issue in the python-paho template has prevented us from completing the InvoiceSystem microservice build action - we have switched this step to use nodejs-template
Please review it when you can, and let us know if you encounter any issues.
Thanks!!
0