• Expertises

    Door middel van welke expertises we jouw organisatie ondersteunen

  • Hoe we met succes voor een scala aan klanten van betekenis zijn geweest

  • Meer over de overkoepelende thema’s waarbinnen onze dienstverlening valt

  • Over Virtual Sciences, onze werkwijze en wat we voor je kunnen betekenen

  • Nieuws, events en artikelen van Virtual Sciences

  • Nieuwsgierig geworden? Kom werken bij Virtual Sciences

SOAP Fault afhandeling met CXF

Dit is een TECHBLOG ontwikkelt dóór techneuten vóór techneuten. Het geeft je inzichten en concrete handvatten waarmee jezelf uit de voeten kan. Virtual Sciences is een integratie kennishuis met ruim 70 IT-professionals. Intern delen we onze IT-kennis, maar ook jou willen we inspireren.

7 juni 2021   |   Blog   |   Door: Virtual Sciences | Conclusion

Volg ons

In mijn vorige blog over hoe een SOAP Service aan te roepen in een Fuse/Camel integratie, gebruik makend van het CXF framework. Maar hoe moet je nu met SOAP Faults om gaan die kunnen worden teruggestuurd?

Het uitvoeren van een service kan resulteren in een fout. Er zijn verscheidene typen errors. De service aanroep kan fallen, bijvoorbeeld om dat de service down is of vanwege een netwerk probleem. Maar als de service aanroep is bedoeld om een order op te vragen, met een invalide identificatie, faalde de service dan? Ik denk eigenlijk van niet: de service deed zijn taak prima, het werkte naar behoren. Het niet kunnen vinden van een niet bestaande order is een prima antwoord.

Er zijn verscheidene manieren om een dergelijk antwoord aan de service consumer terug te geven.  De service zou kunnen antwoorden met een leeg respons-bericht. Of een bericht met een status code dat een “niet-gevonden” situatie aangeeft. In dergelijke gevallen definieert het service ontwerp een “niet-gevonden” situatie als een fatsoenlijke uitkomst. Een andere mogelijkheid is om te antwoorden met een SOAP Fault. De term Fault kan misleidend zijn. Je kunt de “niet-gevonden” situatie  als een exceptie definieren. Want hoe kwam de service consumer op deze specifieke invalide identificatie? Er was kennelijk een  functionele reden om te vragen om een order met dat id, dus de consumer heeft dat order id blijkbaar van een eerdere integratie.

Toch, als er wordt gevraagd om een order met een ID dat valide zou zijn, maar het resulteerde niet in een feitelijke order, dan deed de service zijn taak naar behoren. Een SOAP Fault is in dit geval een prima respons en betekent dus niet dat de service heeft gefaald. En daaom kan een SOAP Fault worden gebruikt voor zowel zogenaamde technische als functionele (business) excepties.

 

Voor mij is bovenstaand voorbeeld belangrijk, omdat het uitlegt waarom een  SOAP Fault response niet zal leiden tot een Exceptie in Camel. Het zal dus gecontroleerd moeten worden.

Lees meer over de uitwerking hiervan op ons Medium platform, geschreven dóór techneuten, vóór techneuten.

Business Done Differently Powered by Conclusion
© Conclusion 2021   |  De kleine lettertjes  |  Privacy
  • Expertises
© Conclusion 2021   |  De kleine lettertjes  |  Privacy