getInMessage In MessageExchange

Is there any reason that getInMessage shouldn't be defined in MessageExchange (instead of InOnly, InOptionalOut, InOut, RobustInOnly)?

If its possible that new exchange types (in next jbi spec maybe) might not have a in message, it seems like the spec should atleast define some constants associated with the getMessage(String name) such as JBIConstant.IN_MESSAGE to keep this method from being implementation specific.

[433 byte] By [c-baswella] at [2007-10-3 5:56:13]
# 1

MessageExchange is a generic representation of a message exchange between a service consumer and provider. The JBI spec requires support for the four In-* patterns, but a JBI implementation may support any number of patterns (including the four Out-* patterns defined in WSDL 2.0 Part 2). This support is provided via the createExchange(java.net.URI pattern) method on MessageExchangeFactory. So I think it would be inappropriate to include getInMessage() in MessageExchange, when some patterns (e.g. OutOnly) don't have an "In" message.

Your point re: constant definition of the "in" (and "out") message labels is well-taken.

KeithBaboa at 2007-7-15 0:37:25 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2

There is indeed a missing part of the specification, where "in", out" and "fault" (as labels for normalized messages in an exchange) are not explicitly defined. The intent of the expert group was that "in", "out", and "fault" are the official labels for messages in an exchange. This will be addressed in the next release of the specification. Meanwhile, we hope that component implementors will follow the examples of how {get, set}Message() are used that are in the specification.

RonTen-Hovea at 2007-7-15 0:37:25 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...