OxalisCommunity / oxalis

Oxalis - PEPPOL Access Point open source implementation - Core component
Other
124 stars 90 forks source link

oxalis with proxy and openjdk 1.8.0_242 #457

Closed olauspet closed 4 years ago

olauspet commented 4 years ago

Not sure if this is a bug or not, but we encountered a problem of using proxy after an os patch, including openjdk 1.8.0_242.

After this, we are getting an error when trying to send to peppol as we get a timeout when connecting to the SMP. This works fine on another server where we are running openjdk 1.8.0_232

We use latest release 4.1.1 + AS4 4.1.3 running in tomcat 9

The proxy is configured with -D https.proxy and http.proxy settings and I can see in the catalina log file that these are applied.

Is this something others have experienced as well? There was some similar issue regarding oxalis as4 and proxy.

BTW, is there a forum for Oxalis where these kind of topics can be discussed prior to creating an issue?

olauspet commented 4 years ago

The problem seems to be from no.difi.vefa.peppol.lookup.locator.BdxlLocator class (version 1.1.3)

I added some trace before and after the call to the lookup method

private SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");

// Fetch all records of type NAPTR registered on hostname.
System.out.println(sdf.format(new Date()) + ": " + this.getClass().getName() + " line: 105: " + Lookup.class.getName());
Record[] records = new Lookup(hostname, Type.NAPTR).run();
System.out.println(sdf.format(new Date()) + ": " + this.getClass().getName() + " line: 107");

in the catalina.out I can then see a delay of 30 seconds 2020-02-10 17:52:16: no.difi.vefa.peppol.lookup.locator.BdxlLocator line: 105: org.xbill.DNS.Lookup 2020-02-10 17:52:47: no.difi.vefa.peppol.lookup.locator.BdxlLocator line: 107

olauspet commented 4 years ago

Issue is related to that dns servers was disabled on the backend server. We can access public internet using the proxy setup, but when oxalis tries to lookup the participant with DNS, it gets a timeout and returns a null value (as if the participant was not found). We do not get any exception.

Is it possible to configure oxalis to use dns over proxy?