So i trying to read rss feed from this link https://ssioltbrw.samuel.co.id/category-research-reports/emiten-report-ssi/feed/. but my spring boot and maven rome to read the file but gets an error that stated Error reading RSS feed: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. What should i do
Here is my code
package com.allspeak.rssfeed.components;
import com.allspeak.rssfeed.entity.Rss;
import com.rometools.rome.feed.synd.SyndEntry;
import com.rometools.rome.feed.synd.SyndFeed;
import com.rometools.rome.io.SyndFeedInput;
import com.rometools.rome.io.XmlReader;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Component
@RequiredArgsConstructor
@Slf4j
public class RssReader {
public List<Rss> readRssFeed(String feedUrl) {
try {
URL url = new URL(feedUrl);
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(url));
List<Rss> feedItems = new ArrayList<>();
for (SyndEntry entry : feed.getEntries()) {
Rss item = new Rss();
item.setTitle(entry.getTitle());
// item.setDescription(entry.getDescription().getValue());
item.setLink(entry.getLink());
item.setPubDate(entry.getPublishedDate());
feedItems.add(item);
}
return feedItems;
} catch (Exception e) {
log.error("Error reading RSS feed: {}", e.getMessage());
return Collections.emptyList();
}
}
}
Here is my code for the controller
package com.allspeak.rssfeed.controller;
import com.allspeak.rssfeed.components.RssReader;
import com.allspeak.rssfeed.entity.Rss;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/rss")
@AllArgsConstructor
public class RssController {
private final RssReader rssReader;
@GetMapping("/feed")
public List<Rss> getRssFeed() {
String feedUrl = "https://samuel.co.id/category-research-reports/emiten-report-ssi/feed/";
return rssReader.readRssFeed(feedUrl);
}
}