Sample code for 30+ languages & platforms
Dart

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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

  try {
    http.setSslClientCertPfx('SSIN=12345678.acc.p12', 'p12_password');
  } on ChilkatException catch (e) {
    print(e.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>

  final xml = CkXml();
  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
  final dt = CkDateTime();
  dt.setFromCurrentSystemTime();

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

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

  final resp = CkHttpResponse();
  try {
    http.httpStr('POST', 'https://services-acpt.ehealth.fgov.be/PlatformIntegrationConsumerTest/v1', xml.getXml(), 'utf-8', 'application/xml', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print(resp.bodyStr);
  print('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>
}