Trouble accessing Medline

Wow… am I one of the first to post on this forum? Jabref is great software - in most ways better than the proprietary reference managers I’ve used. Many thanks to the developers and the community for creating and maintaining it.

My question is: Recently, when I try to search for a publication using the Medline web search function, no matter what I type in the search field, it gives back a “no references found” notice. Usually I search for a PMID, which yields the specific article I want; but even when I type in broad terms like “mitral valve” or “losartan” it says “no references found”.

Since Medline obviously has lots of references on those topics, I assume the problem is it’s not reaching Medline or not performing the search correctly. I contacted my system administrator, and he assured me the program is not being blocked by any institutional firewall. I also made sure Jabref is allowed through my Windows firewall.

I should mention that the Medline search function was working just fine until a few days ago, after a Windows update. I’m running Windows 7 professional 64 bit and Jabref 3.4. Also: The Web Search status in Jabref reads as “Fetching Medline by Term” when the program is at rest i.e. I haven’t put in any search term.

I’d appreciate any suggestions you can give for troubleshooting this problem.

Hi @Schamess
and congratulations for inaugurating this forum :wink:

I just tried searching using the medline fetcher and it is working for me.

Have you tried another fetcher such as Google Scholar? If this is working the firewall should not be a problem…

Is there any relevant feedback in the “Error console” ( accessible via the “Help” menu)?

Have you downloaded lots of entries in the recent time using the same IP address? Maybe medline is blocking your IP address. You could try to use a proxy server to check this reason…

Hope one of the suggestions is pointing in the right direction…

Regards
Matthias

Many thanks for getting back to me. I couldn’t get Google Scholar to work either. I’m attaching the log file - I’m not sure how to interpret it but maybe it will make sense to you? Again, I appreciate your help!

08:18:08.348 [AWT-EventQueue-0] INFO net.sf.jabref.importer.OpenDatabaseAction - Opening: C:\Users\scha90\Google Drive\Jabref\General Medicine\General Medicine.bib
08:18:58.764 [JabRef CachedThreadPool] WARN net.sf.jabref.logic.net.URLDownload - Could not copy input
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[?:1.8.0_92]
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.PlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.SocksSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.Socket.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.Socket.connect(Unknown Source) ~[?:1.8.0_92]
at sun.net.NetworkClient.doConnect(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.New(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.New(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) ~[?:1.8.0_92]
at net.sf.jabref.logic.net.URLDownload.openConnection(URLDownload.java:140) ~[JabRef-3.4.jar:?]
at net.sf.jabref.logic.net.URLDownload.downloadToString(URLDownload.java:157) ~[JabRef-3.4.jar:?]
at net.sf.jabref.logic.net.URLDownload.downloadToString(URLDownload.java:152) ~[JabRef-3.4.jar:?]
at net.sf.jabref.importer.fetcher.GoogleScholarFetcher.runConfig(GoogleScholarFetcher.java:176) ~[JabRef-3.4.jar:?]
at net.sf.jabref.importer.fetcher.GoogleScholarFetcher.processQueryGetPreview(GoogleScholarFetcher.java:96) ~[JabRef-3.4.jar:?]
at net.sf.jabref.importer.fetcher.GeneralFetcher.lambda$actionPerformed$4(GeneralFetcher.java:231) ~[JabRef-3.4.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_92]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_92]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_92]
08:18:58.767 [JabRef CachedThreadPool] WARN net.sf.jabref.importer.fetcher.GoogleScholarFetcher - Error fetching from Google Scholar
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[?:1.8.0_92]
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.PlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.SocksSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.Socket.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.Socket.connect(Unknown Source) ~[?:1.8.0_92]
at sun.net.NetworkClient.doConnect(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.New(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.New(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) ~[?:1.8.0_92]
at net.sf.jabref.logic.net.URLDownload.openConnection(URLDownload.java:140) ~[JabRef-3.4.jar:?]
at net.sf.jabref.logic.net.URLDownload.downloadToString(URLDownload.java:157) ~[JabRef-3.4.jar:?]
at net.sf.jabref.logic.net.URLDownload.downloadToString(URLDownload.java:152) ~[JabRef-3.4.jar:?]
at net.sf.jabref.importer.fetcher.GoogleScholarFetcher.runConfig(GoogleScholarFetcher.java:176) ~[JabRef-3.4.jar:?]
at net.sf.jabref.importer.fetcher.GoogleScholarFetcher.processQueryGetPreview(GoogleScholarFetcher.java:96) ~[JabRef-3.4.jar:?]
at net.sf.jabref.importer.fetcher.GeneralFetcher.lambda$actionPerformed$4(GeneralFetcher.java:231) ~[JabRef-3.4.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_92]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_92]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_92]
08:19:08.354 [JabRef CachedThreadPool] WARN net.sf.jabref.importer.fetcher.MedlineFetcher - Connection failed
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method) ~[?:1.8.0_92]
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) ~[?:1.8.0_92]
at java.net.AbstractPlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.PlainSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.SocksSocketImpl.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.Socket.connect(Unknown Source) ~[?:1.8.0_92]
at java.net.Socket.connect(Unknown Source) ~[?:1.8.0_92]
at sun.net.NetworkClient.doConnect(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.New(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.http.HttpClient.New(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source) ~[?:1.8.0_92]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) ~[?:1.8.0_92]
at java.net.URL.openStream(Unknown Source) ~[?:1.8.0_92]
at net.sf.jabref.importer.fetcher.MedlineFetcher.getIds(MedlineFetcher.java:94) ~[JabRef-3.4.jar:?]
at net.sf.jabref.importer.fetcher.MedlineFetcher.processQuery(MedlineFetcher.java:174) ~[JabRef-3.4.jar:?]
at net.sf.jabref.importer.fetcher.GeneralFetcher.lambda$actionPerformed$5(GeneralFetcher.java:263) ~[JabRef-3.4.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_92]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_92]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_92]

