You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using the phase4-peppol-servlet project, I implemented a class that implements the IPhase4PeppolIncomingSBDHandlerSPI for forwarding incoming messages synchronously to a next hop. We do not want to have any storage or other 'complexity' that would require clustering like features since the backend already contains all that.
The issue now is that if this forwarding fails, we'd like the retrying etc to be in the PEPPOL network. Retrying, at least by Phase4, is only automatically done on HTTP errors or broken connections on the network level. When we enable
@Override
public boolean exceptionTranslatesToAS4Error() {
return true;
}
Exceptions thrown in this class result in signal messages with failures for which I cannot seem to find the right documentation (not too familiar with all the AS4/Peppol AP documentation ) regarding retry or not, but it is pmode related
To see what would happen when an error in the form of a Throwable ended up in the servlet engine, I made some changes in the throws and catch blocks and a throwable does result in a http 500 error then and a retry. Not sure what the best approach is or that I'm trying to go against specs.
Related to this attempt, ynfortunately the retry by the Phase4PeppolSender 10 seconds later resulted in a failure signal message from the server because of a duplicate being detected. Not completely true since it was not correctly processed but this might be caused by my quick changes and it can be disabled since we have duplicate detection in the backend that needs to be mapped back then to a correct signal message but that is my/our problem.
I also noticed (but I might be wrong) that the PMode[].ErrorHandling.Report.MissingReceiptNotifyProducer is not used or even implemented (Sender or Recipient 'MSH' side). It might not be needed (spec is somewhat confusing to me as a non-native English speaker) but and in relation to this EBMS0301 Missing Receipt isn't either.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Using the phase4-peppol-servlet project, I implemented a class that implements the
IPhase4PeppolIncomingSBDHandlerSPI
for forwarding incoming messages synchronously to a next hop. We do not want to have any storage or other 'complexity' that would require clustering like features since the backend already contains all that.The issue now is that if this forwarding fails, we'd like the retrying etc to be in the PEPPOL network. Retrying, at least by Phase4, is only automatically done on HTTP errors or broken connections on the network level. When we enable
Exceptions thrown in this class result in signal messages with failures for which I cannot seem to find the right documentation (not too familiar with all the AS4/Peppol AP documentation ) regarding retry or not, but it is pmode related
To see what would happen when an error in the form of a
Throwable
ended up in the servlet engine, I made some changes in the throws and catch blocks and a throwable does result in a http 500 error then and a retry. Not sure what the best approach is or that I'm trying to go against specs.Related to this attempt, ynfortunately the retry by the
Phase4PeppolSender
10 seconds later resulted in a failure signal message from the server because of a duplicate being detected. Not completely true since it was not correctly processed but this might be caused by my quick changes and it can be disabled since we have duplicate detection in the backend that needs to be mapped back then to a correct signal message but that is my/our problem.Edit:
Is Reliable Messaging and Non-Repudiation of Receipt related to this?
The EBMS0202, DeliveryFailure is not used anywhere
I also noticed (but I might be wrong) that the
PMode[].ErrorHandling.Report.MissingReceiptNotifyProducer
is not used or even implemented (Sender or Recipient 'MSH' side). It might not be needed (spec is somewhat confusing to me as a non-native English speaker) but and in relation to this EBMS0301 Missing Receipt isn't either.Beta Was this translation helpful? Give feedback.
All reactions