String listenerTransportProtocol = options.getTransportInProtocol();
TransportInDescription transportIn = null;
if (options.isUseSeparateListener()) {
if ((listenerTransportProtocol != null) && !"".equals(listenerTransportProtocol)) {
transportIn = ac.getTransportIn(new QName(listenerTransportProtocol));
ListenerManager listenerManager =
msgCtxt.getConfigurationContext().getListenerManager();
if (transportIn == null) {
// TODO : User should not be mandated to give an IN transport. If it is not given, we should
// ask from the ListenerManager to give any available transport for this client.
throw new AxisFault(Messages.getMessage("unknownTransport",
listenerTransportProtocol));
}
if (!listenerManager.isListenerRunning(transportIn.getName().getLocalPart())) {
listenerManager.addListener(transportIn, false);
}
}
if (msgCtxt.getAxisService() != null) {
AxisService service = msgCtxt.getAxisService();
Iterator itr = service.getEngagedModules().iterator();