1 package org.codehaus.xfire.exchange;
2
3 import org.codehaus.xfire.service.OperationInfo;
4
5 /***
6 * A MessageExchange encapsulates the orchestration of a message
7 * exchange pattern. This makes it easy to handle various interactions -
8 * like robust in-out, robust in, in, out, WS-Addressing MEPs, etc.
9 *
10 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
11 */
12 public interface MessageExchange
13 {
14 void setOperation(OperationInfo operation);
15
16 OperationInfo getOperation();
17
18 InMessage getInMessage();
19 void setInMessage(InMessage inMessage);
20 boolean hasInMessage();
21
22 OutMessage getOutMessage();
23 void setOutMessage(OutMessage outMessage);
24 boolean hasOutMessage();
25
26 AbstractMessage getFaultMessage();
27 void setFaultMessage(AbstractMessage faultMessage);
28 boolean hasFaultMessage();
29
30 AbstractMessage getMessage(String type);
31 void setMessage(String type, AbstractMessage faultMessage);
32 boolean hasMessage(String type);
33 }