}
protected void handleRequestMessage(CorbaMessage message,
CorbaDestination destination)
throws Exception {
OperationType opType = null;
orb = (org.omg.CORBA.ORB) message.get(CorbaConstants.ORB);
if (corbaStaxObject != null) {
corbaStaxObject.setOrb(orb);
} else {
corbaStaxObject = new CorbaStaxObject(orb);
}
if (message.getStreamableException() != null) {
Endpoint ep = message.getExchange().get(Endpoint.class);
message.getInterceptorChain().abort();
if (ep.getInFaultObserver() != null) {
ep.getInFaultObserver().onMessage(message);
return;
}
}
EventDataReader reader;
reader = (EventDataReader) ContextUtils.getDataReader(message);
BindingInfo bInfo = destination.getBindingInfo();
InterfaceInfo info = bInfo.getInterface();
Exchange exchange = message.getExchange();
BindingOperationInfo bopInfo = exchange.get(BindingOperationInfo.class);
// Handle the parameters that are given for the operation
List<ParamType> paramTypes = null;
ArgType argType = null;
if (opType != null) {
paramTypes = opType.getParam();
argType = opType.getReturn();
}
CorbaMessage outMessage = (CorbaMessage)exchange.getOutMessage();
opType = bopInfo.getExtensor(OperationType.class);