Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

:

Header naam

Header waarde

Transfer-Encoding

chunked

Expect

100-continue

...

Als Wanneer deze header headers niet meegestuurd wordt 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 wordt worden deze header headers automatisch meegestuurd. Maar voor andere programmeertalen zoals Java moet moeten deze header zelf toegevoegd wordenheaders 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.

Code Block
breakoutModelanguagewidekotlin
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
   
}