[SDK]: Chunking wird genutzt ohne Unterstützung durch Empfänger vorher zu prüfen
Description of the bug:
Wenn die FIT-Connect-Schnittstelle mit dem Java-SDK implementiert wurde, wird für die Datenübermittlung Chunking verwendet, ohne zu prüfen, ob Chunking unterstützt wird, indem Metadatenversion ab 1.3.0 aktiviert wurde.
Current behavior:
Der Sender versucht Anlagen in Fragmenten zu senden, obwohl Metadatenversion 1.3.0 oder höher nicht aktiviert wurde. Der Zustellpunkt verweigert vermutlich die Annahme der Daten und das Java-SDK in der Version 2.8.1 meldet eine Exception.
dev.fitko.fitconnect.api.exceptions.client.FitConnectSenderException: Submission contains chunked attachments but destination does not support chunking. At least metadata version 1.3.0 is required.
at dev.fitko.fitconnect.client.SenderClient.wrapExceptions(SenderClient.java:225)
at dev.fitko.fitconnect.client.SenderClient.send(SenderClient.java:124)
at de.nrw.it.zdi.fitconnect.sender.service.FitconnectService.sendMessage(FitconnectService.java:204)
at de.nrw.it.zdi.fitconnect.sender.route.FitconnectCamelProcessor.process(FitconnectCamelProcessor.java:46)
at org.apache.camel.support.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:65)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:771)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:714)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:199)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.executeReactiveWork(DefaultReactiveExecutor.java:189)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.tryExecuteReactiveWork(DefaultReactiveExecutor.java:166)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.run(DefaultReactiveExecutor.java:59)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:163)
at org.apache.camel.impl.engine.CamelInternalProcessor.processNonTransacted(CamelInternalProcessor.java:347)
at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:323)
at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:82)
at org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:132)
at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:136)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:786)
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:743)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:333)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:270)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:250)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1257)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1247)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1140)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.IllegalArgumentException: Submission contains chunked attachments but destination does not support chunking. At least metadata version 1.3.0 is required.
at dev.fitko.fitconnect.client.util.validator.SubmissionValidator.destinationSupportsAttachmentChunking(SubmissionValidator.java:127)
at dev.fitko.fitconnect.client.sender.impl.SubmissionSender.attachPayloads(SubmissionSender.java:140)
at dev.fitko.fitconnect.client.sender.impl.SubmissionSender.send(SubmissionSender.java:78)
at dev.fitko.fitconnect.client.SenderClient.lambda$send$3(SenderClient.java:124)
Expected behavior:
Der Sender sollte vor der Übertragung prüfen, welche Funktionalitäten im Zustellpunkt als unterstützt eingetragen sind.
Environments:
noch nicht bekannt
Additional Information:
Dependency / relationship to other issues:
Responsible person / team:
Contact persons including contact details:
Screenshots / Logs / Requests:
Checklist:
-
Add Severity label -
Add team label -
Related/affected issues/stories/epics linked and explained in the bug issue -
Creation of an automated test -
Bugfix deployed on DEV -
Bugfix tested on DEV -
Bugfix deployed on TEST -
Bugfix tested on TEST (possibly also by the connection project itself) -
Successful fix reported to Team Operations (Teams channel) -
Bugfix deployed on STAGE -
Bugfix tested on STAGE if necessary -
Bugfix deployed on PROD -
Bugfix tested on PROD (possibly also by the connection project itself) -
Final communication by Team Operations if necessary -
Internal documentation was checked and updated if necessary -
External documentation has been checked and updated if necessary -
Updated changelog if necessary