Voor het versturen van grote berichten 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 |
Als 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 moete deze header zelf toegevoegd worden.
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 ClientProxy.getClient(service).requestContext.put(PROTOCOL_HEADERS, mapOf("Expect" to listOf("100-continue"))) val httpPolicy = HTTPClientPolicy() httpPolicy.connectionTimeout = 36000 httpPolicy.isAllowChunking = true httpPolicy.receiveTimeout = 32000 val tlsParameters = TLSClientParameters() tlsParameters.keyManagers = keyManagers tlsParameters.trustManagers = trustManagers conduit.tlsClientParameters = tlsParameters conduit.client = httpPolicy }