0

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);
    }
}
  • 1
    Did you read this [answer](https://stackoverflow.com/questions/6908948/java-sun-security-provider-certpath-suncertpathbuilderexception-unable-to-find)? – MarsAtomic Jul 12 '23 at 03:47

0 Answers0