IQSS / IQSS/dataverse

Harvesting client not compatible with servers using HTTP

Open
#10,913 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature: Harvesting Size: 10 Type: Bug
Dominant language
Java
Stars
1.1k
Forks
564
Avg merge
2d 2h
Merged PRs (30d)
29

Description

Hello,

I tried to harvest an OAI server compatible with the HTTP protocol,
e.g. : http://cds.unistra.fr/registry/?verb=ListIdentifiers&metadataPrefix=oai_dc

When creating a harvesting client, Dataverse seems to say that HTTP is supported:
Capture d’écran du 2024-10-09 15-09-16

Tested with the devleop branch, it is not possible to fill in an OAI server with the HTTP protocol :
Capture d’écran du 2024-09-26 18-13-43

It is however possible to declare a harvesting client with the API and fill in an OAI server with the HTTP protocol.
In this case, an error is raised during harvesting :

Caused By Exception.................... java.nio.channels.UnresolvedAddressException null
StackTrace: 
java.base/sun.nio.ch.Net.checkAddress(Unknown Source)
java.base/sun.nio.ch.Net.checkAddress(Unknown Source)
java.base/sun.nio.ch.SocketChannelImpl.checkRemote(Unknown Source)

Two choices are possible:

  1. Support HTTP protocol
  2. Indicate that the url must start with https://...

Any related open or closed issues to this bug report?
https://github.com/IQSS/dataverse/issues/4831

Are you thinking about creating a pull request for this issue?
This is not planned by the team at the moment !

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the harvesting-client flow with the HTTP OAI server URL from the report, then trace both client creation and the harvesting request that produces UnresolvedAddressException. Review related issue #4831 and determine whether HTTP should work or be rejected with an explicit HTTPS requirement. Done means the chosen behavior is consistent in the UI, API, and harvesting path.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.