我正在生成json消息,并尝试使其符合Avro标准。这是我要发送的消息的示例,但是我收到以下错误,我认为这是由于架构不匹配数据,但可能是错误的,我将KafkaAvroSerializer.class.getName()用于值序列化程序
Point[] hull;
Point[][] contours;
for (int i = 0; i < contours.Length; i++)
{
hull = Cv2.ConvexHull(contours[i],false);
defects = Cv2.ConvexityDefects(contours[i],hull);
Cv2.DrawContours(frame,new Point[][] { hull },(int)largestContour,new OpenCvSharp.Scalar(0,255),2);
}
nested exception is org.apache.kafka.common.errors.SerializationException: Error serializing Avro message; nested exception is org.apache.kafka.common.errors.SerializationException: Error serializing Avro message
Caused by: java.lang.NullPointerException: null of string of com.lm.gde.eventing.avro.CoveragesPreviousPolicy of com.lm.gde.eventing.avro.VehiclesPreviousPolicy of array of com.lm.gde.eventing.avro.previous_policy of com.lm.gde.eventing.avro.PolicyAvro of com.lm.gde.eventing.avro.EnrichedPolicyEventAvro
这是我编写的架构
{
"eventType": "policy.PolicyTxIssueEvent","correlationId": "XXXXXX","timestamp": 1572532310225,"policy": {
"policyNumber": "XXXXXX","policyId": "XXXXXX","customerNumber": "XXXXXX","effectiveDate": "2019-10-26T00:00:00+01:00","expirationDate": "2020-10-25T23:59:00Z","transactionEffectiveDate": "2019-10-31T00:00:00Z","revisionNumber": "2","policyStatusCd": "issued","previousPolicyVersionId": "XXXXXX","transactionTypeCd": "endorsement","vehicles": [{
"registrationNo": "XXXXXX","make": "XXXXXX","model": "XXXXXX","coverages": {
"roadAssistanceCoverLevelCd": "Medium"
}
}],"customer": {
"extensionFields": {
"nif": "XXXXXX"
},"individualDetails": {
"firstName": "XXXXXX","lastName": "XXXXXX"
},"phones": [{
"phoneNumber": "XXXXXX"
}],"addresses": [{
"addressLine1": "XXXXXX","addressLine2": "","addressLine3": "","city": "XXXXXX","postalCode": "XXXXXX"
}]
},"previous_policy": {
"vehicles": [{
"registrationNo": "XXXXXX","coverages": {
"roadAssistanceCoverLevelCd": null
}
}],"policyNumber": "XXXXXX","transactionEffectiveDate": "2019-10-26T00:00:00+01:00","transactionTypeCd": "policy","revisionNumber": "1","previousPolicyVersionId": null
}
}
}