Hello I have a problem with my service says that "Internal Server Error Exception occured! Exception details: IdentificationResponse cannot be cast to org.springframework.http.ResponseEntity"" any help on this matter ?
my code blocks below;
my IdentificationService Impl;
Slf4j
@Service
@RequiredArgsConstructor
public class IdentificationServiceImpl implements IdentificationService {
private final RestTemplate restTemplate;
@Value("${platform.url}")
private String platform;
private final ServiceConfig serviceConfig;
@Override
public ResponseEntity<IdentificationResponse> createIdentification(Request request) {
IdentificationRequest identificationRequest = new IdentificationRequest(serviceConfig.getIssuerKey(), serviceConfig.getSecureKey());
identificationRequest.setOperation(ClientConstants.CREATE_IDENTIFICATION_ADD);
HttpEntity<IdentificationRequest> requestHttpEntity = new HttpEntity<>(IdentificationRequest);
ResponseEntity<IdentificationResponse> response = restTemplate.exchange(platform, HttpMethod.POST, requestHttpEntity, IdentificationResponse.class);
return HandleResponse.handleResponse(response);
}
my handle Response class below;
public static <T> T handleResponse(ResponseEntity response) {
HttpStatus code = response.getStatusCode();
if (code == HttpStatus.OK || code == HttpStatus.CREATED) {
return (T) response.getBody();
} else if (code == HttpStatus.NO_CONTENT) {
return null;
} else if (code == HttpStatus.BAD_REQUEST)
throw new BadRequestException("BadRequest Exception occured while requesting! Exception details: " + response.getBody());
else if (code == HttpStatus.UNAUTHORIZED)
throw new UnauthorizedException("Unauthorized Exception occured while requesting! Exception details: " + response.getBody());
else
throw new HttpClientException("Exception occured! Exception details: " + response.getBody(), code.value());
}
}
my IdentificationRequest class below;
@Data
public class IdentificationRequest {
@Setter(AccessLevel.NONE)
@NotNull
@JsonProperty("IssuerKey")
private String issuerKey;
@Setter(AccessLevel.NONE)
@NotNull
@JsonProperty("SecurityKey")
private String secureKey;
@NotNull
@JsonProperty("TransactionId")
private String transactionId;
@NotNull
@JsonProperty("TransactionDate")
@DateTimeFormat(pattern = "YYYY-MM-DD HH:mm:ss.SSS")
private String transactionDate;
@NotNull
@JsonProperty("Msisdn")
@Pattern(regexp = "^905.{9}", message = "must be of 12 char/digit")
private Long msisdn;
private String operation;
@NotNull
@JsonProperty("Package")
private String Package;
@NotNull
@JsonProperty("STB")
private Boolean isStb;
@JsonProperty("STB_SerialNumber")
private String stbSerialNumber;
@JsonProperty("STB_MacAddress")
private String stbMacAddress;
public IdentificationRequest(String issuerKey, String secureKey) {
this.issuerKey = issuerKey;
this.secureKey = secureKey;
}
}
my Request class below;
@Data
public class Request {
@JsonProperty("OrderId")
private String orderId;
@JsonProperty("OrderItemId")
private String orderItemId;
@JsonProperty("ProcessInstanceId")
private String processId;
@JsonProperty("step_id")
private String stepId;
@JsonProperty("step_name")
private String stepName;
my Response class below;
@Data
public class IdentificationResponse {
@JsonProperty("IsSuccessful")
private Boolean isSuccessful;
@JsonProperty("Code")
private Integer code;
@JsonProperty("Message")
private String message;
@JsonProperty("Data")
private Object data;
}
Do I need a map to response to response Entity?