Hi!
The relevant part of this so-called stack trace is this one:

08:19:08.354 [JabRef CachedThreadPool] WARN  net.sf.jabref.importer.fetcher.MedlineFetcher - Connection failed
java.net.ConnectException: Connection refused: connect

This implies, that no connection to the medline services could be established. This can have various reasons, but as Google Scholar also fails it is very unlikely that both services are down.

My guess is: The problem is caused by a firewall blocking the access.

You’ve already said in your first posting that the sys admin told that your network firewall should not cause the trouble and that you’ve checked the Windows firewall. Can you please check again, if “java.exe” and/or “javaw.exe” have permissions to communicate with the internet. Reason: JabRef is written in Java and upon execution not directly the “Jabref.exe” is communicating with the net but the general “java.exe” which is used by each Java application.

That makes sense. I found no fewer than eight instances of java on my PC, and made firewall exceptions for all of them. Unfortunately, that didn’t solve the problem. I think maybe it’s being blocked elsewhere in the network. I called the help desk again, and they’ve referred it to their engineers. So I’ll keep you posted if we’re able to fix the problem on this end.

Any update? Could you solve your problem?

Hello. I have exactly the same problem. I appears just like that last week although I’m using JabRef almost every day. Medline has been working for years before that…

Hi, I also have had problems fetching entries from Medline the last few days after it had been working generally before. Fetching through DOI works, but I prefer Medline, because the data is better curated and includes the abstract.

Medline is currently changing its infrastructure which also affects JabRef (more technical details here…). We have fixed the Medline fetcher in current development builds and are currently in the process of releasing JabRef 3.7

So, if you don’t want to wait and to test it out you can use a development build which is available here: https://builds.jabref.org/master

Or you wait until the end of the week - than the official release will take place (if no serious problems are reported before).

Medline changed something in their backend interface, which lead to problems with JabRef.
The issue is fixed in the current development version and we plan to release the fix as part of JabRef 3.7 next week. If you don’t want to wait unit then, you are invited to use the latest development version (as usual with unreleased software, better make a copy of your bib-file to be on the save side).

Great, thanks a lot!

We have just released JabRef 3.7 which should fix the problems with the Medline search.

Version 3.7 is now freely available at FossHub or at GitHub.

5 posts were split to a new topic: Problems with Medline fetcher

Hello,

Jabref was working greatly, but the Medline Fetch does not work anymore.
I tried :
JabRef_windows-x64_4_1-dev–snapshot–2017-12-03–master–56aa71671
with the same problem.

Thank you for your help.

sorry for the last message,
with
JabRef_windows-x64_4_1-dev–snapshot–2017-12-03–master–56aa71671
it works well

1 Like

None of my JabRef versions 3.7, 3.8, 3.8.2, in either installed (exe installer) or platform independent jar format can access Medline any more. I installed version 4.0 (exe installer for 64-bit Windows 7) and it also would not access Medline. No error message, no message about “no references found,” it just hangs, with the bar going back and forth. Same result with the 4.0 jar format. Google scholar, ArXiv, and IEEEexplore all work fine.

@cryan Medline changed again their API so that the fetcher in 4.0 is currently broken. We will release a fix as part of 4.1 in a few days, but in the meantime you can use the development version.

Using Jabref 4.1 and win7-64 looking for the PMID so far works flawlessly. I have not entered complex searches into Jabref but retrieving single documents via their PMID works.