Open
Description
Describe the bug
Hey,
I have the following events coming in through API calls in JSON
{
items: [ { name: 'burger', quantity: 100 } ],
email: '[email protected]',
total: 5000
}
and this is the code that should produce them into a station:
const { memphis } = require('memphis-dev');
const { logger } = require('./loggerService')
const MEMPHIS_HOST = process.env.MEMPHIS_HOST;
const MEMPHIS_USERNAME = process.env.MEMPHIS_USERNAME;
const MEMPHIS_PASSWORD = process.env.MEMPHIS_PASSWORD;
const MEMPHIS_ACCOUNTID = process.env.MEMPHIS_ACCOUNTID;
let orders_service_producer = null;
const memphisConnect = async () => {
try {
logger.info(`Memphis - trying to connect`)
await memphis.connect({
host: MEMPHIS_HOST,
username: MEMPHIS_USERNAME,
password: MEMPHIS_PASSWORD,
accountId: MEMPHIS_ACCOUNTID
});
logger.info(`Memphis - connection established`)
orders_service_producer = await memphis.producer({
stationName: "orders",
producerName: "orders_service",
});
logger.info(`orders_service producer created`)
} catch(ex) {
logger.log('fatal',`Memphis - ${ex}`);
memphis.close();
process.exit();
}
}
Without an enforced schema, everything works well, but when I enforce a schema, I get the following error:
03-11-2023 10:42:02 AM - info: POST /api/orders 201 89 ::1 - 17.368 ms
node:internal/process/promises:289
triggerUncaughtException(err, true /* fromPromise */);
^
Error: Schema validation has failed: Invalid message format, expecting protobuf
at Producer._validateProtobufMessage (/private/tmp/onboarding-app/order-service/node_modules/memphis-dev/lib/producer.js:183:57)
at Producer._validateMessage (/private/tmp/onboarding-app/order-service/node_modules/memphis-dev/lib/producer.js:243:33)
at Producer.produce (/private/tmp/onboarding-app/order-service/node_modules/memphis-dev/lib/producer.js:44:38)
at Object.publishOrderToStation (/private/tmp/onboarding-app/order-service/src/services/mqService.js:37:29)
at placeOrder (/private/tmp/onboarding-app/order-service/src/controllers/orderController.js:19:25)
at Layer.handle [as handle_request] (/private/tmp/onboarding-app/order-service/node_modules/express/lib/router/layer.js:95:5)
at next (/private/tmp/onboarding-app/order-service/node_modules/express/lib/router/route.js:144:13)
at Route.dispatch (/private/tmp/onboarding-app/order-service/node_modules/express/lib/router/route.js:114:3)
at Layer.handle [as handle_request] (/private/tmp/onboarding-app/order-service/node_modules/express/lib/router/layer.js:95:5)
at /private/tmp/onboarding-app/order-service/node_modules/express/lib/router/index.js:284:15
Node.js v19.4.0
Steps to reproduce
Written above
Affected services
Broker, Data, SDKs
Broker version
1.3.0-latest
Platforms
No response
If UI - Browsers
No response
Environment
No response
Additional context
No response
Code of Conduct
- I agree to follow this project's Code of Conduct