this.counter = counter;
}
private void handleIncomingRequest() {
//Create message context for the incmong message
AbstractTransportListener trpListener = (AbstractTransportListener) cfgCtx.getAxisConfiguration().
getTransportIn(FIXConstants.TRANSPORT_NAME).getReceiver();
MessageContext msgCtx = trpListener.createMessageContext();
msgCtx.setProperty(Constants.OUT_TRANSPORT_INFO, new FIXOutTransportInfo(sessionID));
if (service != null) {
// Set the service for which the message is intended to
msgCtx.setAxisService(service);
// find the operation for the message, or default to one
Parameter operationParam = service.getParameter(BaseConstants.OPERATION_PARAM);
QName operationQName = (
operationParam != null ?
BaseUtils.getQNameFromString(operationParam.getValue()) :
BaseConstants.DEFAULT_OPERATION);
AxisOperation operation = service.getOperation(operationQName);
if (operation != null) {
msgCtx.setAxisOperation(operation);
msgCtx.setSoapAction("urn:" + operation.getName().getLocalPart());
}
}
String fixApplication = FIXConstants.FIX_INITIATOR;
if (acceptor) {
fixApplication = FIXConstants.FIX_ACCEPTOR;
}
else {
msgCtx.setProperty("synapse.isresponse", true);
}
try {
//Put the FIX message in a SOAPEnvelope
FIXUtils.getInstance().setSOAPEnvelope(message, counter, sessionID.toString(), msgCtx);
trpListener.handleIncomingMessage(
msgCtx,
FIXUtils.getTransportHeaders(service.getName(), fixApplication),
null,
FIXConstants.FIX_DEFAULT_CONTENT_TYPE
);