Hello Jozef,
I see that you’ve made some progress with your issue but in case it helps I think I had a very similar problem at one point - my computer would happily connect to an SSL server but BaseX could not.
I cannot remember the details with certainty but IIRC it was caused by me running the BaseX server using a particular version of the Java Runtime which had a very old certificate store. I think I was able to change to a different version of Java (or update the certificate store to a more recent one) and the problem went away. I don’t know if I was missing a a root certificate or something had expired.
Regards, James
On 5 Sep 2020, at 11:00, basex-talk-request@mailman.uni-konstanz.de wrote:
From: Jozef Aerts basex@xml4pharma.com Subject: [basex-talk] http:send-request / http:request with Azure API key Date: 5 September 2020 at 07:49:31 BST To: "basex-talk@mailman.uni-konstanz.de" basex-talk@mailman.uni-konstanz.de
Dear colleagues, We are using XQuery with BaseX for the development of hundreds of validation rules for CDISC Standards ("Open Rules for CDISC Standards"). For some of these rules we need a lookup using a RESTful web server located at CDISC. Until now, that server used basic authentication until now, but they are moving to using an Azure API key. For the new mechanism, the curl request is:
curl -X GET https://ngp-apim-dev.azure-api.net/api/mdr/products \ -H "Accept: application/json" \ -H "Ocp-Apim-Subscription-Key: abcdef0123456789abcdef0123456789"
So, based on the documentation at https://docs.basex.org/wiki/HTTP_Client_Module, https://docs.basex.org/wiki/HTTP_Client_Modulefor XQuery I used: let $response := http:send-request( <http:request method='get' href='https://ngp-apim-dev.azure-api.net/api/mdr/products%27%3E <http:header name="Ocp-Apim-Subscription-Key" value="{$apikey}"/> </http:request>)
and: let $response := http:send-request( <http:request method='get'> <http:header name="Ocp-Apim-Subscription-Key" value="{$apikey}"/> </http:request>,'https://ngp-apim-dev.azure-api.net/api/mdr/products')
where $apikey is my personal key, which works when working with curl or in a Java program.
but I get a "Connection failed".
From a few experiments, it looks as the server is reached, but then refuses to do something with the request. I cannot see however what the details of the failure is.
Any idea what I am doing wrong?
Many thanks in advance, Jozef Aerts XML4Pharma
basex-talk@mailman.uni-konstanz.de