InOut
C'est modèle de service d'entrée qui doit rendre un réponse.
De plus, le composant qui invoque un service InOut se met à un état bloqué jusqu'à ce qu'il reçoive la réponse attendue. Il continue tout de même à recevoir les messages, mais leur traitement est bloqué jusqu'à finisalisation du InOut.
CDMLs
Un composant qui offre un service InOut doit le modéliser dans son CDML comme ceci :
<inout name="getLabel" method="getLabel" output="respGetLabel" outputArg="label"> <!-- standard attributes for getLabel, but only one argument for the response --> </inout>
Un composant qui invoque un service InOut doit modéliser dans son CDML avec un Input pour la réponse, et un Output pour l'invocation du InOut distant.
<output name="getLabel" method="getLabel"> <!-- same attributes as the InOut --> </output> <input name="respGetLabel" method="respGetLabel"> <attribute name="label" javatype="java.lang.String" /> </input>