Skip to content

[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

Approach/Solution:

Release version of the artifact: