Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

Voor het versturen van grote berichten (met/zonder bijlages) naar het Schuldenknooppunt is het belangrijk dat de onderstaande HTTP headers mee worden gestuurd met de SOAP berichten:

Header naam

Header waarde

Tranfer-Encoding

chunked

Expect

100-continue

Wanneer deze headers niet meegestuurd worden kan het zijn dat de certificaat validatie niet goed gaat wanneer er een groot bericht verstuurd wordt.

Wanneer .NET gebruikt wordt om berichten te versturen worden deze headers automatisch meegestuurd. Maar voor andere programmeertalen zoals Java moeten deze headers handmatig toegevoegd worden.

Verder moet de gebruikte HTTP client het concept van chunked encoding ondersteunen. Verreweg de meeste implementaties ondersteunen dit wel, maar bijvoorbeeld een tool zoals Postman (op het moment van schrijven) niet.

Hieronder staat een stukje voorbeeld Kotlin code met settings van Apache CXF.

private fun setPolicies(service: Any, trustManagers: Array<TrustManager>, keyManagers: Array<KeyManager>) {
    val conduit: HTTPConduit = ClientProxy.getClient(service).getConduit() as HTTPConduit
    // Set the "Expect: 100-continue" header
    ClientProxy.getClient(service).requestContext.put(PROTOCOL_HEADERS, mapOf("Expect" to listOf("100-continue")))
    val httpPolicy = HTTPClientPolicy()
    httpPolicy.connectionTimeout = 36000
    // Enable "chunked encoding" support
    httpPolicy.isAllowChunking = true
    httpPolicy.receiveTimeout = 32000
    val tlsParameters = TLSClientParameters()
    tlsParameters.keyManagers = keyManagers
    tlsParameters.trustManagers = trustManagers
    conduit.tlsClientParameters = tlsParameters
    conduit.client = httpPolicy
}

  • No labels