Sample code for 30+ languages & platforms
React Native

Belgium eHealth Platform - checkConnection

See more Belgian eHealth Platform Examples

Demonstrates the first operation of PlatformIntegrationConsumerTest (checkConnection), which has no message-level security and therefore no wsse:Security block in the SOAP header. You test the SSL/TLS connection to the SOA platform.

Chilkat React Native Downloads

React Native
import { CkDateTime, Http, HttpResponse, Xml } from '@chilkat/react-native'

async function chilkatExample() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const http = new Http();

  try {
    http.setSslClientCertPfx('SSIN=12345678.acc.p12', 'p12_password');
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  // Create the following XML
  // <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:be:fgov:ehealth:platformintegrationconsumertest:v1"
  // xmlns:urn1="urn:be:fgov:ehealth:platformintegrationconsumertest:types:v1">
  //     <soapenv:Header/>
  //     <soapenv:Body>
  //         <urn:CheckConnectionRequest>
  //             <urn1:Message>Hello World</urn1:Message>
  //             <urn1:Timestamp>2014-12-30T15:29:03.157+01:00</urn1:Timestamp>
  //         </urn:CheckConnectionRequest>
  //     </soapenv:Body>
  // </soapenv:Envelope>

  const xml = new Xml();
  xml.tag = 'soapenv:Envelope';
  xml.addAttribute('xmlns:soapenv', 'http://schemas.xmlsoap.org/soap/envelope/');
  xml.addAttribute('xmlns:urn', 'urn:be:fgov:ehealth:platformintegrationconsumertest:v1');
  xml.addAttribute('xmlns:urn1', 'urn:be:fgov:ehealth:platformintegrationconsumertest:types:v1');
  xml.updateChildContent('soapenv:Header', '');
  xml.updateChildContent('soapenv:Body|urn:CheckConnectionRequest|urn1:Message', 'Hello World');

  // Create a timestamp with the current date/time in the following format: 2014-12-30T15:29:03.157+01:00
  const dt = new CkDateTime();
  dt.setFromCurrentSystemTime();

  xml.updateChildContent('soapenv:Body|urn:CheckConnectionRequest|urn1:Timestamp', dt.getAsTimestamp(true));

  http.setRequestHeader('Content-Type', 'text/xml');

  const resp = new HttpResponse();
  try {
    await http.httpStrAsync('POST', 'https://services-acpt.ehealth.fgov.be/PlatformIntegrationConsumerTest/v1', xml.getXml(), 'utf-8', 'application/xml', resp);
  } catch {
    console.log(http.lastErrorText);
    return;
  }

  console.log(resp.bodyStr);
  console.log(`response status code = ${resp.statusCode}`);

  // A successful response is a 200 status code, with this sample response:
  // 
  // <?xml version="1.0"?>
  // <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  //    <soapenv:Header xmlns:v1="urn:be:fgov:ehealth:platformintegrationconsumertest:v1" xmlns:v11="urn:be:fgov:ehealth:platformintegrationconsumertest:types:v1"/>
  //    <soapenv:Body xmlns:v1="urn:be:fgov:ehealth:platformintegrationconsumertest:v1" xmlns:v11="urn:be:fgov:ehealth:platformintegrationconsumertest:types:v1">
  //       <ic:CheckConnectionResponse xmlns:ic="urn:be:fgov:ehealth:platformintegrationconsumertest:v1" xmlns:type="urn:be:fgov:ehealth:platformintegrationconsumertest:types:v1">
  //          <type:Message>Hello World</type:Message>
  //          <type:Timestamp>2023-09-28T21:24:32.925+02:00</type:Timestamp>
  //          <type:AuthenticatedConsumer>anonymous</type:AuthenticatedConsumer>
  //       </ic:CheckConnectionResponse>
  //    </soapenv:Body>
  // </soapenv:Envelope>
}